Prospects of a thaw between Sun and the Eclipse Foundation seem as slim as ever, judging by remarks made to The Register by Eclipse executive director Mike Milinkovich.
Sun owns the Java standard, while the Eclipse Foundation produces the most popular set of Java development tools. According to a December 2005 survey by BZ Research, 65 per cent of Java developers make some use of Eclipse, and the figure is higher still if you include IBM's Eclipse-based IDEs WebSphere Studio and Rational Application Developer.
Milinkovich described Eclipse's relationship with Sun as "professionally courteous", but added: "We don't really have a relationship...I've made numerous entreaties to try to engage Sun with Eclipse, from Jonathan Schwartz down, and I've never had anything other than 'thanks for calling'. Frankly, as far as I'm concerned, that ball is firmly in their court."
One of the reasons for Sun's distrust of Eclipse is the GUI framework with which it is built. This is called SWT (Standard Widget Toolkit), but despite its name it is non-standard as far as Sun is concerned; Java already has an official GUI framework called Swing, and SWT is not approved by the JCP (Java Community Process), the organisation created by Sun to develop new Java specifications.
Of course, you can build Swing applications with Eclipse, and many developers do exactly that. In fact, Milinkovich insists that: "SWT was never built to compete with Swing...we've never tried to construct a scenario where developers using Eclipse were forced to use SWT."
This is true up to a point, but Milinkovich is also talking up the RCP (Rich Client Platform), which uses the Eclipse platform as an application framework, SWT included. "RCP is something that takes up a lot of our time and energy at the Eclipse foundation," says Milinkovich.
He sees it as a strategic technology in the battle to win over developers from Windows. "With Vista, Microsoft is forcing all of the ISVs and Enterprise IT organisations that have built products or applications on Win32 to make a migration decision over when and whether they go to WinFX. We firmly believe that people who are making those kinds of decisions should be evaluating Eclipse RCP."
Underlying all this is a long-standing debate about what Milinkovich calls "platform fidelity". Although both SWT and Swing are cross-platform, they take a fundamentally different approach. SWT is a Java wrapper around native platform widgets, ensuring seamless integration with the operating system, while Swing prioritises cross-platform consistency by implementing its own widgets where possible.
"SWT was built because the Eclipse team wanted to build a platform which could compete with products from Microsoft and others where underlying platform fidelity really mattered to their consumers," Milinkovich says.
Yet many developers find Swing good enough, and its Model-View-Controller architecture is also well liked. There is room for both, and while Sun can ignore Eclipse, it cannot make it go away. After all, a long list of organisations are standardising on Eclipse for their application development tools, including IBM, BEA, Nokia and Compuware. ®