Java Not-Free Software

Wake Up And Smell The Coffee

A few weeks back I wrote a post on Flashplayer 10 and Free Software. At the time I had problems with the Flashplayer 9 plug-in for Firefox. Tonite I read, Oracle is suing Google for breaching its Java licensing terms. How are these two events related.

It seems Google developed a JVM, which does not require users to refer back to Sun or Oracle. Apparently, the Oracle lawyers were observed with wet stains down the front of their shirts, drooling and salivating at prospects of all those federal lawsuits. You could see the dollar signs spinning and the far-away look in their eyes. If your not familiar with the history of Java, here's a quickie.

Java was developed at Sun Microsystems during their heyday, when they believed they ruled the Unix world. Reality has a nasty habit of piercing the delusion balloon. Java was developed by none other than James Gosling. The man who famously contributed code for Emacs, then changed his mind and started a lawsuit against the FSF (Richard Stallman) for using said code in their Emacs software.

Sun developed Java to be platform independent, namely it could run on any machine, irrespective of the hardware or software beneath it. It must be said, Sun contributed a lot of code to the Open Source movement. But no matter how benevolent, Sun were, they would not release Open Source Java, as the suits believed it was their Jewel in the Crown.

The problem for Java was speed, or rather its lack of. When Java first hit the streets it was, how would you say it... slow. Not only was it slow, but it was a resource hog. Given enough time, hardware speeds increased and caught up with the demands of Java and it became a popular prog-lang on which to develop. The great attraction of Java was the promise of "write once, run anywhere".

The big drawback of using Java, was, it's propietary software. Ruled by the benevolent dudes at Sun. All seemed rosy in the garden. Sun built fast powerful machines, on which ran a stable trusted Unix. Solaris Unix. Solaris was dominant in the Unix server market. But Solaris had two problems. Microsoft and Linux. Solaris was fighting a war on two fronts, and it couldn't win either.

Microsoft ruled the desktop with 90% running Windows and with the introduction of NT, it had the server market in its sights. Sun was not going to take desktop share from Microsoft, all it could do was defend its Unix server position.

If Sun didn't have enough problems fighting Microsoft, along came Linux, mostly in the form of Red Hat. Linux was fast, cheap, stable. It was so cheap, it cost almost nothing. Red Hat Linux made money from training and support. Why pay, 100s of thousands of dollars for Solaris Licenses, when you could get Red Hat Linux for peanuts. And the big plus... it was Unix. A flavour of Unix you could trust.

You could run your servers and network on this Linux. It was rock-solid, stable, reliable beyond belief and didn't fall over like the flaky stuff on offer from Microsoft. It was a known fact, NT servers needed a weekly reboot to keep them stable. You would not run a nuclear reactor on NT server software. Ask any NT Sys-Admin about NT reboots.

As Red Hat Linux market share grew, so did the headaches for the head honchos at Sun Microsystems. Year on year Solaris Unix market share fell. As a last ditch attempt to keep the ship from sinking, Sun Open Sourced Solaris, their high-end Unix Server software. It was too little too late. Sun did make some powerful server hardware, but IBM and HP were chasing the top end and many sites were moving to cheap clusters. Almost all Sun had left to offer the world, was Java. Not enough to keep the ship afloat.

Oracle bought Sun Micro at a knock down price and acquired Java as part of the deal. Oracle like Microsoft, has no Open Source aspirations. The only thing Oracle understands is market share, and money. Just like Microsoft. Now they smell money and they let the attack dogs loose. Its a matter of time before others like Google, are in line.

Google invested a lot of time, money and effort in developing its Java code for Android, its mobile phone OS. Now, Google may have to rethink its long term plans for further development.

Undoubtedly there is a place for Proprietary Software, Ultimately, Java's proprietary license does not bode well for developers or end users. Running proprietary software, you give up some freedom. Its a fact. Sometimes that freedom is monetary, sometimes its operational. If you develop industry wide on a proprietary license, you are at the mercy of  the IP rights holder.

"When the puppet master tugs the string, you dance".

Its a lesson that has not been learnt yet.