O'Reilly    
 Published on O'Reilly (http://oreilly.com/)
 See this if you're having trouble printing code examples



Two weeks ago, Tim O'Reilly asked me whether I thought Sun ought to release a "free" (I guess the currently fashionable term is "open source") version of Java, like Netscape is doing with their browser. I told him that the idea was interesting, but Java was probably better off in Sun's control. After all, Microsoft is actively pushing a dumbed-down pseudo-Java in order to split the developer community; this is a threat that Larry Wall and the Perl folks, or Linus Torvalds and the Linux developers, don't have to worry about. At least, not yet. Furthermore, it's important for the Java platform to be used commercially, and too many important commercial users are scared to death of free software. As far as I can tell, the reasons for their fear are completely irrational, but you can't control other people's fears. So I told Tim that, for the time being, Java was best off under Sun's control. And Sun has made their development process incredibly open: they actually do listen to comments from Java developers; they actually take suggestions and fold them into their APIs.

However, that doesn't mean that free implementations of the Java platform are unimportant. Fortunately, there's a lot of exciting work going on. Kaffe has been around for some time; it currently supports Java 1.1.3. A newer arrival is Japhar, a free independent implementation of the Java VM created by The Hungry Programmers. Japhar currently supports Java 1.1.5 on Linux, FreeBSD, and other systems, and promises to be a major contributor to the Java scene.

Why is a free implementation so crucial to the success of Java?

The paradox that Sun and JavaSoft face is that it's hard to make Java a standard and remain a commercial developer. Standards have to be implemented by competing vendors; if they're not, they're just monopolies. No one except a Microsoft marketing executive would ever mistake Windows for a standard. However, Sun can't afford to consign Java to a standards body--at least not yet. If there's one thing standards bodies do really well, it's slow down the development of important technologies while vendors with vested interests wrangle over meaningless details. (Sun's status as a PAS submitter with ISO does exactly what's needed: it allows the Java platform to become officially standardized without the bureaucracy of international standards committees.) So it's important for Sun to remain in control, yet encourage competing implementations. That's a difficult tightrope to walk, and I don't envy any JavaSoft executive who has to make the tough decisions it implies. As I said earlier, Sun has done an excellent job of listening to suggestions and criticisms from the Java community. They've done a less than excellent job of making Java accessible to commercial developers who want to incorporate it into their products.

Free implementations of the Java platform give Sun the best of both worlds. They don't have to let go of the reins, but they can let packages like Japhar and Kaffe spread the Java platform to developers who can't afford a JavaSoft license, the many talented developers who want to work on LINUX or FreeBSD, and others. Sun does not have to do everything itself. If Scott McNealy, Alan Baratz, Jonathan Schwartz, and others in the Sun hierarchy understand the importance of free software and what it adds to the Java picture, they'll do everything they can to encourage the development of free Java implementations. Short term, they may lose a few customers to free competing implementations, but the stakes are much higher. As long as the Java pie keeps growing, Sun is sure to get its share.

Mike Loukides

Copyright © 2009 O'Reilly Media, Inc.