Sun Microsystems' newly established Java Software division is poised to take Java from the technology stage into the products stage of its evolution. IDG's Niall McKay recently spoke with Jim Mitchell, Java Software vice president of architecture and technology, about how Java will evolve into Sun productsMcKay: I have to ask the Hewlett-Packard question. HP has stated its intention to build its own Java virtual machine for embedded systems. Do you welcome the competition?
Mitchell: Well, I'm quite unconcerned about the competition of someone building another virtual machine implementation. I actually want to see lots of clones.
But if they add byte codes or change Java, by say, adding one or two new statement types to the language, that would upset me, because their Java would no longer be compatible with our Java. And if they're not compatible, then I think that their motives are suspect. They are, after all, doing this without any licence from us for the intellectual property. Maybe they thought they automatically had a licence around the embedded Java spec or something. But at the moment, for what they're doing, they have no licence. What the consequences of that are, I think, will depend on how they behave and how we talk with them.
There were reports that Sun was going to get into the application server business. Is there some confusion between this product and this Java Server Engine product?
Yes, I think so. The Java Server Engine really is a framework for servlets and gives you access to lower-level protocols such as TCP/IP via sockets. Well, it turns out you can make Enterprise JavaBeans (EJB) look like a servlet and run them on this framework. So in that sense it's an application server.
But EJB is clearly made for doing real industrial strength enterprise applications, and the Java Server Engine is a framework for dropping lots of lightweight code on. It's more like a backplane that services can be plugged into.
Is Sun trying to generate revenue or encourage the deployment of Java?
No, I think it's enabling technology. Just like we get zero revenue from the JDK (Java Development Kit) as used by the developers, right? That does not mean we will sell it for zero, because you have to put engineering in it, but we want it to be everywhere.
IBM recently stated that it's a reformed monopolist, and Microsoft is having its day in court now. Will we have the same problem with Sun in 10 years time?
Well, I think there are some differences. Microsoft doesn't license source code. That's a very important difference. Microsoft has never enabled a new software industry in Taiwan. Yes, I said software industry.
In Taiwan they know how to put together PCs, but they only get the binaries for Windows and their PC has to run it. That's what compatibility means in that world - exactly the same code.
So we license source, number one. Number two, we actually made our specs open; there are no hidden interfaces that we know about and you're not allowed to know about. And we published those specs and said there can be clones with a few rules on the clones because of the primary value proposition of Java being "write once, run everywhere".
That's quite different from what Microsoft has done. My claim is the Java horse is out of the barn and we can't bring it back.