Fear and slow loading: Eclipse celebrates 10 unsettling years
IBM's open-source project that could
In November 2001, IBM made its Java tools IDE and platform, developed for WebSphere Application Studio, available under an open source licence. It was the beginning of Eclipse, which now claims 65 per cent of the Java IDE market. But why was Eclipse founded and what has been its impact over a decade?
The Reg spoke to Mike Milinkovich, who has been executive director of the Eclipse Foundation since it was formed 2004. Prior to 2004, Eclipse was an open-source project sponsored by IBM and others, but not a full open-source Foundation with its own governance.
"Eclipse was developed by OTI, and started as an internal skunkworks within IBM," said Milinkovich. OTI stands for Object Technology International, a company specialising in Smalltalk and object-orientated development that was acquired by IBM in 1996.
Eclipse in 2001: delightfully responsive
It was a controversial release for several reasons. One was an argument about how to write cross-platform libraries for a graphical user interface. Sun's official solution for Java was Swing, known as a "lightweight" framework because each widget is custom-drawn by Java, which is good for cross-platform consistency but bad for native platform integration. OTI had long championed "heavyweight" frameworks, in which cross-platform code wraps native widgets so that applications have a true native look and feel.
Eclipse was written using the heavyweight Standard Widget Toolkit (SWT). "SWT was built because the Eclipse team wanted to build a platform that could compete with products from Microsoft and others, where underlying platform fidelity really mattered to their consumers," Milinkovich explained on an earlier occasion.
Sun disliked SWT, and the framework did not really catch on as an alternative to Swing, but as Milinkovich notes, "the competition forced Swing to get much better than it was in 2001."
The competition with Sun, which also had its own Netbeans Java IDE, led to rumours that the Eclipse name was some sort of pun about covering up the Sun. "It's an urban legend that never dies," says Milinkovich, denying it. "There were a number of people in the room when the name was picked. At the time, everything at IBM had to being with the letter E and we had a whiteboard... some people at Sun got really emotional."
'Little booby traps'
Others were suspicious of IBM's motives in launching Eclipse. Dale Fuller, then chief executive at Borland Software, told me Eclipse was full of "little booby traps" – code that happens only to work with IBM's WebSphere application server. He was right to be concerned, since Eclipse was one reason why his company's JBuilder IDE saw rapidly declining market share.
Ten years on and those arguments have been forgotten. Eclipse is widely used not just for Java but for C/C++, PHP, and for many platform-specific toolkits. "Pretty much all the embedded OSes use Eclipse, such as Android, Symbian " says Milinkovich.
"Modeling is another area. Eclipse is the center of gravity for modelling around the world. ALM [Application Lifecycle Maintenance] is another. Mylin has become the desktop integration point for ALM tools, because of Eclipse's dominance."
There are now 273 open-source projects at Eclipse and 174 member companies of the Foundation. The achievement is impressive, but 10 years on, is the code getting bloated? I ran up Eclipse 1.0 when researching this piece, and while it is light on features, its simplicity and responsiveness compared to the latest "Indigo" release is a delight. Eclipse also has dependency issues, where one project depends on a certain version of another, and as you add features to an Eclipse installation this can cause problems. "The dependency challenges are never going to completely go away, because of a conscious decision to make Eclipse an open ecosystem," says Milinkovich.
Problems like these mean that not everyone loves Eclipse. "Thank goodness! There are command-line options for building Android apps... I'll take this over Eclipse any day," Tweeted jQuery creator John Resig last month. "I'd happily use another tool (IntelliJ, Netbeans, etc) if it allowed me to use the Android Development Tools," he adds in another Tweet.
Fortunately there are efforts to move on from the old code base. Next year's "Juno" release will be the first based on the 4.x code, which has been in beta for some time. According to Milinkovich, it is re-engineered to be lighter weight, removing obsolete APIs and forming a more modern platform.
"Thank goodness! There are command-line options for building Android apps... I'll take this over Eclipse any day" – jQuery creator John Resig
What is unique about Eclipse? Milinkovich says it is the path steered between commercial and community interests. "Since its inception, Eclipse has always been an open-source community that is joined at the hip with a commercial ecosystem," he says. "The EPL [Eclipse Public License] is the most commercially friendly of the copyleft licenses."
The consequence is that while Eclipse is free, many of the products built on Eclipse are not. Does that tension between free and commercial dilute the benefit of being open source? Not according to Milinkovich.
"There is not a tension, but a balancing... that is the way Eclipse was designed to work. We see that as a positive thing," he said. ®