This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Open Source

One year on, the Java community continues to build

By Bruce Byfield on December 12, 2007 (9:02:00 PM)

Share    Print    Comments   

What has happened in the year since Sun Microsystems released the source code for Java? While end users might be starting to wonder, those most involved in the building of the free Java community describe a thriving community that, after one year, is still working hard to reinvent itself. Free Java projects that existed prior to Sun's announcement on November 13, 2006, are either integrating into the OpenJDK community or continuing to provide alternatives -- but with greater resources in code. Meanwhile, within Sun, Java engineers are overhauling their processes as they learn to interact with a larger community. Problems exist -- specifically, the governance of OpenJDK and the need to replace encumbranced code -- but, although criticisms can be found online if you search, the mood of those involved in Java development seems optimistic.

Things weren't always that way. The community had pressured Sun to release the Java code for several years, and, when Sun finally did, the move was greeted cautiously, especially when only part of the code was released. Some sense of community may have been created in February 2007 at the Free and Open Source Software Developers' European Meeting, when community developers and Sun engineers met for the first time. However, according to Mark Reinhold, the chief engineer for Java at Sun, it wasn't until the JavaOne conference six months later, when most of the rest of the code was released, and that the community began to come together.

The process was eased somewhat, Reinhold says, by the fact that Sun had released source code before, particularly for OpenOffice.org and OpenSolaris. "I learned a lot from the OpenSolaris folks," Reinhold says. He also suggests that, in retrospect, the Java Research License, once vilified as a way for Sun to avoid releasing the Java code entirely, functioned as a dry run for the Sun staff and helped them learn to interact with outsiders.

Growing pains

In the last year, growth in the community has been slight overall, Reinhold says, but adds that, given that the community predated the opening of the code, and given the high level of expertise required to contribute, he wouldn't expect otherwise.

One exception is the Java mobile and embedded community, which was organized on the day of the announcement. Sun technical evangelist Terrence Barr notes that this community has grown in the last year to 500 registered contributors, with many others following developments. "We've captured the imagination of a lot of developers out there," Barr says. "This [kind of activity] is something you can't find any place else in the industry, and we're proud of that."

Meanwhile, those who struggled for years to reverse-engineer a free implementation of Java have had to adjust to a radically different environment. While some have resisted becoming involved with OpenJDK for personal reasons, including their reluctance to sign the Sun Contributor Agreement, others have embraced the changed situation enthusiastically. Dalibor Topic, a lead developer of Kaffe, one of the most advanced free Java implementations, now sits on the Open JDK interim board of governance.

Similarly, far from fading into irrelevance, as some predicted, GNU Classpath has remained a major Java project, providing alternatives for many parts of the code that Sun did not release, as well as some small-footprint alternatives for some parts of Sun's commercial Java code.

In fact, according to Classpath developer Michael Koch, Classpath's long-established community has emerged as one of Sun's strongest allies and advisors. "Sun talked with Classpath people a lot about how to do things in open source," Koch says.

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."

Topic agrees. "[Our] problems as such are all basically due to the necessary infrastructure inside Sun having to be ripped out and replaced by something that works for both developers working on JDK at Sun and the community. And that takes a lot of time to be done properly for a project of this size. Just flipping a switch does not work."

Critical issues

One of the outstanding issues in the Java community today is governance. The interim governance board was not signed into being until JavaOne -- six months after the community started to form -- and has spent the time since trying to establish the principles that should be in the community charter. Such work is necessarily slow, with points such as whether contributors should be regarded as individuals or representatives of a particular company or project needing to be thoroughly debated by the board and discussed by the community. Inevitably, the result has been slower progress than many in the community would wish, as well as some criticism of the effectiveness of the interim board.

"For now," Reinhold says, "Sun is still the benevolent dictator of the OpenJDK, but Sun is as hands-off as it makes sense to be." Despite the constitutional uncertainty, new subprojects have launched, and Reinhold says, "We still hope to have a draft constitution by the end of the year."

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.

Although progress has been made in the efforts to replace these pieces, they are currently incomplete. This fact, more than anything else, has led to the accusations of bad faith and broken promises sometimes heard about Java. For all the promises, the fact remains that, after one year, free software still does not have a complete implementation of Java, while Sun continues to combine the code generated by the community with its own proprietary code, and remains the sold provider of a complete Java implementation. After years of waiting, the complaints are perhaps understandable, if still unreasonable.

The next year

Asked if the project is where he thought it would be a year into its existence, Reinhold is philosophical.

"I had never led this kind of effort before, so I didn't have any particular expectations one way or the other. This has been a very dynamic process from the beginning for people at Sun. A lot of it has been about growing organically, figuring out what the next three or five things are that need to be done, and paying attention to the free software world about what we have forgotten and what we cold be doing better. Looking back, I think that things are actually going well."

