Given the fractured state of the ALT.NET movement, some are calling for a set of "commandments" that set down once and for all what ALT.NET is all about. Is that really such a good idea?
I was intrigued by this recent blog post by Nick Berardi over at CoderJournal. Nick is a smart guy whom I admire, and in this post he brings up a lot of things about the current state of ALT.NET that needed to be said. I, for one, reply "Bravo!" I also, quite frankly, congratulate him for having the stones to do it. Voicing a strong opinion about anything (even remotely) related to ALT.NET is a good way to catch your share of flack, as I'm sure Nick knows full well.
Nick points up some of the pitfalls the ALT.NET community seems to have fallen into, and offers some really good suggestions for improving things going forward. Most of what he's advocating is simple common sense. Stop fighting over competing paradigms. Cut out the religious zealotry. Encourage good software engineering. Or, to sum it up in a few short words, Just Be Cool. I certainly can't argue with any of that.
But at the very end, his otherwise well-reasoned argument takes a bit of an odd turn. This, I have to say, is kinda where he lost me.
ALT.NET needs a hero, and that hero just needs to set down some commandments that all other ALT.NET conversations are governed by... I am willing to work with anybody who wants to form a working group to explore the creation of these ALT.NET Commandments.
I'm not so sure I'm down with that.
What I glean from this that Nick is suggesting that ALT.NET, metaphorically speaking, needs a set of chiseled stone tablets that will lead us out of the desert to the Promised Land. That we need a "hero" -- presumably someone smarter than the rest of us -- to tell us what's okay and what's not.
This, to me, seems antithetical to the entire spirit -- and original intent -- of ALT.NET. ALT.NET is not (and should not be) a framework, an architecture, or even a set of "best practices" -- and certainly not a kingdom. ALT.NET is, above all else, a marketplace of ideas. Like any marketplace, it's noisy and chaotic and kind of smelly -- which, of course, is part of its charm. It is meant to be participative and energetic, and thus by its very nature, it attracts the most enthusiastic, the most passionate -- and yes, the most opinionated -- developers in the field.
And like any marketplace, the best stuff thrives, and the no-so-good stuff falls by the wayside. It does appear sometimes that the ALT.NET community is eager (some would say too eager) to jump on The Next Big Thing. Last week, it was Mock Objects. This week, it's Fluent APIs. Next week, it will be something else. And naturally, that frustrates some people. But part of the spirit of ALT.NET is throwing stuff against the wall and finding out what sticks. New ideas will always be introduced to the fray, and forced to compete in the crucible of the intellectual market. Some will survive. Some will die. And that is exactly as it should be.
ALT.NET doesn't need a Leader, or a Hero, or a set of Commandments handed down from on high. What ALT.NET does need are participants who are open-minded, articulate in communicating their ideas, and tolerant of the ideas of others. Less of the "my-way-or-the-highway" attitude, and more willingness to help each other. Less fighting and more talking. Less heat and more light.
Above all, ALT.NET needs to encourage its followers to continue challenging the conventional wisdom, to be ever-vigilant for better ways to do things, and to empower us to reach outside the mainstream to adopt what works.
That's my opinion. I welcome yours.