Two open-source development-tool projects--Eclipse, backed by IBM, and NetBeans, initiated by Java inventor Sun Microsystems--seek to make building Java software simpler by defining a common structure to link development tools. Each aims to create a software framework, called an Integrated Development Environment (IDE), to connect code editors, analyzers and debuggers from multiple companies so that tools will be easier to learn and use.
However, vendor politics and slightly different technology approaches have led to fears that the efforts, each meant to unify theJava tools picture, could in fact lead to further splintering.
This week at thein San Francisco, there are signs that each side is making efforts to find common ground. IBM's Adrian Mutu, a marketing manager for WebSphere Studio tools, said the two sides "need to come together." Simon Phipps, chief technology evangelist at Sun, said that NetBeans engineers are exploring ways to link NetBeans and Eclipse and that Sun has approached IBM about merging the two projects.
The possibility of a unified open-source IDE for Java is good news for developers and would make Java more accessible to less experienced programmers. While Java IDEs are available from Sun, Borland, IntelliJ and other software makers, they cost anywhere from several hundred to several thousand dollars and can be intimidating for novice developers.
Analysts said cooperation between IBM and Sun on Java tools is essential to battle Microsoft for developer loyalty. The key for Java's continued growth, analysts say, is to emulate Microsoft's work with Visual Studio.Net, which offers integrated features such as testing software for finding bugs, as well as point-and-click application development.
"There are many mainstream developers who would like to begin using Java and see an opportunity in building Java applications, but it is out of their reach in terms of the skills they have and their understanding of programming," said Chris Dial, an analyst with Forrester Research.
Microsoft's tools work only with its .Net architecture on Windows. Such simplified tools are also crucial for Java software makers, such as Sun, IBM and BEA Systems, towith Microsoft's Web services initiative and to help sell other products, such as lucrative application server software, server hardware and consulting.
"This is a great opportunity for Sun and IBM to come together at an important time," said James Governor, an analyst with Illuminata. "If Sun and IBM work together, that'd be a strong way to fight Microsoft."
Trouble brewing early
IBM established Eclipse in November when it $40 million of its software tools to the public domain. The move was seen as an attempt to overshadow Sun's NetBeans open-source Java tools effort. Sun established its project after the purchase of NetBeans, a small toolmaker based in Prague, in October 1999. Both Eclipse and NetBeans distribute their IDEs as open-source code, allowing developers to write plug-in modules to add new features to the toolset.
Eclipse and NetBeans address developers' complaints that current Java tools don't easily work together. For instance, Java modeling tools, which let developers map out how programs will work, do not employ the same user interface as development or debugging tools. That means developers must learn new interfaces for each tool.
"The issue today is that tools which are designed to help developers...are not tightly integrated," said Boris Kapitanski, a technology officer focusing on research and development at Serena Software, which makes tools that manage changes to software used in large companies. "Their features and functions do not integrate very well, either, making it cumbersome for developers when building mission-critical applications."
The problem is that Eclipse and NetBeans differ in a fundamental way: how programmers create interfaces for the programs they write. NetBeans uses technologies called the Abstract Windowing Toolkit (AWT) and Swing, which are part of the Java standard administered by Sun. Eclipse uses a method called the Standard Widget Toolkit (SWT), which is not a Java standard, to produce user interfaces.
"Swing and SWT are really the things causing the most religious debate around this issue of Eclipse versus...NetBeans," said Mike Gilpin, an analyst at Giga Information Group.
Java purists argue that since Eclipse uses non-standard Java technology, it doesn't create true "write once, run anywhere" Java applications. IBM counters that SWT creates user interfaces that are more attractive and more easily portable to other operating systems.
"Swing is the standard Java UI library, and I don't think a second incompatible offering is really helpful," said Ben Hutchison, a developer for Intamission, a software company based in London. "A lot of people think Swing is too slow, however, so the Eclipse effort may be an outlet for these people's frustration with Swing."
Vendor politics play a large role in the debate, too. Sun's Phipps says Eclipse is really a marketing tool intended to sell more copies of IBM's WebSphere application server software, not some altruistic gesture from IBM.
"Eclipse is an undisguised open-sourcing of an IBM product," he said. "It is possible that in time, Eclipse may mature into being more than a (marketing tool for WebSphere), but at this stage there is no sign of that and there is no reason to expect it to be the case."
Bob Sutor, IBM's director of e-business standards strategy, said Eclipse is simply a general-purpose development environment, not an attempt to steer the future of Java.
"When people write that Eclipse is this Java thing, it kind of misses the point," he said. "It's a development environment. If you want to write a COBOL environment using it as a base, you can do that."
Finding common ground
The looming threat of Microsoft's Web services and development tool efforts has cooled the debate. On Monday, Phipps said a NetBeans development team has begun work on a "common module interface" that would allow tools written to work with Eclipse to also work with NetBeans.
During a panel discussion at JavaOne on Monday, IBM's Mutu also made conciliatory gestures and indicated that IBM is ready to explore linking the two efforts. But Phipps said his suggestion to IBM that Eclipse and NetBeans be merged is--so far, anyway--"being rebuffed."
Analysts said the thaw in relations between the two companies is a good sign. But long-standing grudges will most likely keep Sun and IBM on opposite sides of the Java fence. Even Phipps, while acknowledging that combining Eclipse and NetBeans would be the ideal way to present a united Java front to battle Microsoft, said it's unlikely to happen, given the level of competition in the Java software market.
"There has always been some level of tension between IBM and Sun around the degree to which one or the other can claim to be the primary moving force behind the intellectual capital of Java," said Giga's Gilpin. "And obviously Sun prefers the worldview where they are the primary mover and shaker in terms of Java intellectual capital."
If the companies come together on the open-source tool efforts, it will only be on terms that help forward their respective product strategies, said Illuminata's Governor. "(Java) software companies don't work together because they like each other. They do it because of the threat (of Microsoft). It's the fear that leads them to work together. It's about how you make money."
News.com's Wylie Wong contributed to this report.