The open source and free software communities have embraced Java, and the fruits of that relationship are starting to show. On the server, projects like Jigsaw, JBoss, Enhydra and Apache's Jakarta are flagship efforts with mature and stable products. Java client applications are showing strong promise with projects like JEdit, Jext, LimeWire, NetBeans, BlueJ, ArgoUML, and many others. And many open source XML tools are often developed in Java only or Java first.
In conjunction with my latest book, Essential XUL Programming, my co-authors and I have launched an open source project called JXUL with the aim of combining the XML-based User-Interface Language (XUL) with the Java platform. From a programmer's perspective, the two key benefits of JXUL are the ability to run XUL applications from Java using XulRunner, and the ability to use snippets of XUL to generate Swing components.
It is critical that the Java platform continue to attract open source developers. Open source Java development provides a wealth of tools, applications, and components that keep Java development cost-effective and Java developers productive.
Here are three specific actions Sun can take to further open source Java:
GPL the Java Vitual Machine As society grows more dependent on technology, an operating system is the most appropriate class of software for full source code disclosure. As the JVM is an operating system wrapper, it also falls into this category. (Apple's Darwin is a good example of how well this works in action.) The GNU Public License is Microsoft's Achilles heel, and when has Sun shied away from an opportunity to poke Microsoft in a sensitive spot?
Port the JVM to FreeBSD This is the number one request for enhancement on Sun's Bug Parade. Sun could even partner with Apple on this, since MacOS X is based on FreeBSD.
Bring back (and open source) the HotJava Browser We need a standards-compliant, open-source pure-Java browser. HotJava should be open-sourced and merged with the NetBeans browser project. Additionally, HotJava and the NetBeans browser project should support XUL applications. To save money, Sun could shift the Java plug-in team to the open source HotJava team, as both projects achieve the same end goal. What other client application is a better test of a virtual machine? In fact, it would be great if Microsoft would build a C# browser so we could have a "mano a mano" browser battle!