Free Java Now!

Opinion: Sun is struggling to come to terms with open source.

My recent trip to Portland, Ore., for the OReilly Open Source Convention was quite enjoyable. Not only did I find a great fast-food place called Burgerville in the city, but I was also absolutely dazzled by Damian Conway and his conference talk "Fun with dead languages." During the talk, Conway demonstrated (with running code) the syntactic benefits of developing in Latin.

Beyond double cheeseburgers and dead languages, one of the most interesting themes during my visit was that of companies and developers struggling to figure out how best to digest—or at least plug into—the processes and licensing frameworks that constitute free and open-source software.

Not surprisingly, OSCON attendees seemed convinced of the quality of particular free and open-source software projects, and of the general benefits of the open-source development model, but the potential loss of control that comes with open source is tough for many to swallow.

For me, and for many of the attendees I talked with, one of the most fascinating examples of a company coming to terms with open source is Sun.

This years OSCON was OpenSolaris coming-out party. (eWEEK Labs review of the first OpenSolaris distro, Schillix, is at However, the people at the conference were talking more about Javas open-source prospects. After all, the conference attendees seemed to be mostly developers, not operating system people, and developers rely more on Java for their livelihoods than they do on Solaris.

Sun President Jonathan Schwartz made an appearance during the big midweek keynotes, where he repeated the current Sun line on open-source Java: Sun is opposed to an open-source Java for fear of forking. Whats interesting, though, is that beating back the calls for an open-source Java looks to be the surest way to ensure that Java forks. Indeed, the forking has already begun.

On the same day that I watched Schwartz express his concern over a Java divided, I attended a talk given by IBMs Geir Magnusson on the Harmony project (incubator.apache. org/harmony). Harmony is an effort within the Apache group to create a compatible, independent implementation of JS2E 5.0, and of the Java run-time, under the open-source Apache License. The next day, I attended a session held by Red Hats Tom Tromey, who spoke on the state of free JVMs.

These sessions boiled down to three basic points:

Java, as its currently licensed, is relegated to second-class-citizen status on open-source platforms. Anyone who acquires a copy of Debian, Fedora or pretty much any other Linux distribution can expect immediate access to a host of popular development languages and run-times, none of which is Java. Compare this with the open-source implementation of .Net, Mono, which has rapidly begun accruing interesting new applications.

Individuals and organizations are investing significant effort toward making open-source Java a reality. Large IT vendors and individual developers alike have quite a bit invested in Java, and theyre willing to do what it takes to arrive at a Java implementation thats free of its current distribution limitations.

Theres quite a bit of work left to do. While the forces for free Java seem determined to loosen those chains, the shortest path—by far—to a liberated Java still runs through Sun. To its credit, Sun has already taken steps, in the latest version of its Java license, toward making an open-source implementation of Java possible.

Sun should reconsider its stance, however, against taking a more active role in the effort. Sun wants to maintain a certain level of control over Java, but it may lose that control if it grips Java too tightly: Once a free and complete implementation of Java does exist, its redistribution advantages will give it a competitive edge over Suns official implementation.

If Java were invented today, would it go anywhere if it were not freely licensed? I think the answer clearly is no, and I think that Sun, as an organization, realizes this as well.

Senior Analyst Jason Brooks can be reached at