These sentiments are ones that Java insiders seem largely to share. Classpath developer Mario Torre is joking, of course, when he says that "By next year Java will be completely free, and .Net/C# will be a just a thing of the past," but the optimism observable in the free Java community sometimes seems only relatively more subdued.

"The first year was largely about code," Reinhold says. "The second year will be largely about getting the governance into place and getting Sun's engineers further out into the open." According to Barr, these plans include providing access or alternatives to Sun's internal quality assurance and bug reporting tools to community members.

"Despite some of the naysayers you'll find out in the blogosphere, you'll find that we're making good progress," says Reinhold, sounding pleasantly surprised. "I think that, a year from now, we'll probably be pretty happy about where we are."

Bruce Byfield is a computer journalist who writes regularly for Linux.com.

Share    Print    Comments   

Comments

on One year on, the Java community continues to build

Note: Comments are owned by the poster. We are not responsible for their content.

One year on, the Java community continues to build

Posted by: Mr. Psychopath on December 12, 2007 09:57 PM
I think it's great the Java's gone open source. Hopefully this will mean people will find new ways to make it lighter, faster, and better! Hooray!

#

somewhat related

Posted by: Anonymous [ip: 66.122.165.195] on December 13, 2007 12:41 AM
I have a suposition that video game development is analogus to space exploration. The accomplishments are gratifieing and, the consequences in my opinion can give any age access to knowledge and development of parrallel processing and application valuable in the advancement of cluster, distributed and HPC. I would start with an interface to help maintain a static library that is added to rather than changed and deleted. Underlying implementation as time demonstrates can be a moving target, can be implemented and upgraded as can applications. Some initial features would be moving a dot using interface module libraries allowing the dot to be replaced by figues and there movement library modules to piecetogether charactures. A start mite be a rendering programe that applies and teaches rendering techniques by using scetch fonts or applicay of geometry to stick figures then serface techtures that can be applied to geometry to smooth serfaces and creat serface structures that are linked to underlying levels to provide integrated motion. I would like access to frame buffers (multiple frame buffers that can be accessed as a functional component of some other frame buffer like walking through a door to another room and back or help layering) and the ability to manipulate fames and fame subsets directly using programe modules. Probably reletive motion of background and background areas would be usefull. As a start simple animation evolved from rendering such as a screen saver of a jack in the box that plays round and round the mulburry bush mite be a project to demonstrate entry level familiarity.

#

Please, Other Languages on the JVM!

Posted by: kripkenstein on December 13, 2007 06:23 AM
"By next year Java will be completely free, and .Net/C# will be a just a thing of the past"

Joke appreciated, but being serious for a minute, as I see it there is one critical thing needed here for Java to really overtake .Net: _other languages on the JVM_.

Yes, I know we have Jython, JRuby, etc., but these are not sufficiently good. I would love to see Sun officially announcing support for language-independence on the JVM, because as it is, this is a big advantage of .Net. In particular the popular dynamic languages Python and Ruby would bring a lot of people into developing code to run on the JVM.

[Modified by: kripkenstein on December 13, 2007 06:24 AM]

[Modified by: kripkenstein on December 13, 2007 06:25 AM]

#

One year on, the Java community continues to build

Posted by: Anonymous [ip: 203.171.68.253] on December 13, 2007 09:50 AM
Is the word 'encumbranced' in any way related to the word 'encumbered?'

#

One year on, the Java community continues to build

Posted by: Anonymous [ip: 198.190.216.50] on December 14, 2007 05:10 PM
See this person's blog at www.computingwishlist.blogspot.com. While Google may not be the best person to fill this need, the need exist, nonetheless. Until Java offers a way to develop applications with the ease of VB.net it will struggle to advance significantly. The current level of power (and difficulty) of java naturally compares to C++ or C#. All three are very able development platforms and capable in their on regards but none match VB.net for it's ease of use, true Rapid Application Development and quick learning curve.
Although many people disregard VB as not a "true" development platform, it is undeniably widely used. Many more stand alone applications are written from small scale to large scale on VB than any other platform.
Java needs a way for more people to write simple apps that fill their needs with a simpler syntax but that would compile to the java runtime. The SUN Project Semplice was on track for this but died.
This would truly give java a move toward overtaking the .net framework because it would offer an easy Java Basic platform for one end of the spectrum and the high powered java language for the high power apps and suites.

#

One year on, the Java community continues to build

Posted by: Anonymous [ip: 82.207.51.139] on December 15, 2007 06:49 AM
See this person's blog at www.computingwishlist.blogspot.com. <A HREF="http://www.shepetivka.org.ua/">I ready </a>

#

One year on, the Java community continues to build

Posted by: Anonymous [ip: 86.143.14.98] on December 20, 2007 10:28 PM
My understanding is that the list of encumbrances is now shorter and some of the graphics ones have been fixed.

gnu_andrew

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya