Ever heard the term 'Alternative rock' ? It's a term for rock music which isn't mainstream. Or something. Anyway, read the wikipedia page for the fine print. I'm a metal fan (despite the pile of trance house music I've created in a dark past ) and once in a while I listen to alternative rock to ease the eardrums a little. Every time I do so, I get the same thought: Why is it called alternative?. I mean: isn't it just rock music like all that other rock music?
The reason is that 'alternative' suggests something like 'different from mainstream'. Duh... Beyonce's mainstream pop music is different from Foo Fighters'. So, and now we're arriving at why this is about software and not about music, a movement with the name 'Alt.NET', does that suggest the movement is about 'different from mainstream' too? And if so, what is that mainstream?
In the past months several people, which accidently all happen to be blogging on Codebetter.com, have tried to explain what they personally found the moniker 'Alt.net' stood for. I, as an outsider who wanted to learn what Alt.net stood for and what it would mean to fellow software engineers like me and the .NET community as a whole, did receive different messages from these people: some said it stood for ABC, others said it stood for DEF, and again others said it was XYZ.
The message became blurred, it became unclear what it stood for. Well, one message became clear: if you critisized the people who called themselves 'Alt.NET' about this unclear message, you were in for a lot of flak. I find that a little strange. If you want to change something, you have to have a clear message so everyone out there has a clear understanding what you stand for so potential followers (and that includes myself) could say "yeah, I think they have a point" and join your movement. If you, as a movement, get a response that your message might be a bit unclear, you then should do one thing only: get a clear message. There's no other thing possibly more important. That is, if you want your movement to succeed.
Why?, you wonder? Well, what's the point of having a movement with a mission if no-one really gets the mission statement? Selling an idea is similar to selling a product, mind you: if the potential 'buyer' doesn't get the advantage of what you're selling, why would the potential buyer buy it?
I said a couple of times in the past few months, in blog comments, that I didn't get the Alt.NET movement's mission statement, because, as explained above, it was unclear to me. I got as replies a couple of times that I didn't get it because I pretended that I didn't get it because it would hurt my company. How would that be, if all I ask for is a clear mission statement for the movement so I can decide to jump in or not? Or did I miss something vital about Alt.NET, like they are planning to come up with a free O/R mapper system which could do everything LLBLGen Pro could do? I didn't understand that from the communication put out by the Alt.NET fellows. I also got as replies that of course I didn't get it because I hated Agile and TDD. Err... what? So Alt.NET is about the Agile manifesto and Alt.NET is a church, preaching TDD? All I understood was that Agile and TDD was a common theme among followers of Alt.NET.
In short: I didn't get a good feeling about this movement. Not because of what Alt.NET's mission statement said it stood for, but because of what people around the movement thought it stood for and their friendlyness towards people who apparently weren't in 'the movement'. Apparently, if you didn't find Alt.NET a great thing (I really wished I could say that, but I don't know what it stands for and one shouldn't support something one doesn't understand what it stands for, do you?), you are a person who decided it's wrong, odd, stupid or other negative remark and therefore you should be critisized. Be it through indirect namecalling, low-level insults or other lameness.
I perfectly understand that the people who started Alt.NET, at least a couple, aren't that way and are always open for debates and exchange of thoughts, ideas, simply because debating with arguments gives better ideas and insights, no matter what the other's opinion is. I just find it a bit sad that around the Alt.NET movement, a couple of people find it necessary to behave like a fanatic who sympathizes with a given idea or product. You know, the guys with the "You're either With us or Against us" attitude.
Sam Gentile found it something not worth to be associated with anymore, and I can't blame him, reading his post and adding my own experiences. His post has started a good debate around the blogs and I'd like to link to a couple of them, simply because they discuss some things I mentioned above much better than I do.
First, Jdn's blog entry: Bad Analogy Time: Alt.NET Ex-drinkers.
And as second, Colin Ramsay's blog entry: Abandon ALT.NET. I'd like to quote the 'nail-on-the-head' remark from Colin below:
If they really wanted to change things then they should be writing about their techniques in detail, coming up with introductory guides to DDD, TDD, mocking, creating screencasts, or giving talks at mainstream conferences, or producing tools to make the level of entry to these technologies lower than it is.
Simply brilliantly worded and IMHO a great starting point for the Alt.NET guys (gals?) for their mission statement, at least if they're interested in reaching millions of people of course. Oh, you thought that by having a blog, a place where you can put your personal ramblings, has any relevance in the .NET community? Sorry, but that's not true. There are millions and millions of .NET developers out there. Look around at local user groups and ask who uses unit-testing, who uses an o/r mapper, who uses a code generator, who even understands what inheritance is and what polymorphism can get you? You'll likely stare into blank faces who ask you in return what the heck you're talking about. That is the state of our union, fellow blog readers. If you want to change that, you have to bring a clear, easy to grasp message and it will likely take years before you have any real significant result.
Too many discussions in the blog-o-sphere are never reaching the subjects of these discussions: the average developer who doesn't read blogs and just knows what MS tells them. I think it's a good idea to educate these people of other ideas, and let's start with just ideas. However you only achieve that by having a clear message. Not a cheer of joy that you're 'Alt.NET'. Woohoo...