Years ago, when you thought of bulky, white-collared Big Blue, open source wasn't the first thing that sprung to mind. But now, besides being a vocal Linux advocate, the company is actively integrating such products as Apache Tomcat servers, Jabber IM, Xerces XML parsers, OpenSSH, the Jikes Research VM, and numerous others into its humongous product stack. And besides all that, there's IBM's considerable influence in the Eclipse Project, which designed, architected, and produced Eclipse -- a full-featured, open source toolkit for building Web services and other applications. The free downloads on Eclipse.org have met with an inspired response.
"Eclipse enables developers to work with best-of-breed tools using plug-ins from different vendors in our integrated, portal-like environment," said Vivek Sarkar, senior manager for programming technologies at IBM Research. Sarkar's main responsibility is to keep finding fresh things to put into the Eclipse toolkit. "Our goal is to make it easier for technology producers to create, integrate and use software tools. It also saves developers a lot of time and money."
That's the company line, but here's the more intriguing part of this story: Eclipse recently passed the 12 million download mark, a rather whopping total. Hundreds of thousands of developers from more than 125 countries have downloaded the toolkit since its launch into the community from IBM in late 2001.
That's a lot of toolkits and a lot of across-the-board support.
Typical download day: 30K kits
Some more assorted facts and figures about Eclipse:
- Eclipse.org typically receives as many as 30,000 download requests a day. Within the first 48 hours of availability for its newest version, V2.1, the eclipse.org servers logged more than 1.2 terabytes of download requests.
Eclipse.org is managed by a board of more than 40 tool vendors, including Borland, Fujitsu, Hitachi, IBM, Instantiations, Intel, Fujitsu, Hitachi, Merant, Oracle, QNX, RedHat, Serena, SuSE, SAP, Sybase, Ericsson, and others.
Eclipse, built in J2EE and featuring the latest JDK, is now supported by offerings from providers of a broad range of development technologies, including specialists in modeling, code generation, metadata management, testing, embedded computing, enterprise middleware, collaboration, services, research, and application systems vendors. Dozens of tool vendors have delivered Eclipse plug-ins,
including IBM, Instantiations, Merant, QNX, Bowstreet, Borland, MKS, SoftLanding, Telelogic, Dessault, SAP, Sybase, Telelogic, CommerceQuest, Macromedia, Versant, Catalyst, BrowserSoft, Flashline, ParaSoft, Systinet, Genuitec, ObjectEdt, VA Software, Canno, TeamStudio, and others.
Finally, more than 600 open source or freeware plug-in projects are available, including plug-ins for BEA WebLogic and Oracle.
The rest of the story
Beside the fact that it's free and open source, what is the rest of the value proposition?
"You can do so much with it, and Eclipse goes a long way to making the user very comfortable," Sarkar said. "Its JFace UI has a high-level framework with several editing views, read-only views, and perspective views -- a lot of options. Users constantly tell us they like the interface, as well as the flexibility with all the plug-ins that are available. You can use this tool with so many different products, that's why it's so valuable."
Eclipse is updated at milestone points six weeks apart. A full release comes out once a year.
Eclipse is chameleonlike in that users can set it up to resemble the environment with which they're most comfortable -- Linux, even MacOS and Windows XP, Sarkar said.
Sarkar said that the Eclipse 3.0 version due out next year will include, among other new components, refactoring -- something unique to IDEs. "We're also planning to include generic types, which are like C++ templates that are the basis for so many apps. We see this as a huge opportunity to improve the productivity of the IDE," Sarkar said.
The research team is also working on Jazz, a new collaborative framework with instant messaging capabilities, as one of the IDE's add-on features. Other research projects -- with a lot of input from Rational -- include advanced validation and verification components.
Another vote for aspect-oriented development
Sarkar is among those who agree that there's a growing trend toward aspect-oriented development, and he and the governing body of Eclipse.org are pointing Eclipse in that direction. "The aspect Java tools and extension package in Eclipse mean a lot more productivity gains for users, so these features are timely," Sarkar said.
Eclipse is one of the few IDEs to offer a maintainable point of view, Sarkar said. "The plug-in architecture has the notion of the extension point at the heart of it. Using Java with refactoring, for example, could be considered an extension point."
Other key Eclipse components are the Java unit testing and graphical library tools.
It's not perfect
Not everybody is enamored with Eclipse, of course.
"Eclipse definitely has its limitations," said Jeff Anders, a marketing manager at Sun Microsystems. "It does not turn out pure Java (J2EE) applications; those made with Eclipse are more of a hybrid. You cannot predict seamless integration of apps into a J2EE server without using pure Java, and J2EE is everywhere," Anders said.
IBM, certainly, wants to encourage Eclipse developers to use the IDE on apps for WebSphere, DB2, and other products in its own stable. But the beauty of Eclipse is that the user is beholden to no one company in particular. And that's a good thing.
We'd welcome comments from users on the pros and cons of using Eclipse. And we'd like to hear about what kind of apps you're building with it.