According to Scott Hebner, IBM's director for e-business technology marketing, the company isn't releasing these open-source tools out of pure kindness. Instead, let's call it enlightened self-interest: by encouraging the use of Java on Linux, IBM hopes to sell related products--like e-commerce application servers or development tools like VisualAge.

"We see the value proposition here in the development and deployment of an open platform," he says."To do this, there are a number of initiatives that are important but don't do it on their own--XML is obviously important, as is Linux for servers and Java for development. But you need to combine tools from these initiatives."

Supporting Linux is just one piece of the puzzle, a move that treats Linux like every other operating system. "The goal is vendor-neutral offerings in e-commerce, and that begins with Java technology," he says. "We are quickly become an agnostic to operating-system-independent environments. I don't mean to say that Solaris isn't important, NT isn't important, or AS/400 isn't important, but our goal is support all these major operating systems."

The hope is that IBM will become a more trusted vendor in a field--e-commerce--where trust is paramount. Compare IBM's actions with those of Sun, which still controls the future of Java but has generated considerable enmity in the Linux world through some questionable actions that are seemingly designed to make Java as proprietary as possible.

"The fact is that we're focused on more on the entire playing field than one operating system, and if Sun is focused on Solaris then that limits their ability to offer heterogeneous solutions," Hebner says. "One thing that's been very good about IBM in the last five years has been the focus on the marketplace. The thing about e-business: it's about being heterogeneous, getting businesses structures integrated. Our Java announcements are truly based on cooperating."

One of the dirty secrets of Java is that the platform is not nearly as heterogeneous as originally envisioned: there are some key differences between Java Virtual Machines (JVMs) from Sun and Microsoft that require vendors and developers to essentially support multiple platforms on multiple operating systems. IBM, on the other hand, released a fairly generic JVM that works the same no matter what operating system is used for deployment.

"We took [differences in JVMs] into account when creating our product--with the other JVMs, even though there are standards, you still have Windows or Solaris showing through," Hebner says. "We created our JVMs off of a common code base: the Linux, Windows NT, OS/390, AIX, and AS/400 JVMs work in the same way. This gives you a much better chance of a cross-platform environment."