Open-source Java continues to grow up

Java is becoming a richer open-source ecosystem, but the progress hasn't been painless.

Last year Sun open sourced Java. One year later, as reports, the community around Java is growing and thriving, though not without hiccups. The Java community has had to learn how to work with Sun and, more pertinently, Sun has had to learn how to work with the Java development community.

It has not been easy:

Inside Sun, developers have also struggled to adjust. "A point Simon Phipps [Sun's chief open source officer] often makes," says Reinhold, "is that when you take what has been a proprietary internal engineering team and move it to open development, the right model is not, 'Oh, now we're going to grow a community outside our company and then figure out the right way to interact with them.'

"The right way to think about it is the engineering team, which up until now has been operating in a closed fashion, is the initial community. And the job of expanding the community is that of building bridges to those outside the community who now want to join it, educating people outside the company who need to learn about engineerng standards and processes, and also changing some of the behaviors of the initial engineering team, so that they do cooperate in a more open and transparent manner. It's really a matter of taking what's there and growing it."

I believe Sun has its heart in the right place, though it's clear that the company has stumbled at times in its efforts to shed its proprietary past. Jonathan has been the standard bearer, but his troops have not always stampeded to follow him.

But it's not just a matter of conflicting company and community goals. In open source, community follows code and licensing. I believe Sun got the licensing part of Java right, except the parts that it cannot or will not license:

On the technical side, the main issue remains the missing code that Sun either cannot provide, since it was licensed to third parties, or will not provide because it wishes to protect its copyrighted assets. Barr and Reinhold both estimate that this encumbered code amounts to 4-5% of the total Java code base, but that is still about a quarter million lines of code.

Moreover, although the rest of the code is enough for many purposes, the missing parts are often significant one. According to an interview on the Fedora wiki with Thomas Fitzsimmons, the lead developer of IcedTea, which is a project specifically designed to fill the gaps in functionality, what is missing includes the font rasterizer, the graphics rasterizer, color management, plugin support, and sound.

Sun really needs to figure this out. I'm not suggesting that it's an easy process: If it were, the company would already have done it, no doubt. But to be useful to developers, they need more, not less, of the code, and especially critical components. It's like inviting guests to one's house but not letting them use the kitchen. They can still relax and sleep, but you don't want them constantly having to leave to find food elsewhere.

At any rate, given the size of the task and the importance of Java, this was never going to happen overnight. It's good to see that progress is being made.

Featured Video