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.
No ALT.NET members were harmed in the writing of this post.