An Open Letter to the ALT.NET Community

Writing

It seems as if everyone in .net land has chimed in on the whole Entity Framework “Vote Of No Confidence” petition recently, and up until now I have mostly stayed on the sidelines. As with any seemingly risky move, I was quite torn on the issue. And to a certain extent, I still am.

Let me first start off by saying that I think the ALT.NET community is a wonderful thing, and its efforts to enlighten Microsoft programmers to worlds and tools that aren’t found on the Microsoft.com domain is quite laudable. I think that all of you are quite passionate about your craft and you truly seek only to enlighten others with the knowledge that you have gained from your own experiences. I consider myself to be a part of this community, because I honestly do feel like there is way too much of the “no one ever got fired for buying IBM” mentality in the Microsoft space. We, as a community, need expert guidance from individuals who are out there living these technologies and practices on a daily basis. A lot of us (myself included) don’t have the luxury of working at a company that has total buy-in on TDD, BDD, DDD, Scrum, Lean, etc… Not all of us live in Florence Austin. Some of us have to settle for working at companies that have one foot in the pond, and we have to fight day to day to try and reach out in order to create an environment where other people will start to adopt some of our ideas. In this way, we can progress the quality of software in our own little corner of the world…and we desperately need guidance.

The problem is that I think that the message (and goal) is starting to get lost, or at least fuzzy. I look all over the blogosphere and read all the posts about the EF petition and it really makes me sad. I feel like I am in a microcosm of the U.S. presidential elections, and people have staked their claims on either side. No one is truly listening to each other, everyone is saying either “You are doing it wrong!” or “Why do you have to tell me I am developing wrong?”. Some posts, like Steven Harman’s, is calling out for everyone to go and sign the petition, while others, like Josh Holmes‘, are calling this the nuclear option.

You see comments in some of these posts like “In the midst of the discussion many valid criticisms have been drown out or lost in the noise of the cheerleading, trolling, and marketecture generated by community Gloryhounds, Redmond, and any number of other super-pro-Microsoft groups/identities.” Does this jibe with the alt.net mission statement “We are a self-organizing, ad-hoc community of developers bound by a desire to improve ourselves, challenge assumptions, and help each other pursue excellence in the practice of software development“? Is calling people “Gloryhounds” and “cheerleaders” helping anyone to pursue excellence in the practice of software development? And yes, there is a lot of “Gloryhounding” going on. It will always go on as long as there is money to be made, but does it help anyone to start throwing around terms like that?

Now, I don’t want to call Steven out on any of this, I know that he is simply a passionate software developer who cares deeply about the cause that he is espousing. And in fact, I don’t really see any issues that the Entity Framework petition mentions that I disagree with. I feel that most of the points made in the petition are valid, or at least valid within a particular situation. The problem that I have is that within the context of the argument so far, it is hard to take the petition at face value. There has been a few loud people in the alt.net community that have attacked people who are pushing (or even just educating people about) the Entity framework.

Here is a quote that Scott Bellware put on Julie Lerman’s blog (who has been the recipient of many of these criticisms) when she made a post about how the EF vote of no confidence pointed out problems that they had with their particular development style and then stated “but I just don’t have the same needs as those that are listed in the petition”.

“I didn’t have those needs either, until I learned about how productive I could be over and above what I used to do. From this perspective, after having made a transition to a different perspective, did I see that I always had had those needs, but I just didn’t have the perspective that allowed me to see them.”

That is wonderful for him, but I think that pretty much sums it up. “You don’t think you need this, but you just aren’t as experienced as I am, so you don’t get it.” I’m not sure a lot of people understand that this is the attitude that is turning many people off to the ALT.NET movement. The idea that somehow these people have found the “one true way”® to do software development, and everyone else just clearly hasn’t come around yet. Let me just say that no matter how you are developing software, you are wrong. Your methods, practices, patterns, etc… are all wrong. You will never get it right, you will try, and try again, to get it right; but you will always find a better way. You will not find a better way by telling other people that their way sucks, you will only find a better way by trying and experimenting and sharing.

And this is why I am saddened. Not because of the Entity Framework petition, not because of the bashing and name calling, but because I can already start to see the walls going up on either side. Sure, the Entity Framework team responded quickly with word that they were going to meet all of the demands in the petition for the next release. And that is great, but do you think they responded that fast because of the petition? No, of course they didn’t, they had already heard the feedback. In fact, this post on the Entity Framework Design Blog, was made at 4:12 PM PST on the 23rd, which oddly enough was about 20 minutes before (by look at the e-mail headers) the original post was made to Yahoo group’s.

The ALT.NET movement is currently our only good hope for a more open Microsoft ecosystem, and the progress that has been made up to this point has been amazing. There probably wouldn’t even be an asp.net MVC framework coming if it wasn’t for the ALT.NET community pushing the envelope so hard with MonoRail. There certainly wouldn’t be anywhere near as much excellent information, open discussion, and wonderful projects coming out of the community without ALT.NET. Who would have imagined a few years ago that Microsoft would release the source for the .net framework, or start creating open source projects itself on Codeplex? So keep up the good work ALT.NET community, but if I had to offer any unsolicited advice, it would be to stick with the teaching and stop with the preaching.

Disclaimer:

No ALT.NET members were harmed in the writing of this post.

Loved the article? Hated it? Didn’t even read it?

We’d love to hear from you.

Reach Out

