Some free Java projects exist for specific purposes, like the Apache Harmony project which seeks to develop a version of Java for the larger Apache project. However, until now, the main reason for free Java projects has been the fact that, although many Java-based projects used a free license, Java itself did not.
In an essay, Richard M. Stallman of the Free Software Foundation (FSF) characterized the paradox of free software that depends on non-free software as "The Java Trap" and warned strongly against it.
In response to Java's licensing problem, numerous efforts to develop a free version of Java have sprung up over the years, including Kaffe, Classpath, and GNU Compiler for Java (GCJ). In the last few years, the merger of Classpath and GCJ in particular has resulted in a level of maturity for free Java that could run such programs as Eclipse, or, with a few hacks, the Java-based code of OpenOffice.org. However, these results were never as complete as Sun Java, and generally lagged behind its latest versions.
Community leaders' reactions
With Sun's announcement, this situation appeared to have changed overnight, and the reaction is almost uniformly positive from community leaders. In fact, although Stallman is frequently accused of being anti-corporate, his response to the announcement has been nothing but supportive towards Sun.
Reacting to the rumors of the release that have been circulating for several weeks, in an interview with FSF Europe, Stallman stressed that, while an earlier release might have saved much of the effort in the free Java community, it would be important not to hold grudges and to accept Sun into the community. He also suggested that the growing progress shown by the free Java community would undoubtedly be part of the reason for the release.
For the actual release, Stallman cooperated so far as to record a video to accompany Sun's announcement. Ironically, this video is only viewable using the non-free Flash player, but, in it, Stallman has nothing but praise for Sun's action. "It will be very good that the Java trap won't exist any more," Stallman says. "I think that Sun with this contribution has contributed more than any other company to the free software community in the form of software. And it shows leadership -- it's an example I hope others will follow."
In another video, Eben Moglen of the Software Free Law Center was equally enthusiastic, calling the release "an extraordinary vote of confidence" in free software and stating that, by helping the free software community, Sun was also helping itself.
Other community leaders who contributed video interviews to the release include Brian Behlendorf, Tim O'Reilly and Mark Shuttleworth.
Many developers responded with the same enthusiasm. "This is actually a great shot-in-the-arm for the Kaffe project," says Jim Pick, Kaffe's maintainer. "We can now legally copy code straight out of Sun's JDK and use it in Kaffe! Expect us to start doing this very soon. All of the developers seem very excited."
One of the most important benefits of the release, Pick suggests, is that Kaffe can now "compare and test our implementation against the official one, without having to worry about getting on the wrong side of a lawsuit from Sun."
A similar sense of excitement is obvious in the reactions of most developers. Yet, at the same time, free software developers are more cautious in their reactions than the community leaders.
An early note of caution was sounded on the day of the release by Debian developer MJ Ray. "Don't get too happy." Ray warned on Debian Planet, pointing out that, according to Sun's FAQ, the plan is to "to release a fully buildable JDK based almost completely on open-sourced code in the first half of 2007," and emphasizes what he objects to in the statement with, "Almost, in 2007. Close, but no cigar yet."
Pers Bothner, once the technical lead for the Cygnus Java project, which did the initial work on GCJ, and now a contributor to a number of free Java projects such as Kawa and JEmacs, had a similar reaction. Earlier in the day Bothner's first reaction was to call the release "very good news," although he also pointed out that "Lots of people have worked hard on GNU Classpath, GCJ, and related projects, and probably some of these efforts could have been spent more efficiently if Java had been available sooner under a GPL-compatible license." Yet, by the end of the day, Bothner, like most developers, had become noticeably more cautious as he considered in more detail what the news would mean to the community.
The show goes on
In the interview with FSF Europe, Stallman anticipated a possible merger of free Java and Sun code. That merger may still happen, but the free Java community isn't necessarily counting on it. In fact, most members of the community anticipate that many free Java projects will continue.
The question of whether free Java projects will continue, Bothner writes on the GCC mailing list, is neither "dumb nor obvious." Bothner points out that, from comments in an interview with Tim Bray, some Java libraries may not be included, so free software equivalents may be needed.
"It seems plausible that we would merge in much but not all of Sun's code as Sun frees it," Bothner continues. He raises the question of whether some free Java implementations or applications may prove preferable to Sun's equivalents, while others may not be compatible. Such issues, Bothner writes, are "partly a technical question, partly a licensing/political one, and partly one of pragmatics."
Mark Wielaard, the GNU Classpath maintainer and a major contributor to GCJ, and Eclipse, says much the same. "There are lots of issues that we will have to look at," he tells NewsForge. "Can we combine GNU Classpath, GCJ, Kaffe, Cacao, JamVM, IKVM, etc. with the liberated Sun code immediately in such a way that we have an even better free platform really soon? How does the platform coverage compare between Hotspot and other [runtime environments]? What kinds of innovations can we carry over or must be kept separate? And how do we move the whole research field and GNU Classpath community projects (20+ now) forward without needing to rebase everything on some new code base?"
Many of the answers, Wielaard points out, will depend on "what parts of the core library [that Sun] can and cannot release over the next six months" as it prepares for the next code release. But, no matter what the answers, clearly Wielaard does not foresee the disappearance of free Java projects in the short term, nor even in the long term.
"People are asking what this means for Apache Harmony. I don't think that it will change our day-to-day life much in the project. We have the same goals, the same problem to solve, the same work to get done. As I've noted elsewhere, Apache and Sun have different communities, with different licenses, different conditions for contribution and different governance models. Apache projects are a collection of peers, and each of us our own reasons for participating. I believe that this good news today from Sun doesn't change what we'll be doing -- it just means even more open source Java, [and] choices for users and contributors."
In the end, the general attitude is that, no matter how many lines of code Sun ends up releasing, the company is just another contributor to Java -- and not automatically the most important one. "As significant as their contribution is," says Joel Dice, a GCJ contributor, "Many existing free Java projects remain relevant because they try to do more than simply provide a conforming implementation of Java. GCJ is an excellent example -- it's still far better than anything else for mixing Java, C++, and C code in the same program. Sun may accept or ignore any such line of experimentation as part of the 'true' Java, but we need not measure its success based on that alone."
For most free Java developers, the main point of the news seems to be an increased sense of possibilities. "I am sure you will hear great things from us all when we are done partying," Wielaard says, "And we exercise our freedom to innovate freely."
Bruce Byfield is a course designer and instructor, and a computer journalist who writes regularly for NewsForge, Linux.com, and IT Manager's Journal.