ONJava.com -- The Independent Source for Enterprise Java
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button


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?

  • First and foremost, there's LINUX and FreeBSD. As one LINUX developer somewhat smugly put it, LINUX is the only UNIX-like operating system that's gaining market share. That's certainly an exaggeration that FreeBSD enthusiasts will take exception to, but the overall point is certainly correct: free UNIX implementations are rapidly growing in popularity. Even more important, the LINUX and FreeBSD communities have a wealth of talented developers. LINUX is the operating system of choice for many of O'Reilly's Java authors. And both LINUX and FreeBSD are making inroads as commercial servers. Sun could do nothing better than get the free software community to line up behind the Java standard. That won't happen without good free ("open source") implementations of the Java platform. Sun has already gone further than most commercial vendors by releasing the source code for most of the Java packages. But LINUX and FreeBSD developers won't unite behind the Java platform en masse without good implementations for their operating systems, preferably with open source.

  • The free software community supports standards. While they won't march in lock step to JavaSoft's beat, you don't have to worry that LINUX developers will decide they need to be compliant with Microsoft's pseudo-Java. The idea that the Japhar developers would say "Let's not implement RMI; after all, Microsoft gave us DCOM, and we'd rather implement that" is just ludicrous. If nothing else, they'd end up with a very expensive lawsuit. The more good implementations of the Java platform exist, the harder it will be for Microsoft to push a non-compliant implementation.

  • JavaSoft has not been easy for small software developers to deal with. I don't know whether they have bigger fish to fry, and would rather be sipping white wine with Sony executives, or what, but the biggest problem with Java right now is that it's not easy for small developers to get a license. But ultimately, the success of Java depends more on its adoption by 10,000 small software companies than on a few dozen megaliths. A free implementation of the Java platform eliminates the problem of dealing with JavaSoft, and facilitates Java's adoption by a broad range of developers: you can license Sun's implementation if you think you need to, or you can work from a competing free implementation. Kaffe claims to support two dozen platforms, including exotica like the Amiga.

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