Comments (23)

  1. Excellent post. I fully agree. I didn’t sign the petition though, simply because I found the letter contain a lot of nonsense, and at the same time forgot to mention disadvantages of the EF which are huge and simple to communicate.

    Example: try to create a model with 100+ entities, or use AdventureWorks (90 entities or so), then try to maintain THAT, in a single model.

    Everyone can see that such a huge model with all the entities graphically displayed and everything generated into one huge file isn’t going to work with projects which are far bigger than that. That’s easy to communicate (1 simple image), than putting a list of claims in a letter without references to proof that you’re right.

    Missed chance. It surprised me that MS even responded btw. Last time a petition was brought up (the VB6 petition if I remember clearly) it wasn’t a good ending for the petition owners.

  2. @Frans Yep, I agree, I think the point had already been made over and over. I think Microsoft had listened, and I think that their reaction was simply something that had already been planned. I find it hard to believe that Microsoft could respond so quickly to something if the plan had not been laid out ahead of time.

    I also think that the vb6 petition is not even remotely comparable. Microsoft had already stated that the language was dead, and Microsoft was not listening to anyone on the issue. These people felt like they had no other option, and so they formed the petition. In my opinion, that is when a petition like that should be formed, when you have exhausted all of your options, and no one is listening.

  3. Well said.

    I disagree slightly about ALT.NET being our savior, in terms of openness from MS. I think that’s a product of ScottGu’s division being awesome.

    I think MVC is more of a response to Rails than Monorail. Having things like NHibernate and Monorail out there are obviously a huge boon to us, but I’m not sure how much motivation they really lend to the mothership.

    Or, I could be completely wrong.

  4. I completely agree that the Alt.net community is nor our savior! But the fact that there exists such a large group of knowledgable and influential people who are working hard to promote these kinds of tools has certainly lead to their rapid adoption. In my mind this is why Microsoft has responded with their own tools, they see a need.
    ScottGu and the devdiv have listened to the community, but if it wasn’t for the community creating these tools I dont think Microsoft would have. But maybe I am wrong as well! 🙂

  5. Isn’t it possible, though, that there are high profile members of the .NET community (or any community for that matter) who have made careers out of maintaining status quo and standing in the way (even if accidentally) of progress? Isn’t it the responsibility of people in the know to try to work with these people and to try to encourage them to help progress or at least stand aside?

    And if these people choose not to progress and not to stand aside but instead to try to FUD and make dishonest, personally insulting arguments about why progress shouldn’t happen, don’t we have a responsibility to call out their disservice to the community?

    Also, isn’t it entirely possible that Bellware is actually (even if partially) right and he’s not being arrogant? Perhaps he’s trying to explain that "going along to get along" isn’t necessarily the best plan for advancing the state of the art and moving the progress and success of software development projects as a whole to the next level.

    Perhaps he’s trying to explain that, while sawing at trees with dull saws may be entirely effective, it’s not very efficient and that we have newer saws and newer ways of sharpening them that have allowed developers to deliver higher quality software, faster, and with a higher degree of customer satisfaction overall?

    I think the reason that some ALT.NET people get so frustrated and angry is because we’re dealing with REALLY smart people who for some reason a REALLY resistant to even CONSIDERING alternatives. Most, if not all the ALT.NET people I know have had at least 5 years experience doing things the old/current way and so can see the difference. From Julie’s own admission, she hasn’t really even played with NHibernate, let alone had any significant work experience with it.

    So tell me, where is the disorder and dysfunction? Someone who has experienced both and found one better, or someone who has done it one way and dismisses the other way and accuses their counterparts of being ‘dogmatic’?

  6. Excellent clarity in your writing.

    What strikes me about the tenor of the current EF debate is it’s ferocity tinged with a smug sense of technological rectitude.

    A product like EF has the perfect components to engender spirited debate. There are two key elements to the conflagration: the topic and the participants.

    The topic, ORM and it’s proper implementation, has long been considered a quagmire. See Ted Neward’s <a href="http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx"&gt; Vietnam of Computer Science </a>. A debate on ORM can free animus from both Biz and Data camps as well as detailed diatribes on the nature and use of "Separation of Concerns" –a concept which is approaching near shibboleth status.

    Finally the participants:

    I feel our community is becoming far too interested in [i]purity[/i] and "outing" those individuals who fall short of this contrived standard. Statements of consent, public petitions, creating categories of miscreants like Gloryhounds…the whole cycle calls to mind Erasmus’ Praise of Folly.

    An aversion to marketing is not what separates software engineers from other actors in the private sector. It is our background in maths, our adherence to the quality of the questions and the soundness of the answers that qualifies us as engineers.

    As such any debate on a technological product should be as dispassionate and free from personal slights as possible.

  7. @Chad Let me first say that I love your blog, and I think you are excellent asset to the community. Okay, now that we have this out of the way, I’m gonna get rude. Just kidding. Let me start this:

    Yes, I agree that it is possible that there are high profile members of the .net community who have made careers out of keeping the status quo. In fact, I would say that this is a certainty. Wherever there is money to be made, there are people willing to make it. What cannot be assumed though is these people’s intentions. (You did not in your comment, but many others have.) However, in your comment I do see a tinge of "they are wrong", "we are right." Saying that "they should step aside" implies that you know what is best, and that since they are not listening to you, then they are clearly in the wrong.

    Now, when you say that they start to spread FUD and make dishonest, personally insulting arguments about why progress shouldn’t happen, then yes, that is [b]completely[/b] wrong. But let us not forget that other high profile members of the ALT.NET community have started referring to these people as "Gloryhounds" and "shills". If you livelihood was attacked, would you not lash out?

    And yes, you have *EVERY* right to call these people out. But do you have the right to throw the EF team in the middle of it?

    And, yes, it is *possible* that Bellware is right, maybe even likely, but he doesn’t write Julie Lerman’s software. He is not in a position to make that call. And "going along to get along" is not good either, but this was not happening before the petition. The entity team heard the feedback, they had already said they had many plans for v2, but some of these people wanted it fixed then and now. They wanted Microsoft to dump their whole framework because it didn’t sync with their vision of writing software…does that sound likely?

    As far as using dull saws, well, again I don’t disagree with you. I think that the ALT.NET community has uncovered some astounding ways in order to increase developer productivity and has created some wonderful tools to go along with it. But because some people don’t see things eye to eye doesn’t make them wrong. If you started preaching your DDD ideas to someone who was writing embedded software for the Mars rover they would probably laugh in your face. I know that is not a completely apt analogy, but what I am trying to say is that what works for some does not work for all.

    And yes, there are many people in the ALT.NET community that are frustrated. And they should keep teaching, blogging, and fighting to make things better. There are *lots* of people in the MS community that won’t consider alternatives unless they are stamped with a big Microsoft logo, and that is a genuine problem. But you aren’t going to get people to listen to you by spitting in their faces, calling them names, and telling them that they are wrong. And that goes for both sides. The problem is that when one side acts and the other side responds, both sides stop listening.

    And back to the "Going along to get along statement"… Respect and courtesy are free. Sure, if you have someone who just won’t let up and the only thing you can do to get them to listen is to start a fight…then start a fight, as long as the fight is worth it. But to me, what was happening with the EF wasn’t going down this road. It seemed that everything I heard come from the team is that there was many changes they wish that they could make, but they just didn’t have the time to do so.

    So, I just want to say that I think that you and I are not on opposite sides of the fence on the core issues here. And I don’t think that the fight here is about the EF. I think it is a much deeper fight between what has been referred to as mainstream.net and the ALT.NET groups and what road they each are going to take. The problem is that if we aren’t careful how we approach the task of communication, the two groups will only grow wider apart than they already are.

  8. @Jeremiah Thanks! I agree with you that ORM is a hot topic right now, and likely to engender debate.
    I certainly feel similar to you from the second part of your comment. There is definitely way too much effort wasted categorizing people within the community, and trying to figure out the best way to convert people. If your message is strong, then people will come to you by virtue of your message, not by force.
    I’m not sure I agree that we should be dispassionate when talking about technologies. I for one can find myself very fervent and passionate sometimes about something that I truly believe in, but at the same time I have to respect the fact that there are others who are going to believe just as fervently in the exact opposite.

  9. @Justin:

    Just for clarity: Who is slamming the EF team? I know they have received some criticism for not having been as open early on and not taking the advice of some of the now-ALT.NET people more seriously, but I don’t see a lot of people slamming the EF team.

    "If you livelihood was attacked, would you not lash out?"

    NO! I have had this situation and I did not. The lesson I learned? Do not ALLOW yourself to be put in that situation ever. Do not allow yourself to get comfortable making money on things that do not involve furthering the state of the art and contributing back to the community.

    RE: Mars Rover: Obviously. For reference, MDA, EF, and, heck, even ADO.NET wouldn’t work on their either. In fact, .NET as a whole wouldn’t, so that argument doesn’t quite work 🙂

    But for all real (i.e. non-utility/throw-away) applications that I’ve seen where a database is appropriate, DDD is also appropriate.

    RE: Mainstream vs. ALT.NET: I think that the struggle is in the leadership and learning center/focus. The more and more ALT.NET folks try to raise awareness of certain best/better practices (and yes, I specifically call them best/better and not arrogantly, but matter-of-factly), the more and more it seems the old-guard leadership react negatively and defensively. Several have stepped up and chosen to give it a shot and work through all the issues and see what’s going on. One example of someone whom I really respect is Rod Paddock of CoDe Magazine fame. He argued vociferously at the first ALT.NET conference and was somewhat dismissive of some of the stuff we talked about — but he always stayed and listened and argued and respected everyone. Now he’s been trying things more and more and he’s found a few of the things we said were true and he probably disagrees with a few others, but the point is: He listened, tried, and in all cases benefited even if he was right in the end.

    To contrast, several other leaders have been dismissive, arrogant, condescending, and sometimes worse. This is unacceptable and we have a duty to call these people out and not let them put their own interests, however well intentioned, ahead of the goal of progress and furthering the state of the art and practice.

  10. @Chad I consider the "Vote of no confidence" to be slamming the EF team. To have a team work that long and hard on a product only to have people say that it is "harmful" to use, yeah, I would call that a slam.

    If you had your livelihood attacked and didn’t lash out, then you a better person than many. I applaud you for that. I’m not sure I could do the same.

    Yes, my Mars rover argument wasn’t great (in fact was pretty crappy), but I also don’t agree that any application involving a DB should use DDD.

    I agree that mainstream.net needs to listen to alt.net a lot more. They have a lot to learn. The problem seems to be that I also think the reverse is true. A lot people in the alt.net community think they have nothing to learn (from the mainstream.net community).

    And I agree that being "dismissive, arrogant, condescending, and sometimes worse" is just plainly wrong. And so your argument should be with these people. But if you keep it civilized, and they go off the deep end, who comes out ahead. On the other hand, if you start throwing insults back and forth it will only get worse.

    On the other hand, I feel like you and I are having a civilized conversation right now. We don’t agree, but I see your side, and I think you make a lot of good points. If I had started this off by saying that I thought you were just a dogmatic alt.net shill, then things would have deteriorated rapidly. (And obviously I’m using that as an example, I clearly don’t think that)

  11. RE: Slam: Ok, I see your point. Keep in mind that many attempts were made to reach and work with the EF team leadership to address these concerns and they were originally largely ignored. This letter didn’t come out of nowhere, it was a last ditch effort to warn the community about a potential harm that was about to be unleashed upon it (not necessarily by MSFT, but by the horde of speakers, book writers, and such that would take EF and ignore the compromises/trade-offs the EF team made during its development [thus losing the context of the arguments] and tout it as a best practice without any questions or caveats).

    RE: Livelihood: I’m not better than anyone. Most of the people I know (and I’m assuming you, too) don’t define ourselves by our specific technology. We define ourselves as developers. I guess I’d get a little touchy if someone said that we no longer need programmers/developers. But some of people I was referring to have allowed themselves to be defined by specific technologies and they appear to have a vested interest in preserving those technologies even when better ones come along in the future.

    RE: Insults: I’m not insulting them, I’m calling them to the carpet to account for what they’ve already said. I’m calling on them to put their time and money where their mouth is and learn these technologies before summarily dismissing us. I feel that we have done the research and have the experience to reasonably say that Tech B is better than Tech A in almost every circumstance.

    On the contrary, I haven’t seen any adequate evidence that they have done diddly-squat to do any research or gain any experience about Tech B. Therefore, any dismissive attitude about about Tech B should be the cause for great concern in the community.

    Why is this community leader dismissing Tech B out-of-hand when they have said themselves they haven’t used it? Why should I take this person seriously when they have no experience with Tech B in order to make the proper judgment call about Tech B?

  12. @Chad The first item is what I think we greatly differ on. Why is it the ALT.NET communities job to "warn" people about the Entity framework? Shouldn’t the ALT.NET community just teach people about alternatives, and give reasons why if you are doing DDD that you probably wouldn’t want to pick the EF? Instead, the ALT.NET leadership decides they are going to release a petition warning people about the EF. The ALT.NET community has problems with many MS products and projects.

    And, just so I can be clear on this, is it your opinion that the EF has absolutely no uses due to the flaws that were outlined in the petition? I’m not trying to get you to step in a trap or anything with that question, I just think this might be another fundamental disagreement.

    Also, I am starting to see why people got worried when the ALT.NET movement gave itself this moniker. People were worrying that it was too negative and that the ALT.NET community was a negative force. But the responses to these claims were essentially that the ALT.NET community was about being a better developer, and finding better ways to do things. But now the ALT.NET community has decided that instead of pushing certain tools, they now need to warn against other tools. I think there is a subtle but powerful distinction there.

    And as far as the people who are the "gloryhounds", well, I don’t really know what to tell you about them. Get on your blog, call them out, do what you have to. But when the ALT.NET community gets together and formally says "This technology is bad, don’t use it" I think that they have now changed their credo.

    I also completely agree that you should not take a person seriously who is railing against Tech B and has not used Tech B. But I never said, or even inferred, that this was not the case. I am all about taking people to account, but what has been done here is not taking people to account.

  13. 1.) I don’t think the EF letter has anything to do with ALT.NET other than there are quite a few of the original ALT.NET folks who are signatories. The EF letter says nothing about ALT.NET and there is no connection other than the overlap of signatories. But there are also a bunch of signatories who are not affiliated with ALT.NET from what I can see.

    2.) As leaders, I believe it’s their responsibility to always drive towards best practices and attempt to remove waste and enhance the state of the art. When there are people doing active things which either contribute to stagnation or set things back a little, the leaders should point these things out, attempt to work with said people and try to prevent these things from happening. They did this, the EF team responded professionally and have invited various leaders to come and work with them. The end result was very positive and I think everyone EF Team, EF signatories, and the greater community will benefit as a whole for it.

    3.) ‘EF has absolutely no uses’ – I never said, I don’t know anyone who has. If you’re (I use ‘you’ generically here) already totally bought into the MDA stuff, EF will probably help you and it might start to warm you up to the idea of ORM and, hopefully, it might encourage you to look at some of the real ORM’s out there (where ‘real’ means EF features + Lazy Loading + PI and a few other things).

    I’m disappointed that the rest of the world has had very capable ORMs for 5+ years and when MSFT finally gets around to doing one, they basically ignore what everyone else is doing and start from Square 1 and recreate all the problems that other ORMs solved 3-4 years ago. I see lots of waste overall in the state of software development. NIH creates huge waste and ignoring the lessons learned by developers in other communities creates waste also.

    4.) RE: ALT.NET changing their credo: Again, this isn’t really ALT.NET. ALT.NET is a separate — but perhaps overlapping — concern here. These leaders felt very strongly that this situation was unacceptable. They tried to work with the EF team and no progress was made. This was their last and only resort.

    There’s an interesting point to note here: Note how when this happened and it went public, the EF team suddenly got very serious.

    I believe that the EF team were listening to the NHibernate Mafia and were genuinely interested in trying to include PI and implicit Lazy Loading, etc but for whatever political reasons within Microsoft, they weren’t able to.

    When the political climate changed (due to the press picking up the letter), it gave the impetus for the EF team to finally start working on these things — they suddenly became a priority for management.

    Microsoft is a big organization with lots of smart people as well as lots of not-so-smart managers and mid-level people who, just as in every large organization, contribute to waste and inefficiency.

    As with the government (another large organization), sometimes you just have to raise a red flag and get a petition going and embarrass them in the media to get the red-tape out of the way so that the smart people/producers within that organization can do their job.

    I’ve seen similar situations with other teams. Really smart people trying to do the right thing, thwarted by mid-level management.

    Having an antagonists from outside the organization lobbing political stones into the fort can sometimes spurn real change and reduce artificially support waste.

  14. 1) I think there is a strong feeling out there that these are related, and I don’t think anyone is doing anything to dispel that myth.

    2) Yes, they did respond professionally, and I hope it is the case that things move forward in a positive light. If, on the other hand, the EF team finds that certain things are not possible to change, or they don’t feel the same way as the EF petition writers about certain issues, then I can only imagine the result of that.

    3) I definitely agree with this point. NIH helps no one.

    4) I just don’t get why you think it was the last ditch effort. Look at this post on Daniel Simmons’ blog from weeks ago (http://blogs.msdn.com/dsimmons/archive/2008/06/03/dp-advisory-council.aspx) To me, it just seems like they have heard the feedback, and they were already committed to major changes in v2. The problem is that this will likely be years down the road. The response from Microsoft on the new openness of the design (and design blog) was also so fast, that I have a hard time believing that it was in response to the EF petition (instead of just being expedited by it). If Microsoft put all of this together in just a few hours, then I am awed by their response speed.

  15. [quote]To contrast, several other leaders have been dismissive, arrogant, condescending, and sometimes worse. This is unacceptable and we have a duty to call these people out and not let them put their own interests, however well intentioned, ahead of the goal of progress and furthering the state of the art and practice.[/quote]

    And to my point of view (and I’m assuming several other’s as well, based on posts like this), a good number of the ALT.NET crowd have been "dismissive, arrogant, condescending, and sometimes worse". This is unacceptable and "we have a duty to call these people out and not let them put their own interests, however well intentioned, ahead of the goal of progress and furthering the state of the art and practice".

    With the shoe on the other foot, maybe the ALT.NET crowd will start to behave more professionally? Or maybe not. People are people.

    Argue the technical aspects. If the non-technical aspects are egregious, point them out as politely as possible. Don’t mix the two. And don’t confuse issues with individuals with issues with the group/company. It’s rude and unproductive.

  16. @wekempf: Like you said, there will always be people who behave unprofessionally, but I think that ALT.NET formed because technical arguments were not having an effect and that there were many ‘leaders’ in the .NET space ignoring what was going on around them and basically holding everyone back. ALT.NET rose to raise more awareness of these technical problems and it was pretty much met with derision, name-calling, accusations of dogmatic (which is particularly ironic given the stodgy dogmatism and stalwart ignorance of outside technologies so pervasive in the .NET community leadership today). For example, most people in .NET have only heard about NHibernate due to ALT.NET. They probably wouldn’t have heard about it otherwise.

    So the point is: ALT.NET is all about technical arguments and trying to combat the non-sequitor arguments of those who wish to lob accusations rather than trying to seek real learning and progress.

  17. @Chad Myers: I fully understand the purpose of ALT.NET. That doesn’t change the fact that ALT.NET is coming very close to becoming exactly what they were trying to combat. The discussion is shutting down, due to the unprofessional personal snipes. Live up to the ALT.NET charter, and cut that crap out.

  18. Maybe the EF is not the for ALT.NET people. Maybe NHibernate is a better tool for them and they should just stick with it. Yes, the EF has some flaws; but so is everything else. I’m not sure what all the fuss is about for a version 1 release.

  19. @Chad – I think your responses show exactly why many developers shy away from the ALT.NET crowd. Instead of being teachers and showing by example, this group has instead turned into the Software Police. Every lesson is a lecture.

    As an example – @Justin titles his post as "An Open Letter" while the post to the EF team is a "Vote of No Confidence". Which one sounds more constructive?

  20. "Not all of us live in Florence Austin"
    Epic. You, my friend, rock for that statement alone…

    @Frans: >>>or use AdventureWorks (90 entities or so), then try to maintain THAT, in a single model.<<<

    Perfectly stated.

    >>>in terms of openness from MS. I think that’s a product of ScottGu’s division being awesome<<<

    Honestly, it’s really just ScottGu. The man is a freak.

    >>>I’m not sure how much motivation they really lend to the mothership. <<<

    Seriously – MVC is just ScottGu geeking out on a plane, thinking "you know, we can do this too". There is no Master Plan.

    >>>Isn’t it possible, though, that there are high profile members of the .NET community (or any community for that matter) who have made careers out of maintaining status quo and standing in the way (even if accidentally) of progress?<<<

    If a statement is valid, it’s opposite is valid. Which would be "isn’t it true that high profile members of the .NET Community… have made careers out of disrupting the status quo"? Just something to think on…

    >>>instead to try to FUD and make dishonest, personally insulting arguments about why progress shouldn’t happen<<<

    Chad – seriously? This statement is FUD yes?

    >>>we’re dealing with REALLY smart people who for some reason a REALLY resistant to even CONSIDERING alternatives<<<

    What I’ve learned is to ASK, not ASSUME, people’s motives. Your assumption, simply put, is that "for some reason" == "progress shouldn’t happen". This is an argument you and I have had in the past – you’re not asking any questions; you’re assuming their motive.

    >>>RE: Insults: I’m not insulting them,<<<
    Chad this is the problem with the passion in .NET: It drives you to say nasty things than suggest you "didn’t mean it" or you "didn’t say that". I’ve read so many nasty comments like "intellectually bankrupt", "Microsoft Shill", "FUD and spreading dishonesty" that it strikes me sideways when you back off your statements.

    >>>I don’t think the EF letter has anything to do with ALT.NET <<<

    Oh Please.

    >>>I see lots of waste overall in the state of software development.<<<

    Big Company. Lots of Projects happening at once. This is not a valid critique.

    >>>Again, this isn’t really ALT.NET<<<

    I find this to be … strange. What is it you’re saying here Chad? To be honest I find this hedge to be strange.

    >>>you just have to raise a red flag and get a petition going and embarrass them<<<

    Really?

    >>>Having an antagonists from outside the organization lobbing political stones into the fort can sometimes spurn real change<<<

    It can also make you look like you’re just a stone-thrower.

    >>>ALT.NET formed because technical arguments were not having an effect and that there were many ‘leaders’ in the .NET space ignoring what was going on around them and basically holding everyone back.<<<

    Amazingly condescending. I mean seriously. Chad work on the message please.

  21. @Justin – very well written post and some great comments from everyone that get to the core of the issues. This sort of open debate, and well articulated differences of opinion, are what make today’s IT industry such a vibrant and interesting world to be part of.

  22. Your logic is good, Justin. I appreciate your candor. We recently built a large-scale .NET application at SnagAJob.com using Spring.NET, NHibernate and log4net. It also uses Microsoft’s Enterprise Library in places. At ALT goes, what we built was massively alternate if you consider the average .NET architecture these days. It’s not the one true way though. It just works pretty well the way we built it for what we need.

    As Clay Shirky points out in his latest book, "There is no such thing as a generically good tool; there are only good tools for particular jobs." I think this is where a lot of people get hung up, unfortunately. And it happens across industries. A carpenter looking into his bag of trusted tools isn’t going to reject the correct tool because it has a certain brand name written on it. But he may not trust a tool well enough to put it into his bag to begin with because of its brand name.

    The Microsoft developer crowd seems to be a bit more xenophobic but I’m not sure that’s so true. It’s just as hard to get the Linux/Java crown to consider something great that Microsoft does, in my opinion. I think it’s more a question of entropy. Many Microsoft developers know that there is strange energy in the system in the form of Inversion of Control containers, interceptor and observer patterns, Aspect-Oriented Programming, etc. It’s just that the energy is largely unusable to them because it doesn’t fit the other patterns that the platform has established for them.

    The simpler goals of ALT.NET are laudable, indeed. There is so much to learn across the computing spectrum. However, some of the the ALT.NET dispatches bury the needle on my trusty Röntgen-ometer with the way in which they approach the problem of educating the larger Microsoft community. Let’s all take a deep breath and relax. Education starts with a promise, is enabled by tools and ultimately helps to create a bargain that we can’t resist. That should be the flavor of ALT.NET.

    Personally, I didn’t read much into the Vote of No Confidence that was bad. It was written in manifesto style which always incites some anger and backlash. A few simple word changes could have made that document so much more palatable by Microsoft (and people like me). Heck, if it were written in a loving (yeah, that’s the right word) way, I might even have signed it. But the nasty stuff that flew around in the blogosphere just after the petition appeared convinced me that the hint of malfeasance I sensed in the wording of the document did not belie what I suspected was in the hearts of some of the people who signed it.

    Personally, I hope that the EF, Hibernate, EntitySpaces and a host of other similar tools all continue to grow stronger in the marketplace. And I hope that they grow apart from one another in the features they support so that there are plenty of choices in the marketplace. That’s a win to me.

  23. @Kevin I couldn’t agree more. It is the choice in tools that makes a platform flexible and powerful. As far as Microsoft versus Java xenophobia, do you think it is much of a problem across the camp as it is within the camps?

    In the Java world many people have accepted architectures that heavily use tools which were not created by Sun. In the Microsoft world we are getting there, but in my opinion we are not there yet. I think that this has more to do with the fact that Microsoft has provided, rather than any fear of new tools. I think that if people had an idea (and proof) that there is a better non-MS tool out there, then they would use it. But it better be *significantly* better, otherwise they will stay with what they trust.

    And I completely agree with your statements about the wording of the EF vote of no confidence. You could tell it was politely worded, but there was a certain hint of vitriol in the way it was worded. That combined with some of the ALT.NET voices just made it feel wrong.

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

More Insights

View All