Open source Java presents world of opportunities

Developers, others hail move, but some unimpressed

Now that Java is going open source, what exactly does that mean? Developers and others worldwide say it opens up a world of possibilities.

New opportunities are presented on Linux as well as in the desktop and mobile spaces. Also, open source developers who might have shied away from Java because of its commercial implications now can jump in the pool.

Sun unveiled plans to make Java open source available under the GNU General Public License on November 13. The move "has a huge impact on the open source world," said Jeff Waugh, director of the Gnome Foundation, which is building a desktop environment for open source and Unix systems.

There has been a wall between Java and open source as far as desktop applications; the open sourcing means Java can spread on the desktop, said Waugh, in Sidney, Australia.

"Now that Java will be open source, it means it will be able to be included in any Linux distribution by default," Waugh said. "That allows us to create desktop applications in Java," and distribute them with Linux, he said.

Java now can vie with C and C++ on the desktop, Waugh said. Additionally, mobile application development becomes more Java-friendly, he said.

"Given that Sun [is] also open-sourcing Java ME (Micro Edition), that allows Gnome developers to create Java applications that can work across the desktop and embedded devices," Waugh said.

Open source Java also makes Java more competitive with Mono, which is an open source implementation of Microsoft's .Net development platform. Java becomes available to desktop developers such as Mono, Waugh said.

"It will be interesting to see the lay of the land between Java and Mono," Waugh said.

Open-source Java may even prompt the death of some projects.

"It should make the Classpath project obsolete," said Casey Marshall, a contributor to the Classpath project, from Santa Cruz, Calif. Classpath is a GNU effort to write a free version of Java class libraries.

"A lot of work that I've done could be relegated to the dust bin of history," Marshall said. But Marshall is not disappointed. "I don't think that personal glory is the ultimate goal of free software," he said. The Classpath project may be able to fill in some gaps on any class libraries that Sun cannot open because it does not own them, he added.

An open source Java will bring new developers to the platform, said Dalibor Topic, a lead developer on the Kaffe project, which involves development of a free Java virtual machine.

"I think it greatly boosts the perception of Java as a managed runtime technology in circles that wouldn't have considered Java as easily," because of the "Java trap," Topic said. The Java trap has involved an issue in which distribution of free software containing Java was hindered by Java's previous licensing terms.

With open source Java, developers who did not have the opportunity to look at the source code now can do so, noted Topic, of Saarbrucken, Germany.

By having Java available under the GPL, "it makes it possible to take your virtual machine and port it and include code from other applications that are open source or under the GPL," Topic said. Code can be exchanged with other projects, he added.

Sun, however, may face an obstacle: its own culture, Topic said.

"I think an interesting challenge is going to be to make sure that the culture within Sun that exists around the code base works well to this whole process of opening up," Topic said. Governance of Java, as far as dealing with contributions, also will need to be worked out, he said.

A developer in Sao Paolo, Brazil who is a former Sun employee called the open source move a great step and one that was a long time coming.

"I'm one of the people who have been asking for an open source Java implementation for quite some time," said developer Bruno Souza, who heads up the SouJava Java user group in Sao Paolo.

Open source, Souza said, "is the best way to develop software and is the best way for people to use software."

"It actually puts control of the software into the hands of the user," Souza said. If a vendor stops developing a piece of software, for instance, the community at large can take on that task in the open source paradigm, he said.

The open source move means Java developers and others can partner with each other and distribute the results instead of just collaborating with Sun, Souza said.

Souza listed a slew of potential projects that can be undertaken in the open source world. These could include an improved font rendering system and enhancements to the Swing UI, Souza said. Java also may be extended to new platforms and even to video games, he added. Application time issues can be resolved in the Java virtual machine and Java tools and documentation can be translated to new languages.

An open source community integrated with other efforts must rise up for Java to reach its potential, Souza emphasized. "People think once it's open sourced, then magically it gets better. That’s not really true," he said.

Although the community has been able to look at Java source code, now they can do more innovations and modify the code, said analyst Michael Cote of RedMonk.

"It’s pretty wide open at the moment," Cote said. "There's already several people who have been writing GPL versions for the VM (virtual machine)," he said, adding that new virtual machines might offer better performance and be easier to set up.

A wider audience is now able to use and learn about Java, he said. "There's a lot of open source developers who aren't interested in developing in commercial platforms," Cote said. The GPL brings a lot of open source advocates in the mix, he said.

As far as potential incompatibility issues that arising from the open sourcing, developers will be motivated to ensure compatibility, Cote said. Compatibility is a main advantage of the platform, Cote emphasized.

"You don't have to have a bunch of if-then-else statements when you write to Java. You just write to Java," Cote said.

Still, the possibility of forking exists. But incompatible implementations could not use the Java brand, Cote said.

Despite the raves for the open-sourcing of Java in many corners, not everyone believes it will make all that much of a difference. Some chatters on the Javalobby.org site have expressed opinions in this vein.

"I could care less if Java is open sourced or not. I'm waiting for the day I can wash my hands of the Java language altogether," said one chatter. 

One poster griped about the design of Java. "Open sourcing Java won't clean the badly designed APIs," a chatter said.

But another chatter applauded the GPL choice.

"This also opens the field for broader contributions. Man, am I excited," one poster said.

In choosing the GPL option, a surprising selection, Sun seeks to boost Java on the Linux platform, Sun's Rich Sands, community marketing manager for the Java Platform Standard Edition, concurred. Java also can be more easily spread in markets that prefer free, open source software, such as educational institutions and in the developing world, he said.

"In looking at all those markets, we believe that the GPL is the best license to choose for facilitating adoption in those areas," Sands said. 

Developers also can experiment with Java technologies such as the Java C compiler and Java HotSpot VM and port HotSpot to new platforms, Sands said.

"Developers can learn how a world-class JVM is built, experiment with garbage collection, synchronization," and other components, Sands said.

Sun looks to monetize Java by selling subscriptions to its commercial releases of Java, which feature customer support. Java also can be used to expand sales of Sun workstations and servers.

Sun is not worried about incompatibility issues arising because the GPL requires that code changes be published. "It forces innovation into the open," Sands said.

"There's really no market for an incompatible version of Java," Sands said.

Copyright © 2006 IDG Communications, Inc.

How to choose a low-code development platform