In this installment of the "Future of Java" series, I look at the Java community of developers, and Sun's very first move towards open source Java. I recently spoke with Ray Gans, a program manager for Java SE at Sun Microsystems, regarding Sun's role in the Java community environment starting with Java SE 6 (Mustang). What began as Project Peabody, where Java SE developers posted their code weekly for the world to download and see, is arguably one of the first steps Sun has taken towards open-sourcing Java.
Project Peabody is now known as the JDK (or simply Java) Community. Moving towards a participant model for future Java development has given Sun deep insight into both the open source world, and the world of Java developers. Listening to developer feedback provides benefits to both Sun, and the developers who provide that feedback, and in turn has led to a major culture change within Sun. Let's explore this change in more detail.
In November of 2004, Sun decided to give developers access to the source code for early builds of Mustang (Java SE 6) on https://mustang.dev.java.net. People were encouraged to download the code, look at it, and provide feedback. Binaries were made available under a special click-through evaluation license, and the complete source code was available through the Java research license. A lot of excitement was generated right from the start, with over 10,000 downloads of the code drops per month.
Information is a Two-way Street
In March 2005, the program was expanded, and a number of projects were opened up to the JDK community through http://java.net. People had a place to discuss the code, create prototype and research projects online, provide general code enhancements, and contribute bug fixes. If you were at JavaOne this year, you might remember that special recognition and a Duke's Choice award was given to Brian Harry for his outstanding contribution to the Java SE project (114 bug fixes).
If you Sun management why they have put so much time, energy, and resources into opening the Java SE source code to the community, the answer is simple: to provide an environment for information to go both ways (both to and from developers). The goal was to remove barriers with, namely, developers, and to show that Java was built on a good source code base. Even for those not interested in the source code, the availability of early binaries and a site where feedback was welcomed has provided an avenue for people to give their opinion on Java's direction and future.
All of this work has proven to be helpful to both Sun and developers. A dialog between the parties has been opened, and the potential for "surprises" regarding the future of Java has been reduced, if not completely removed. This is further proven by Sun's encouragement and funding of its internal resources (those working on Java) to actively blog about Java SE 6 and 7 (Mustang and Dolphin, respectively).