Are All Funded Open Source Companies Destined for the Dark Side?
Saturday, September 20th, 2008
Spring Framework was the chosen one. However, there was a growing disturbance in the Source. Spring tried to reinvent every library under the sun while ignoring great existing solutions like XFire. There was a controversy involving SpringSource and OpenLogic where SpringSource claimed that it should be the sole supporter of Spring. The SpringSource Application Platform was released as GPL instead of the expected Apache license. Now, the transformation is almost complete with the announcement that most Spring minor releases will only be directly provided for paying customers. I only have one word to say in my impression of Anakin overacting: nooooooooooo!!!
http://www.youtube.com/watch?v=Tim5nU3DwIE
One company that should be especially concerned is G2One, the company behind Grails. Grails is built on Spring, and is enjoying increasing awareness and the impending release of a book. However, Grails also has major obstacles like poor Eclipse support and performance issues. This disturbing SpringSource trend could tip the scale and derail Grails.
Any further chilling action on the part of SpringSource could cause a domino effect and topple other major innovative open source projects, since almost every Java library integrates with Spring. Just like the financial crisis in the U.S., it all started with greed and outside parties enabling that greed. Also like the financial market in the U.S., the viability of open source is on the ropes with consumer confidence and trust shaken badly.
I have blogged a lot about Ext before, so I will not rehash those arguments. However, Ext is another company that received external funding. The main difference is that Ext never tried to do no evil. At least Spring does not have the additional incomprehensible legal clauses that Ext tries to tack on its licenses, so maybe there is a chance to fork Spring effectively if absolutely necessary.
I was wrong with a previous assessment of MySQL. MySQL actually changed the JDBC driver license to GPL a few years ago, so MySQL will contaminate commercial Java-based sites depending on your interpretation of the ambiguous GPL. PostgreSQL is probably the only truly free enterprise database, which is unfortunate since many PHP applications do not support PostgreSQL.
As a user of these open source libraries, you are on the frontline. There are always warning signs, and unlike cheesy space operas, the villains never turn back to good again. The only real solution is to jump off the bandwagon when you have enough evidence that a company is stringing you along with artificial open source bait. Once you are certain, stop giving free technical support on the forums, submitting bug reports, or evangelizing the library. Instead, support any promising forks that may emerge and strip out any extra baggage libraries previously added to make it a bloated monster.
If you are a technology manager, and you care about the future of open source, please consider not financially supporting any open source company that consistently betrays the trust of their users. If you are an executive of a major company like Sun and Google, please do not acquire companies like Ext and possibly SpringSource that have overwhelmingly negative goodwill. Just like the EA/Spore DRM controversy, the bottom line is the only feedback that some companies will understand. Do your part and stop enabling the reckless greed that is destroying the growth of the overall Java market and our futures.
If you are thinking about starting a company around an open source project, please stop and rethink that decision carefully. Are you 100% committed to keeping the project open source in the original spirit, even if the project becomes wildly successful? If the answer is no or even maybe, please keep it proprietary and do the rest of the world and your potential users a huge favor. Only open source extremists will have a problem with that decision. This will give legitimate open source projects a chance to thrive.
In my naïve MBA days, I thought the be-all, end-all objective of a startup is to acquire venture capital and then cash out with an IPO at any cost. After leading many Java projects and seeing things like this, I now believe bootstrapping is the only way to go and still stay in touch with your vision and users. You can succeed without stepping over the corpses of your users and allies, even if it may take a little longer.