DZone May Not Be Beneficial for Most Bloggers

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

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?

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.

GWT 1.5 Available with Detected Malware

August 29th, 2008

GWT 1.5 final has just become available for download. In what must be a false positive, Avira AntiVir (one of the best antivirus programs for Windows) complains about HEUR/HTML.Malware during the scanning of gwt-windows-1.5.2.zip. Hopefully, the GWT team will take care of the problem quickly.

http://google-web-toolkit.googlecode.com/files/gwt-windows-1.5.2.zip

16 Files were classified as suspicious:

1 Warnings

My policy is to scan every download from every site, including the well-known sites. This is the first time an open source download resulted in a warning. Does your virus scanner detect anything in the GWT Windows 1.5.2 download?

SmartClient to Outsmart Ext with SmartGWT

August 20th, 2008

On 8/18/2008, the creator of GWT-Ext announced his involvement in the new LGPL-licensed SmartGWT.  SmartGWT - a combination of GWT and the SmartClient Ajax library - is a stealth project which will help fill the huge need for an advanced Java-based RIA framework.  Judging by GWT-Ext, I trust that SmartGWT will be an outstanding product managed with integrity and predictability.

http://www.jroller.com/sjivan/entry/smartgwt_gwt_api_s_for

http://www.isomorphic.dreamhosters.com/?p=51

SmartGWT would probably not have gotten off the ground had Ext not enraged so many people.  The takeaway business lesson for the rest of us is not to alienate our customers, including the indirect ones that evangelize our products and services.  I look forward to a much more cooperative SmartGWT forum in contrast to the confrontational Ext forum.

I discussed possible RIA alternatives for Java developers in a previous blog entry, and the only other major development in the past couple of months has been the announcement of YUI 3. I believe that SmartGWT will become one of the best frameworks for Java RIA developers along with GWT-Ext and Flex.  Is there any taker on Ext renaming Ext GWT to GWT Smart?

Google + Yahoo == GWT-YUI?

June 13th, 2008

Now that Yahoo and Google are becoming partners for search ads, can GWT-YUI be far behind? Even though Google eventually buying Yahoo outright probably won’t happen due to antitrust implications, a GWT-YUI combination seems to kill two birds with one silver bullet. One of the most common complaints against GWT is the lack of good-looking advanced widgets which YUI can provide. YUI is difficult to use since its API is way too low-level compared to alternatives like Ext JS, therefore it definitely needs an abstraction layer like GWT on top of it to provide simple reusable widgets and good IDE support. GWT is licensed under Apache and YUI has a BSD license, so GWT-YUI can advertise itself as the RIA solution with the most business-friendly license as compared to Flex, Silverlight, and JavaFX.

Google already uses YUI Grids CSS for iGoogle, so why not take it one step further?

http://www.google.com/ig

There have been a few attempts to extend GWT with advanced widgets that I know of, but none of them has turned out to be compelling in the long run.

GWT Incubator offers a glimpse into the future of GWT, and still does not provide a complete widget toolkit for my needs. It is officially supported by the GWT team which is a plus.

Until a couple of months ago, I thought my search was over with GWT-Ext. The project has done an admirable effort to continue since the earthquake from the second Ext JS license change, but without a plan to migrate to a solid foundation - i.e. anything but Ext JS - it seems too risky to use it for now. I am still keeping an eye on this project.

The possibility of a GWT-SmartClient raised my hopes for a few weeks since SmartClient seems to be very similar to Ext JS and is still LGPL. However, that possibility went nowhere fast. The creator of GWT-Ext never responded publicly to the proposal from SmartClient, and the SmartClient team never followed up on its forum as promised. SmartClient lost a golden opportunity to grab major market share from Ext JS in my opinion.

http://forums.smartclient.com/showthread.php?t=1849

MyGWT switched its license to GPL, so it is useless for me.

I searched for a GWT-Flex project, but could not find any. This is yet another combination that would make a lot of sense.

Time to Fork Ext JS and MyGWT

April 21st, 2008

Bad news but not really unexpected for me, Ext JS and MyGWT (a.k.a. Ext GWT) have just changed from LGPL to GPL today. In a nutshell, Ext JS and MyGWT are now useless for free commercial use. If you have already based your projects on these libraries, my general recommendation is to continue using Ext JS 2.0.2 until a fork is available or you can transition off Ext JS.

Ext JS claims that it is a foundation you can build on. Well, I disagree when the license keeps changing to be far more restrictive around every major revision (i.e., BSD to LGPL to GPL). Even though LGPL is open to the library creator’s clarification as to whether the LGPL license extends to your JavaScript code, GPL seems pretty clear that all your JavaScript code will be affected by GPL as well. In comparison, even JBoss and MySQL – two highly controversial open source projects - never tried anything close to this to my knowledge.

If you are a manager, you might be tempted to just pay for a commercial license since the license fee may not seem large for you. Be aware that you will be committing your project to vendor lock-in. The logical next step for Ext the company is to take Ext JS completely commercial with an increase in license fees to feed its expansion.

If you are still on the fence about choosing between GWT-Ext and MyGWT, I believe GWT-Ext is now the clear choice. The author of GWT-Ext was the first to add the clarification that GWT-Ext can be used in commercial projects without worrying about the LGPL contamination. This pressured MyGWT to add a similar clarification after a week or so, but may ultimately have accelerated the MyGWT license change to GPL due to the potential profitability impact to Ext the company. Unfortunately, both libraries depend on Ext JS, and their futures may be somewhat murky now.

Successful GWT-Ext Project

March 18th, 2008

Last Friday, I completed the release candidate of a commercial RIA product using GWT-Ext 2 and a JSON backend. GWT and Ext are two libraries that I kept reading about in blogs, but initially resisted using. I didn’t think GWT puts enough emphasis on aesthetic appearance out of the box, and I was not thrilled about the Ext license switch from BSD to LGPL.

The tipping point came when I first did a prototype with GWT-Ext, which is a combination of GWT and Ext that was first announced on July 2007. There were some cross-browser glitches, visual artifact issues, and obscure JavaScript exceptions during development. However, the overall result was far better than what I could have created with any other Ajax package for an application that needs to be heavily user-centric.

The client seemed very happy with the end user experience. As far as maintenance issues, the lead engineer of the company was comfortable with enhancing that application within a day of light training. This was due in part to Eclipse’s strong Java support, the well-defined HMVC/PAC-like architecture, and the lead’s excellent technical skills.

My Hello World Blog

March 17th, 2008

I have decided to take the plunge and start a blog. My blog will cover Web libraries that I am using such as GWT, Ext, and Grails plus whatever I feel like. If it generates additional freelance Java contracts to supplement my current irregular one, even better.

I have been reading Java-related blogs and aggregators for many years now, including the usual fare like java.dzone.com, theserverside.com, infoq.com, ajaxian.com, and of course javablogs.com. Blogs have changed my development experiences for the better. Who knew making Web software could be this fun?

With the wisdom of the (blog) crowds as my beacon in the sea of Java frameworks, my hit-miss ratio on technology choices has dramatically improved. No more questionable choices like Java Applets, Swing, J2ME/Java ME, EJB 1-2, and JSF for me. I have learned that frameworks and libraries that follow the DRY KISS (a.k.a. Don’t Repeat Yourself Keep It Simple Stupid) principle are usually the best ones.