FOSS Java, Finally! November 13, 2006
Posted by Sacha in JBoss, Moved from JBoss.org.trackback
It took 11
years, but we finally got there: SUN Java’s implementation will be
open sourced!
Bottom
line: that is excellent news for the Java ecosystem and for the Free
Software.movement
First of
all, it means that Java can now be made available on more platforms
while making sure we get consistent behavior. Also, it means that OS
and hardware vendors will be able to customize and fine-tune Java for
their environments. This openness will further increase Java
platforms competitiveness and increase Java’s pervasiveness. All of
that is a net positive for the Java ecosystem at large.
Last but
not least, I bet this will also lead to some very interesting
innovations either in the JDK, JVMor the compiler that could, in
turn, be standardized through the JCP.
JVM-level AOP integration, scripting languages and optimizations are
great examples of what could be achieved. This will lead to a fast
turnaround of innovations in Java (much like what happened with
Hibernate/EJB3
or SEAM/Web
Beans).
As
suggested for a long time by JCP members, SUN will use the strong
value of “Java” trademark/brand to protect the ecosystem from
incompatible implementations (only those that have fully passed the
TCK will be allowed to use the “Java” branding/trademark – the
FOSS project is named “Open
JDK”). That is a simple, clean and efficient
solution. This also means it wouldn’t be possible to release a
broken “Unbreakable Java” JVM, not that anybody would want to do
something that smart though…
What and How?
In order
not to disrupt the release cycle of Java 6, SUN will start by
releasing Java 7 code (mostly a fork of 6 at this point and some
minor changes), and will later open source Java 6 code.
From a
licensing standpoint, here is a summary of what was announced:
- Java
SE will be dual licensed: GPLv2+E (i.e. “GPLv2 + exceptions”)
and commercial license. - Java
ME will be dual licensed: GPLv2 (no exceptions) and
commercial license. - Java
EE will be trial-licensed: GPLv2+E, CDDL (already the case) and
commercial license.
The
GPLv2+E is a modified
GPL version that drops the GPL “virality” clause
for any code using that library (which is very similar to what the
LGPL does). Bottom line: code/applications running on top of the
GPLv2+E JVM will not need to be (re-)licensed under the GPL,
they can use any license they like, open source or proprietary.
Consequently,
the real announcement here is pretty much for Java SE “only”:
- Java
EE had already been open sourced under the CDDL (SUN is just
adding another license to the mix), and - Given
that Java ME will not benefit from the GPL+Exception
treatment (it will be released under a straight GPLv2), phone
vendors will still have to license a commercial implementation of
Java (or otherwise would have to GPL all of their software running
on this JVM)
Given that
SUN is making most of its JVM revenues in ME-land, licensing the JVM
under the GPL certainly fits with SUN’s commercial reality. In case
phone vendors are not satisfied by the license, they could either
decide to open source their phone software under the GPL (low
probability) or fork SUN’s SE implementation and adapt it for ME
environments (which could be accelerated by some donation given that
vendors have already implemented SE JVMs). Both solutions will take
some time to implement though, enough time to let SUN grow other
JVM-related revenue streams. However, I do hope that SUN finds a
solution to this in the mid-term so that the ME ecosystem can also
fully benefit from this announcement.
So,
shouldn’t have SUN opted for an Apache/BSD-like license? No, I
really do think they made a good choice here. SUN is going to release
a tremendous amount of IP under an Open Source license. I do think it
is fair to ask that any changes and extensions to this IP be released
in the Open Source as well. As for users of that technology, this
will have no impact on them: they can freely choose the license for
their software, and that is really all they care about. Only would-be
proprietary forkers will not be happy with that choice and that’s
fine.
When?
We will
have to wait until mid-2007 to get a full-fledge JVM available in
FOSS. The Hotspot JVM and the compiler will be open sourced in 2006
but we will have to wait Q2 2007 for a fully buildable JDK. That will
leave companies time to work on the JVM customization/optimization.
Conclusion
The Java
saga that SUN has led is a unique success story. 11 years ago, SUN (a
hardware company!) successfully put in place the conditions that led
to this multi-billion multi-vendor open ecosystem. More than a decade
after, Java is not only alive but is leading the middleware space.
Such an open and successful ecosystem is unique in IT. Sun’s
constant inability to monetize that ecosystem might be one of the
reasons why it has been successful: you don’t want the referee to
mark goals and, even less, to win the match.
As this
ecosystem matured, a move was required to rejuvenate it. That’s
what SUN just did with this announcement.
Congratulations
to those of you at SUN who have been listening to the market and
pushing for that courageous move. I know this wasn’t an easy one. A
few months back, you made the commitment to Open Source all of your
software. We were all hoping you would start with Java, but that is
not quite how it happened and that is where you finally ended. But
here we go and that is probably one of the smartest moves you could
do to further extend the ecosystem.
Tighten
your seat belts, the Java ecosystem is about to move full throttle
ahead!
Comments»
No comments yet — be the first.