Archive for the ‘Business’ Category

Getting off the Grails and Groovy Train

Wednesday, November 12th, 2008

Previously, I wrote that Groovy and Grails are too risky to use, and this idea is now supported by G2One agreeing to be acquired by SpringSource.  The backing of a common venture company for G2One and SpringSource probably facilitated this acquisition.  Considering that SpringSource publicly praised MySQL as having a good business model, SpringSource may add additional restrictions to its offerings just like MySQL.  Ext is another company that endorsed the MySQL model and ultimately followed the same path.  Both companies spout quid pro quo often when it benefits them and sometimes refuse to give straight answers to simple questions.  Will SpringSource pull an Ext and make the switch at a minor release after most Spring users convert their code over to Spring 3?

Even if the terms of use for Groovy and Grails do not immediately change, Grails will not support any fork of Spring Framework in the future.  The FAQ indicates that Grails may use the same maintenance policy - apparently meaning limited free minor releases - as Spring Framework.  The venture capitalists behind SpringSource will probably not tolerate Groovy and Grails making a lot less in returns than Spring Framework indefinitely, especially as all venture-funded companies are tightening their operations.  This suggests additional restrictions, license change (an FAQ is not legally binding), or cancellation for Groovy and Grails down the track.

So if Groovy and Grails are no longer attractive options for some Java developers, what other choices are there?  Given the massive performance issues of Groovy and Grails, Scala and Lift augmented with something like JavaRebel could be a better solution since Scala may actually run faster than Java on the JVM.  JRuby on Rails and Django on Jython are other options.  If you have to learn a new language anyway to use the next generation JVM frameworks, it seems better to stick with overseer organizations that are more trustworthy and less controversial.

If you really must stay with a Spring Framework stack, it might be safer to use Spring Framework with annotations as a substitute for Grails.  There are many established examples like AppFuse that you can use to get you started.  If you are only using Spring Framework for dependency injection, transactions, and maybe AOP, it should not be too hard to migrate to another solution like Guice.  Considering how quickly Free Spring (formerly freespring.org) was organized, Spring Framework probably has a 100% chance to be forked successfully if necessary.  Right after the Free Spring announcement, SpringSource may have realized the threat and therefore suddenly claimed to embrace community opinion.  However, Groovy and Grails have much smaller communities and low chances of successful forks, so no threat of a Free Groovy/Grails there.  As for using Groovy by itself, there are so many arguably better dynamic languages running on JVM that it makes little sense now to use Groovy unless you absolutely need the stronger Java integration.

DZone May Not Be Beneficial for Most Bloggers

Monday, October 6th, 2008

There seems to be mostly downsides and few upsides for aggregation by dzone.com unless you are an elite blogger like these Most Valued Bloggers (http://www.dzone.com/mvbs).  If you are an average or worse blogger like me, a listing at DMZone and similar Web 2.0 blog aggregators can become a minefield.

* You are bound to annoy someone

Unless you stick with conventional opinions and never play the devil’s advocate, you will probably upset a whole bunch of people.  It is not a big deal at javablogs.com since the traffic from there is not nearly as high as DZone, and there is more noise at javablogs.com so your blog article looks better in comparison.  At DZone, there was a shelling of a Struts blog entry apparently only because Struts is not personally useful to some DZone readers.

http://java.dzone.com/articles/why-struts-necessary-developme

If you are a blogger like John Dvorak of PC Magazine, you will want to rile up as many people as possible to increase subscribers.  Most average bloggers have neither the page views nor the ad network to make it worth the risk.  You might have to do business in the future with some of these people.

* Someone else will spread your idea

Any popular opinion that you might want to blog about, most likely other bloggers will blog about it eventually.  If you are blogging to get an unpopular idea out there, someone else can read it from javablogs.com and restate it elsewhere to take the repercussions for the idea.  The outcome will be the same without having to risk your own reputation.

* Being graded sucks

There is a reason I am no longer in school after about a decade of attending universities, and it is not due to flunking classes.  Customers already grade me with decisions to renew contracts or not, and I am paid for that stress.  In contrast, voters at Web 2.0 blog aggregators are not required to give a reason for voting down and almost never bother with it.  This is like getting a school exam back with a score but no indication of which questions you got wrong.

* No PageRank benefits for DZone

It is no secret that Google loves blogs.  Any company can increase its visibility cheaply by having a regularly updated blog.  Therefore, I do not really want to stop blogging at this time - PageRank of one or bust.

The PageRanks for javablogs.com and dzone.com are both six.  A blogger can post anything to javablogs.com including resubmitting everything again and get those automatic incoming links.  There are no blog commenting at javablogs.com so you do not have to spend more time responding to comments.

There is no PageRank benefit to commenting at DZone because DZone does not offer a Web site link in the comment.  I dislike that you cannot change or remove DZone comment votes, or even see who voted on each comment.  For these reasons, many bloggers do not respond at DZone.  People googling you or your company may see a negative comment first elsewhere and decide not to visit your site to get your side of the story.

For anyone interested in search engine optimization, you can pretty much post anything including blatant link spam at sites like techcrunch.com and guarantee an incoming link from a PageRank eight site.  Those sites apparently never delete blog comments.  In less than an hour, you can legitimately multiply incoming links with much less effort than blogging.

* Random submissions

Bloggers never know which blog entry will be posted on dzone.com unless they post the entries themselves.  Therefore, the blog article always goes out unpolished because it takes too much time for the average blogger to clean up every blog entry.

To be clear, I want to thank the people that submitted my previous blog entries for thinking that they are DZone worthy and for taking the time to do so.  I just do not want to sanitize every blog entry on the small chance that it might end up at DZone.

* Opt-Out

Some people have asked if Web 1.0 sites like javablogs.com is necessary with the existence of dzone.com, and I think the answer is a definite yes.  Please let me know if there is an opt-out system at DZone - I could not find one.  Tell me if I am missing some benefit of a listing at a Web 2.0 aggregator like DZone.

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.