I wrote my first line of code in 1977, and as what most people think of as an “old time” programmer, I'm fairly resistant to development zealotry. In fact, especially in this day and age, I think zealotry is a bad idea at the best of times. I'm not a true believer in anything development, really... I don't see any one language, operating system or development methodology as the “one best way” to do anything. Granted, I am a Microsoft Regional Director, which to most people makes me more pro-Microsoft than I actually am. I build software and systems the best way I know how (at the time) to serve my customers.
And I say all this only to set the stage that I am a keen observer of the various markets out there. I try not to have an axe to grind when it comes to technology. I'm not a true believer in open source, I've utilized their technologies where it has made sense to me (and facilitated success with my customers). And while I don't routinely program in Java, I'm relatively literate in the language, certainly in the concepts, just as I am comfortable and familiar with many other development languages and environments.
In the Java and Open Source world (and they aren't the same things, but they are heavily intertwined), specifications are developed publicly. There are working groups where interested parties collaborate (and argue) one design over another, until eventually they come up with an agreed upon specification. Then anyone can build and sell an implementation.
Generally, by the time a specification is ratified, lots of companies have built products around the various ideas, and these companies are usually involved in the working groups developing the specifications, and sometimes an implementation is essentially picked as the specification.
And so it was with EJB 3.0 expert group and a technology called Hibernate at The ServerSide Java Symposium in Las Vegas, May 6-8. Hibernate is essentially a tool for persisting entity beans... I could go down the path of describing entity beans and the persistence of them, but that's secondary to the story. The product is controlled by a company called JBoss. JBoss calls itself a “Professional Open Source” company, which is cool as far as I'm concerned - I like the idea that open source concepts can be applied in a for-profit model, not just the non-profit/educational/university-centric model that most people see.
Lots of folks were surprised that JBoss landed this coup. David Jordan's article on the topic is very interesting, as long as you're also aware that he's involved with JDO 2.0, the “losing” specification in the entity beans persistence debate.
However, JBoss has now been caught up in an ugly scandal, being accused of astroturfing: essentially, JBoss staff used anonymous postings to pump up their products and attack their competitors. The ensuing storm caused a response from Marc Fleury, CEO of JBoss, and further recriminations from the folks involved. And there's been plenty of folks writing about this astroturfing incident. It just surprises me that they haven't connected any of this with JBoss's recent successes at the expert group level.
I think it also brings to light some fundamental misconceptions about open source. This isn't all sweetness and light folks. A for-profit company with the open source banner wrapped around them has done the online-community equivalent of a pump-and-dump, and quite possibly stands to benefit hugely from it. How badly derailed is the EJB 3 development path given the implied manipulation of the working groups?
This whole situation is still just coming to light. I think the real trouble has yet to begin. Its going to be interesting to see how the Java and Open Source community responses to this.