Most readers will know the Java programming language as Sun Microsystem's baby -- its biggest weapon against Microsoft's world domination. The media have been filled with stories of Sun and Microsoft battling over Java. First Sun sues Microsoft for trying to "pollute" the Java language with Microsoft-only features; then Microsoft counters with claims that it makes the best and most compatible version of Java. On the season's fight card, this press release and lawsuit extravaganza is second only to Microsoft's battle with the Justice Department.
While most people may see two sumo-sized companies battling for superiority, the Java realm is evolving differently -- becoming a strange blend of small start-ups, jealous corporate partners and bigger monoliths bumping, jostling and pushing for control. While everyone cautiously agrees that Sun's rigid standardization is an important feature, there's plenty of griping about who pays whom for what, and many small companies are running in, looking to capture some of the crumbs.
That may explain how the JavaWorld magazine award for the best Java virtual machine went not to Sun but to a small Berkeley, Calif., start-up named Transvirtual -- a company that does not even pay Sun's Java licensing fee.
Transvirtual is a great example of a company trying to carve out a niche where it might win over some of Sun's business. The company makes a version of the virtual machine -- the translator that lets cross-platform Java software code run within a specific operating-system environment -- that requires a smaller amount of memory than Sun's. And since Transvirtual is pursuing an open-source strategy, desktop users can download a free copy from the Transvirtual site, along with all of the source code.
The company isn't doing this out of pure generosity: It hopes to attract attention and bug fixes by releasing the version for desktop systems for free, and plans to make money by selling another version -- one that's tuned for appliances like cell phones or TV set-top boxes.
"Our business is making Java for embedded devices like cell phones or Web phone," says Transvirtual CEO Tim Wilkinson, "for companies that want to put Java in some sort of a box that isn't a PC. The desktop version isn't right for them because it's too big."
Miles Jones, head of marketing for Transvirtual, says that licensees of the commercial version of Transvirtual's Java machine are getting something for their money: "Our custom edition offers its own AWT graphics library [which provides user interface tools], is portable to literally any platform, offers a very small footprint [and] runs more than twice as fast as the desktop version."
Sun, at least in its public pronouncements, isn't too worried about Transvirtual. Jim Mitchell, Sun's vice president for architecture and technology for Java, says that he's not too familiar with the company. "There are lots of clean-room versions," he says -- referring to the industry practice of cloning a language or a chip by employing programmers who work from specs to duplicate a product. Sun encourages such efforts, Mitchell explains: "We didn't do this to give up a revenue stream, but to encourage the Java language." He points out that Sun embraces many clean-room versions and supports them once the companies pay Sun for a license to the technology.
But that's not a step Transvirtual has chosen to take. Wilkinson says that he has no problem paying Sun to test the compatibility of his version of Java, but he's hesitant to buy a license because of its constraints. "I think that their relationship with Hewlett Packard shows that Sun really wants to have control," he says -- referring to the tumultuous battle between Sun and HP that led HP to start its own cloning program for Java. For now, Wilkinson wants to go it alone.
Transvirtual is clearly betting that its greater openness will draw users and customers to its software. Sun has recently made some high-profile moves in the direction of open-source code, but according to Wilkinson, "Sun's open source goes something like: You can go and get their code, you can play with the code and you can bug-fix it. If you're an individual or a university, then it's no big deal. But if you want it to be commercial, you've got to go back, make sure it passes their specification and license their brand from it."
Transvirtual users don't have to license anything; they got the code for free and they can use it as they like. On the other hand, they are constrained by terms drawn from the Gnu Public License, the original "free software" contract: If they release a product, they must also include the source code. This can be just as constraining for companies that want to keep their source code proprietary.
Sun's Mitchell argues that all of this freedom is nice, but it runs the risk of compromising Java's big feature -- the ability to run consistently on many different operating systems and platforms. He says that there's little Sun can do to stop independent clean-room operations like Transvirtual, so its goal is to provide good services and support to those clean-room operations that have obtained Sun's license.
"[Transvirtual has] never come to us to get the compatibility test," Mitchell says. "It's a really hard thing. I would almost guarantee that they don't have a compatible clean-room application. It may be pretty close, but it's so hard to get compatibility."
In the end, he predicts that Transvirtual will come join Sun to ensure perfect fealty to the Java specifications: "They'll have a certificate to prove it. They'll get the code. The certified clean-room implementation will always have a time-to-market advantage and a compatibility market advantage."
Transvirtual is not the only company trying to build its own version of Java. NewMonics, for instance, is concentrating on producing a version that provides guaranteed performance for applications requiring predictable responses. Microsoft also continues to build its own version.
The fact that small companies are filled with people willing to bet some of their time on a technology is usually a good indication that it is maturing and winning acceptance. Java is now a common tool in many large companies, where its users are intensely interested in achieving the best performance possible.
That leaves Sun with a difficult decision. It wants to keep Java homogeneous and uniform, so developers will experience a bug-free existence as they move their software from platform to platform. But it can't stop cloners from building clean-room versions, and users like the results of competition and choice. Perhaps Sun will be able to find a middle ground and eventually work with companies like Transvirtual, who are both partners and competitors.
Jones seems to think that this orchestrated competition is a viable solution. He says of proprietary approaches like Microsoft's Windows CE, "I think in the appliance marketplace, proprietary systems will lose. There's no point in hitching your star to one company. Once you do, you become completely dependent on them. With a standard system like Java, you're assured of fair treatment
because you can acquire compatible solutions from multiple vendors."