Do we really need opensource Java?

On the JavaOne Sun announced opensourcing of Java - and everyone was and is excited. But I do not see any big advantages or changes to the current state:

  1. I cannot remember JDK 1.1, but from JDK 1.2 I always work with the source to debug Swing etc. So the framework/library source was always "open" and accessible.
  2. There are already alternatives to Sun implementations. JRockit (great for serverside), IBM (often needed for IBM-products), kaffe (a clean room implementation), esmertec (useful for embedded devices), or harmony etc. So what the difference to opensource?
  3. If you like, you can participate, and initiate a JSR. In case the idea is good enough, you could even influence the Java SE or EE. I also did it, but had to withdraw my JSR-193 - because of political "forces" :-).
  4. You can already contribute code to the JDK and fix bugs.
  5. We had once to provide an JDK implementation for an unsupported OS. We took kaffe (here is also the whole native code available) and simply did it.
I see one big danger of opensourcing Java: stability and compatibility of different implementations.
So from pragmatic point of view we have already the advantage of an opensource project, with no drawbacks.
So everyone seems to be excited - I'm only curious :-)


The only benefit for Java I can relate to is that an open Java will be free from Sun's agenda - or at least such a claim would gain more credibility.

This could promote the adoption of Java... wait do we really need more adoption? Java is the most successful language of all time (Bruce Tate, who actually declares that it is now time to look beyond it). Can Java really gain that much? I am more inclined to agree with you that Java is putting its strengths at risk.

There might be other reasons, waste-dumping Java into the open-source community (let's hope that not) or just the ego of some free-software afficionados, etc.

Posted by Carsten on August 12, 2006 at 01:01 PM CEST #

You are right - it is also my opinion. I just didn't understood the excitement about opensourcing it. Sun did a really great job in the past. In eleven years Java was extremely stable (even the deprecated stuff wasn't removed :-)). So I think this quality is unique for a platform... It will be hard to keep this stability in opensource world.

Posted by Adam Bien on August 12, 2006 at 04:18 PM CEST #

Basically, there are places where we really need open source Java, for example where government regulations demand open source software to be used - in those cases the licensing status of Sun's Java implementation creates a barrier to adoption.

Then there are the cases where having open source Java makes life easier, for example in deployment to end users, research, etc.

I'd be surprised if the quality of Sun's implementation went down as the result of opening up their code base to a larger audience. In general, the contrary effect can be observed where proprietary software crosses the chasm, and becomes available to a larger developer audience with no strings attached.

As far as compatiblity of different implementations goes, if Sun plays their cards wisely, they'll be easily able to make it attractive for other projects to work together with them on common code bases, which solves the potential compatibility problems instantly.

Posted by Dalibor Topic on August 13, 2006 at 05:02 PM CEST #

O.k. I see it. It is more a "non-functional" quality, which we gain. In an opensource world a fine grained compatibility toolkit is crucial to ensure consistency.
Another possiblity is, of course, using the hierarchical linux model, where e.g. linus torvalds with chosen commiters observes the quality of the linux kernel.
A more democratic process will probably not work.
For me as developer/architect the compatiblity and stability of Java over years is very important.
Btw. the implementation is great - especially for embedded devices :-)

Posted by Adam Bien on August 13, 2006 at 06:01 PM CEST #

Thanks for the praise. I'm quite confident that opening up will be quite useful for Sun, and for other parties. Sun has had a few test runs with OpenSolaris, and GlassFish, and so far the results have been great for them, as they were able to increase the returns on their investment into those technologies, without sacrificing the stability and quality of their products. I trust them to be able to pull the J2SE licensing transition off smoothly as well, and reap similar benefits.

Einen schoenen Rest-Sonntag aus Saarbruecken.

Posted by Dalibor Topic on August 13, 2006 at 09:25 PM CEST #


yes, but compatiblity of the JVM is more subtle thann Solaris or Glasfish. Especially if someone will try to fork the source tree an make an alternative or derivate...

Posted by Adam Bien on August 13, 2006 at 10:59 PM CEST #

Adam, the only recurring point against opensourcing the JVM is the fear of forking and incompatibility.
I don't see why everyone thinks opensourcing the JVM also means dropping the TCK. A JVM may only be called "Java VM" when it passes the TCK.
If someone creates a fork and adds incompatible options, it shall not pass the TCK and hence, cannot call itself a "Java VM".
Am I missing something ?

Also, having access to the sources under a restrictive license (you can read, you cannot modify nor redistribute) means that Java is a tough choice for opensource stacks: you build opensource applications/frameworks/libs/projects based on a non-opensource VM.

I'm sure you've read Sun's JVM license as well, and some parts of it are not particularely nice (such as reserving the right to Sun to change the license of the JVM at any time).

NB: moin Dalibor ;)

Posted by Pascal Bleser on August 14, 2006 at 02:52 PM CEST #

You are right in the theory. But I had trouble in the past with e.g. IBM JVM, although it was certified... So I'm only curious about the future and especially practice. What I didn't understood was the fact, that many developers were excited. I can see the advantage for JVM vendors or community.
"I'm sure you've read Sun's JVM license as well, and some parts of it are not particularely nice (such as reserving the right to Sun to change the license of the JVM at any time)."
Yes but Sun also developed the whole JVM and donated it for free. So it isn't that bad :-)

Posted by Adam Bien on August 14, 2006 at 03:13 PM CEST #

I think Sun has shown that the only "agenda" it has with java is to ensure stability, common sense and backward compatibility.

So a few open source components want to be ultra picky about not using an open source component.. Too bad, they should pull their heads in and realise that open source is not necessary. It's the same stupid argument that linux distros pull out all the time about anything that's not open source: never mind whether the thing is a useful/solid/great addition, it doesn't have the right licence and is thus verboten.
If desire to distribute is the issue - then lobby sun for allowing that rather than going the round-about-way of trying to force it open source..

I have grave doubts that java's quality will improve if it is open sourced. You can already get the source code which satisfies 99.9% of people's needs. People writing java implementations are about the only ones who would really benefit from open sourcing java and it would be at the expense of stability/standardisation of the entire enterprise community.

Posted by Nathan Lee on September 01, 2006 at 12:04 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
...the last 150 posts
...the last 10 comments