Archive for September, 2008

Funded Open Source Companies Part Two

Monday, September 22nd, 2008

Just when I thought I was out, they pull me back in.

No one has a problem with open source developers making money. On the other hand, many people have an issue when the original open source expectations change for the worse, especially for a cornerstone framework like Spring. I really doubt the major developers from controversial open source companies like SpringSource ever had any problem putting food on the table, yet they want more at the expense of the users that helped build their success. Without JBoss, Red Hat, and SpringSource, other comparable open source projects (GlassFish, Ubuntu, and Guice) would have taken their place without the creeping restrictions that these companies added.  No company is irreplaceable.

The companies’ actions are legal, but these companies should not turn around and complain about how ungrateful or useless their users are.  A good company recognizes that if users complain, it usually means that they still care at some level.  Most users that decide to dump your product or service outright will probably not bother commenting, and you will not have a chance to get them back.

Open source purists generally prefer GPL and LGPL from FSF, and they would fully applaud moves toward GPL, dual licensing, and additional restrictions. Business-oriented developers prefer Apache/BSD/MIT and tend to avoid GPL like the plague, which is why they flocked to Spring before the latest announcement. Open source purists care the most about free as in freedom (except for the users,) while the business developers generally care more about free as in beer (i.e., the bottom line.)

I personally do not care too much about free as in freedom for open source, but usually without this part, the product eventually loses the free as in beer status since it has no forking risk. Free as in beer is also very important to help an open source community grow and thus increase marketability for product knowledge, since most users are unwilling or unable to pay. The reason most business developers chose Spring is probably not as a political statement, but simply that it is much cheaper to deploy Spring on Tomcat or Jetty as compared to paying for WebSphere or WebLogic.

I believe no one would complain about JBoss, Red Hat, or SpringSource if they started their projects with the restrictions that they have now from the start. Would they have been as successful? My guess is not even close. Given how intelligent the heads of these companies apparently are or were, I find it hard to believe that they did not anticipate possibly adding restrictions later on. As stated before, if they had any concerns about monetizing open source, they should have released their products as proprietary from the beginning.

SpringSource would not have needed venture funding had they stopped trying to be everything to everyone. They were good at providing a dependency injection container and integrating with various third-party libraries. They lost that focus, added many not-invented-here libraries, and are now trying to make their unsuspecting captive audience pay. Excellent business-friendly and sometimes innovative open source software from Apache, Codehaus, Google Code, Eclipse, and OpenBSD have been around for years, and many developers make a good living consulting for those projects without any problem or unpleasant changes. Perhaps the problem is forming an unsustainably large company around open source in the first place, but IBM seems to be doing quite well.

The announcement is not too bad this time, and SpringSource will get away with it. This will encourage further restrictions in the future if other companies like MySQL are any indication. Eventually, Spring users may realize that the vendor has locked them in, which is precisely what they wanted to avoid by using business-friendly open source software. Since the same venture fund is behind G2One, this scenario might happen to Groovy and Grails users as well.

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.