An Ongoing Process

Full Moon Rising

I'm on my way to London right now, where I'll be the host of an informal breakfast gathering to provide an update on the process of taking Sun's Java implementations open source. It's worth noting that this is part of an ongoing process.

Back in 1995, I was working at IBM and had the privilege of being one of the cabal of five responsible for engaging IBM with the Java platform. The radical thing about it all in 1995 was that it came with full source code, something quite uncommon in the year of Windows' triumph. Because of that, we were able to port that early Java implementation to AIX, OS/2 and OS/390 without the need to inform Sun until we were ready to go public in the autumn.

Sun had an unprecedented success on it hands back then, and built both community and licensing structures to cope with the intense interest. Sun had a very small staff on it, so they needed to ensure that the Java platform was neither loved to death by its friends nor embraced, extended and extinguished by certain other "friends" in a way already very familiar.

The Open Source Revolution followed. While there were plenty of enthusiasts using Free software before then, it was hardly a blip on the commercial radar in 1995-7 when the ways of the Java world were being formed. For whatever reason, when the parents of Open Source created it in 1998-9 by repurposing the work of the Debian community, there was no regard for accommodating the realities of the Java phenomenon into its definitions. Ever since, despite a close cultural affinity born from the same Unix-inspired roots, the worlds of the Java platform and of Open Source have had a complex and turbulent relationship.

Fixing that relationship has been a labour of love for many of us for many years. Some of the heroes of the healing are people like Jason Hunter and James Duncan Davidson, whose work at the Apache Software Foundation led them to work among others towards the recasting of the rules of the JCP so that Open Source could be a peer player there; Dalibor Topic, whose tenacity and eloquence have combined with his stewardship of Kaffe to keep the dialogue going; Geir Magnusson, who has carried on the flame at Apache; and so many, many more people that it's almost wrong to single out those I have.

Some people have not seen it as a process. They've chosen to characterise it as an intransigent Sun fighting bitterly against an obviously right social movement. But looking down the years, that's clearly not the case. The change to the JCP rules that produced JCPA 2.5 was a landmark; the release of Sun's Java EE implementation as Glassfish was a landmark, giving us the first open source Java implementation from Sun. There's been a process going on for almost as long as there's been an issue to fix.

So today's gathering is just one more step in an ongoing process. Sun's Java EE implementation is now a thriving open source project and Sun announced at JavaOne that its Java SE implementation would be open source. As Mark points out,

in order to succeed we want to learn from successful open-source projects how best to go about this. To that end we’ve already started conversations with a number of well-known folks in the open-source world (up at OSCON a couple of weeks ago, for example), and you’ll see more transparency as time goes on. Just today, in fact, we launched a new Open-Source JDK portal where you can learn more about our progress and also participate in an open forum.

Today's update includes an outline roadmap (code releases start at the end of this year and continue into next), a licensing indication (it will be an OSI-approved license) and the news that Sun's Java ME code (CDC and CLDC) will also be open source around the end of the year. I know many of you want to know more and want us to go faster, but the truth is that it's not ambiguity, it's due care and attention and respect for the existing community working on Sun's code. Expect a steady stream of news from now on, as well as an honest desire for dialogue with everyone.


[Trackback] Simon Phipps, Sun’s chief open source strategist, has posted on his blog saying that open sourcing Java is “an ongoing process”, but it appears it is one that has started and now is gaining momentum. In an informal breakfast in Londo...

Posted by Gizbuzz on August 14, 2006 at 09:08 PM PDT #

I hope you release the KVM as well as the higher-end JIT-ing VMs. The KVM is perfect for millions of embedded scenarios where you don't want or need a compiler and the extra code, complexity, memory usage, etc.

The KVM is getting no love, and Sun hasn't enhanced it since 2003, so setting it free will be great for it. I also think Sun should also throw a couple of people at it--it ships on hundreds of millions of devices!

BTW, MIDP is very low-end and yucky and reminds me of WAP. You should build embedded Java APIs good enough to run the entire User interface of a phone off of. I think embedded devices could run Linux in kernel mode and Java, even interpreted Java, for everything else. With lots of Linux code, the perf of the interpreted code won't be bad.

Finally, I've heard Sun say that open sourcing Java will not change anything. Thats like saying that Linux didn't change when Linus released it. The answer is that:

people will consider using it more than they do today, especially when it has more reach. Java only runs on a few of the platforms Debian supports. When it is Open Source, if you fix your relationship with the Open Source community, they may port it to all the Debian platforms--which will encourage more people to use it.

Java also has many great opportunities in many other places you might have not considered: for example the supercomputing space. The fortress programming language is a bad idea, but the metadata and dynamic features of Java make it much better for HPC than OpenMP and the other nasty old sh\*t.

The shame about Java is that if you had Open Sourced it 10 years ago, the use of PHP, XUL, Python, C#, Perl, etc. would be a lot smaller, FireFox and Gnome would possibly have been written in Java, etc. etc. The tower of babel situation and the fact that C/C++ have not been killed as they should be, is an \*enormous\* tax on the productivity of the software industry. And, a lot of it is Sun's fault for not creating open standards and free code like AT&T did with C and C++.

I think you should try to convince the FireFox guys to re-write, incrementally, in Java. My Ubuntu computer has so much C and C++ code I could cry. Pick a big group and engage them. I would like to see more investments in a Java database and Java search engines.

When you Open Source Java, you have the potential, and should have the goal, of killing all user mode C and C++ and getting all code managed by a Virtual Machine. That would be a huge change for the Open Source development community!!

BTW, a lot of the Java standards are bloated and complicated (J2EE, JXTA) and Java has warts. Don't let backward compatibility prevent you from progress.

Good luck!


Posted by Keith Curtis on August 17, 2006 at 12:37 PM PDT #

Post a Comment:
Comments are closed for this entry.

Thoughts and pointers on digital freedoms and technology markets. With a few photos too.


« July 2016