Open sourcing Java is almost certainly a very good thing for Java developers, and it’s probably a good thing for the world at large. I have yet to see a cogent explanation as to how it’s going to make Sun a nickel, though.
Sun chose to use the GPL v2 for the license.
In other words, Sun chose a license that mandates “free” as in “you can’t own your changes nor can anyone else” and not the BSD or MIT definition of “free”.
If you mess with the source and try to “distribute” your modified compiled version, you are obligated to distribute the source — obligated to give your changes back to Sun and the community.
In other words: If you modify any of the GPL v2 licensed Java related technologies in a way that you feel has value — that you feel boosts your corporate or personal valuation, that you think you can sell for money, or that you provides a competitive advantage within the marketplace — then you have two choices (and the non-choice of non-compliance which I will not address):
(1) You can give your modifications back to Sun and make it available to everyone.
(2) You can negotiate with Sun for a custom license that allows your modifications to remain under your control. Most likely, you’ll be paying Sun for the privilege of actually owning your modifications. Yes, to own your modifications you will need to contact Sun and negotiate a non-GPL license.
There lies one revenue generating opportunity.
Pretty much the same opportunity as they had before, but now Sun no longer has to administrate some custom licensing scheme. While custom licensing was all the rage in the roaring ’90s, this century’s ever increasing stream of litigation has markedly increased the value in going with a known license.
As a result, the default state is now one that is well known to the industry and provides a well understood level of access to Sun’s sources.
Better yet, it brings legions of rabid GPL fans quite thoroughly enthused with the notion of bringing down The Man who does not Abide by The License. Don’t give your changes back, you will be busted. And Java makes this police work even easier, given that it is pretty much impossible to truly obfuscate your compiled Java code and also offer a usable API to use it, plug-in or otherwise.
So, by going GPL, Sun has vastly reduced their licensing administrative costs, effectively hired an effective license enforcement army, and ensured that if anyone actually does something interesting with the technology it’ll either be given away for free or Sun will be paid to keep quiet about it.
A win-win situation, it would seem.
Yet there is also another revenue generating opportunity.
Now that Java is GPL v2, it is philosophically compatible with Linux.
There should no longer be any kind of a legal barrier to, say, Debian Linux — a particularly “license attentive” distribution — including stock builds of the JVM with that particular Linux distribution.
Sun sells very nice Linux boxes. This weblog is hosted on one of them (Thanks to Red Bean).
With this move, Sun will be able to sell industry standard Linux boxes with a first class, Linux community blessed (most likely), JVM built right in.
Now, I certainly don’t believe this is going to be some massive boost to Sun’s revenue stream.
Not really, but I don’t think it will be insignificant either.
I do believe this is a major positioning statement for Sun, though. For the first time, Sun’s Java strategy actually sort of fits with the rest of the company’s products.
(Wow. How far we have come. I remember the complete pain in the ass it was to distribute patches for the JVM 1.0.2 when I ported it to NeXTSTEP. Others had ported other parts, too, but the license didn’t really allow us to effectively collaborate without a huge procedural headache.)