Sun has finally opened Java by releasing the Java Platform Standard Edition (Java SE), the Java Platform Micro Edition (Java ME) and the Java Platform Enterprise Edition (Java EE) under the GNU General Public License version 2 (GPLv2), the same license as GNU/Linux.
For those who want to see real source code (to be sure that they are not dreaming), here is the Hotspot Virtual Machine (VM) and the Javac compiler…
Quoting Jonathan Schwartz, CEO of Sun:
“One of the strongest motivations to select the GPL was the announcement made last week by Novell and Microsoft, suggesting that free and open source software wasn’t safe unless a royalty was being paid. As an executive from one of those companies said, “free has to have a price.”
That’s nonsense.
Free software can be free of royalties, and free of impediments to broadscale, global adoption and deployment. Witness what we’ve done with Solaris, and now, what we’ve done with Java. Developers are free to pick up the code, and create derivatives. Without royalty or obligation.
Those that say open source software can’t be safe for customers – or that commercially indemnified software can’t foster community – are merely advancing their own agenda. Without any basis in fact.
They’re also fighting a rising tide.”
That’s beautifully said. And this is fantastic news for poor countries like Mauritius. Paying for software is hard enough when you are poor… but when the software is some crap beta-release from Microsoft then it is plain stupid… Sorry, but that’s truth :-)
The future is soooo bright that I have to wear shades. I’m sure the Tomcat, JBoss, Spring and Eclipse guys are as happy as I am with this announcement. They should be. This is history in the making.
An update: I was speaking to some colleagues and they asked me the same question: Why? Why is Sun doing this? What will they gain?
Ok, if you are asking yourself the same question, you should know that developing quality software is really expensive and not that lucrative (because of piracy for example). That’s why IBM has (more or less) phased out AIX and is advising its clients to use Linux instead.
Sun does not want to use its (limited) funds to develop Java anymore. They want to concentrate on hardware (perhaps) and services (where big money is – ask IBM…) But they still want Java to thrive (a first step was the setting up of the Java Community Process some years ago). And now they release J2SE, J2ME and J2EE under the GPL (which is bound to please us, OSS geeks: even RMS is delighted!) and hope that those who do Tomcat, JBoss, Spring, Eclipse, etc. will start innovating (now that they have the source code of the Hotspot JVM for instance) and make J2EE become something so formidable that even our friend Bill won’t be able to mimic it…
The tide is rising. Open source is the future. Microsoft is the past.
Where do you want to go today?
aadil says
I don’t want to go somewhere but I do want fries with that. Yah! \(^^)/
Eddy Young says
At the same time, we learn that C# is ahead of Java in the league of programming languages of choice.
Don’t get me wrong, I like open-source software, but Microsoft is not going down that easily. Not with Microsoft Vista on the horizon, and the beautiful .NET Framework 3.0.
Mind you, I am not taking any side — I use Windows XP at work by choice, Mac OS X at home with another Windows XP install running in a virtual machine. Windows is too ingrained in the society for it to be removed easily.
Maybe the day you long for will come when we start seeing “Made for Linux/whatever” badges on computers from Dell and HP, but that day is still far away. The closest we have come to “Microsoft is the past” is the Microsoft/Novell deal, then again, Microsoft holds the cards.
avinash says
Hi Eddy,
Granted, .NET is more or less what J2EE is… (except for this “small” opensource thing :-) )
But Java has something that .NET lacks : a very bright and creative community who is always trying to push the envelope. I’ll just take two examples, Spring and AspectJ.
Mind you, Java is not perfect (for example, the Java programming language is tooooooo verbose (and so is C#)) but this is not a major issue (for me) as I am waiting for JRuby to become mainstream :-)
aadil says
Give Java a new chance now that it’s source code is wide open to the FOSS community of developers. I am sure that soon there will be many enhancements and bug fixes.
Eddy Young says
Aadil: There will not be as many enhancements as you expect, since contributors need to respect the JCP which examines all requested changes before giving the go-ahead.
Avinash: Many people do not realise this, but .NET is backed by a plethora of products and services. Products, as in custom components, and services, as in consultancy. Just because you do not see open-source contributions to .NET does not mean that people do not write for .NET. If you look in enterprises, you will see that .NET thrives. My company, Infospace, is migrating from Java to .NET to standardise all our platforms. We do this because we know we are backed by a strong company (Microsoft) and can easily find experts if we need to.
I laugh whenever someone (not you!) says that Ruby will kill Java. Ever tried sending a client SSL certificate to a web service for authentication in Ruby? Or PHP for that matter? This is why we have different classes of programming languages. Java and .NET are enterprise-class; Ruby, unfortunately, is not. Hopefully, as you say, JRuby will be able to dig in Java’s vast class library.
avinash says
As an aside, while browsing jvm_linux.cpp out of curiosity in the Java VM, I came across this:
I’ve checked. It works. Pressing Ctrl-\ during the execution of a Java program will dump a lot of debugging information on the various threads running in the VM (like the garbage collector etc.)
I currently have 8 books somewhat related to the Java platform and I don’t remember reading this somewhere (of course, I may be mistaken)
I don’t mean this is a very useful feature but this gives us a glimpse of what we might gain by having access to the source code.