Eclipse Europa: Eureka!

Eclipse's Europa release—21 projects all on the same day—is probably unprecedented.


July 02, 2007
URL:http://www.drdobbs.com/open-source/eclipse-europa-eureka/200001944

If good news were headline news, we'd see a crawler across the bottom of the screen on CNN reading:

Open-source developers do something that Microsoft and Apple can't: Deliver a complex bundle of software on time, year after year.

Simply and reliably to git-r-done may not win headlines, but it does win fans. Which probably explains why Eclipse has over two-million users and something like two-thirds of the Java IDE market.

As it has with every major release for the past three years, the Eclipse Foundation has unveiled a major update—the Europa release—on schedule. Meanwhile, Apple has had to postpone its yearly update of OS X to divert development efforts to its new cell phone business, and Microsoft isn't even talking about when the next major release of Windows will occur (although they do admit they are "working on it").

The Universe of Eclipse

Eclipse, in case you've been living in the subsurface ocean of Jupiter's moon Europa for the past five years and missed it, is a vendor-neutral set of open-source frameworks and

exemplary tools for software development, a toolset sufficiently rich that Mike Milinkovich, Executive Director of the Eclipse Foundation (www.eclipse.org), and Ward Cunningham, the former Eclipse Foundation Director, Committer Community Development, both insist that it is more than an IDE.

That didn't stop 60 percent of respondents in an Evans Data survey last year from identifying Eclipse as their primary IDE. More than an IDE? Well, Eclipse includes business intelligence reporting tools, data tools, a graphic modeling framework. And there are Eclipse-based IDEs for nearly all of the leading programming languages. Java and JavaScript. C, C++, and C#. PHP, Perl, and Python. Ada, Lisp/Scheme, Cobol, Ruby—and so on.

As interesting as what goes into an Eclipse release is who is involved in it. The Eclipse universe includes those who contribute as well as those who use. "In the embedded and mobile industry," says Milinkovich, "the Eclipse C/C++ IDE has become the de facto IDE for real-time operating systems." He adds that most of the major RTOS vendors have adopted Eclipse as their tools platform.

As for who contributes, about 50 different organizations are represented among the hundreds of Eclipse developers working on 75+ projects. As is the case with other major open-source projects, Eclipse is not just some hobby effort of independent programmers. Major computer industry corporations make the strategic decision to invest in Eclipse. They invest in many ways: By supporting their employees to work on Eclipse, by making intellectual property available, and by paying dues to the not-for-profit Eclipse Foundation.

Eclipse, as much as any open-source project, demonstrates that open source is serious business.

Today the roster of just strategic developers alone includes BEA, Borland, IBM, Intel, Motorola, Nokia, Oracle, and Sybase as well as Acutate, Cloudsmith, Compuware, INNOOPRACT, Iona, OpenMethods, Serena, Simula Labs, SOPERA, Wind River, and Zend.

What they contribute is significant. Strategic developers must put eight programmers to work on Eclipse projects full time, pay up to $250,000 in dues, and lead one or more Eclipse Open Source project. Strategic consumers pay up to $500,000 dues, reduced by contributing one or two full-time developers. Add-in Providers, another category of players in the Eclipse game, pay $5000 dues. Committers are individuals allowed write access to CVS repositories. Eclipse has on the order of 800 committers today.

Is a quarter of a million dollars a lot for a company to invest in an open-source IDE? Not for BEA, who claims that it's a bargain, giving the company the equivalent of 200 extra developers. But no company has invested in Eclipse as heavily as IBM, where the Eclipse project started.

IBM's Rational Investment

In November 2001, IBM launched the Eclipse project with $40 million worth of its own code, supported by a consortium of software vendors. In January 2004, the independent Eclipse Foundation was formed to shepherd Eclipse development and reassure developers concerned about the power of IBM over Eclipse projects. When in 2003 IBM acquired Rational Software, now the tools division of IBM and both then and now a big Eclipse contributor, IBM's shadow over Eclipse had grown even longer.

It worked. Companies that had looked on Eclipse skeptically in the consortium days now embraced it wholeheartedly. Or most of them, anyway. Two big players, Sun and Microsoft, each with their own IDE, still had issues with embracing Eclipse. And it couldn't have helped relations with Microsoft when legendary developer Ward Cunningham bailed on them to become the Eclipse Foundation's Director, Committer Community Development. "A high functioning committer community," the Foundation declared, "is about more than just sharing servers and following a common process." Cunningham, who invented the Wiki, was possibly the perfect candidate to tackle the job of encouraging a culture of collaboration and cooperation.

Sun's case is a little different. Under the stewardship of Jonathan Schwartz, Sun has been embracing Free and Open Source Software (FOSS) more and more. The choice of GPL as the license under which to FOSS-ify Java was an interesting one, in particular. But Eclipse, one of the great success stories of open source, had not been embraced by Sun.

In an open letter to Eclipse Membership in January 2004, Sun's Rich Green cited "mandatory transition to the Eclipse platform" as a sticking point in negotiations. "Any entry criteria requiring that Sun abandon the NetBeans Open Source platform," he said, "directly conflicts with the concept of choice and diversity, the very bases that gave Eclipse its beginning."

Which it doubtless would, but has anyone asked that? Eclipse Steward Dave Bernstein responded saying that "the invitation for Sun to join Eclipse at the Board of Directors level...does not require Sun to abandon or in any way deprecate the NetBeans platform."

Since then, the Eclipse Foundation has moved Eclipse away from domination by IBM, but Sun still had kept its distance. Then, this May, Eclipse got its first-ever committer from Sun, when Suresh Raju contributed code to get Eclipse working on Solaris x86. "I am very happy to see that sound business decisions are replacing rhetoric in the relationship between Sun and Eclipse," Milinkovich said, which probably went over really well with Schwartz and Green. Sun's most recent statement of position: "No current plans to join Eclipse today or in the future." [Dan Roberts, Director of Developer Tools Marketing]

In a Znet poll asking for the preferred integrated development environment for mobile Java applications, NetBeans pulled 71 percent of respondents, Eclipse 29 percent.

Meanwhile, IBM is still the biggest presence in the Eclipse community, and regards its investment every bit as positively as BEA regards its own.

What's In This Europa Release

So how significant is this Europa release?

"Pretty significant," Milinkovich says, citing the probably unprecedented achievement of releasing "21 open-source projects all on the same day, running on the same platform." Even more impressively, "this will be the fourth year in a row that the Eclipse platform has been released...Not a lot of software organizations can claim that type of track record."

Highlights of the Europa release, according to Milinkovich:

But perhaps the most significant "feature" of Europa is the simultaneous release of all those projects. "Anyone who has built large 'suites' knows that it's a nontrivial problem to handle all the dependencies (and the egos) involved in coordinating products from a single company," says Bjorn Freeman-Benson, Eclipse Foundation Director, Open Source Process, "And that's when everyone ultimately works for the same boss. Here we have independent projects, with different goals and management styles, and yet they put aside their differences.

"From a corporate adopter's point of view," Freeman-Benson says "the Europa release is significant because it is a single point-in-time definition of which versions of which frameworks 'play well together.' In the past, companies who have built Eclipse into their products have had to do all the testing and fiddling to figure out those compatibilities. With Europa, we (the open-source projects) have done that for them.

"From an end user's point of view, the same sort of point-in-time characteristic applies: I know that I can load any number of the Europa projects and that they will work together (or, if they are not projects that work together, at least they will not conflict). We anticipate, with the added visibility that the Europa release provides to some of the newer projects, that we will see more adoption of cool and useful technology like Mylar, Corona, Buckminster, AJDT, etc. And then our users will be using multiple Eclipse projects together at the same time. Thus the simultaneous release becomes important."

Ultimately, though, the significance of the Europa release is surely that it further enhances the benefits of Eclipse itself, which Freeman-Benson characterizes as its ubiquity, the level of abstraction of its model-based tools and frameworks, and its highly effective open-source development process.

An Eclipse Contributor's Contributor

As senior engineer at Terracotta and finalist for Top Contributor for the Eclipse community, Eugene Kuleshov knows Eclipse development and the Eclipse community.

DDJ: How has it been contributing to Eclipse?

EK: It is actually really easy to contribute—especially if you are using it for your own work. The first step is to share ideas, submit bug reports or enhancement requests, blog about it or talk to other developers. If you are lucky, your idea can get implemented really quickly. I've had such luck with the Mylar project. Its project lead, Mik Kersten, has been really good with transforming ideas into the real product features. Unfortunately, you can't always be lucky and because most Eclipse projects have very busy schedules, they may not have the resources to implement your ideas. Then it is in your own hands to do the work and submit a patch. It is easy enough, as long as you are interested and actually can find time to work on that.

DDJ: What if you and the project lead have different ideas about the project?

EK: Project teams may have their own vision and can think that a given request will have negative impact on the Eclipse platform, for example degrading performance. That is where communication skills come in really handy. It takes time to convince community and project developers that it will be an important feature and work out some compromise or an alternative solution. One such case that comes to mind is support for pluggable hyperlink detectors added to the Eclipse platform. It took a long time and several rejected patches to come up with a reasonable agreement. But the final result was really worth it. Now everyone who builds on Eclipse can contribute his own hyperlink detectors, so end users would see them in other Eclipse UIs. For example, Mylar's hyperlink detectors would open the Task Editor from the links in the History view or in any text editor.

DDJ: Any other thoughts on Eclipse development?

EK: There is one more thing worth mentioning about Eclipse releases. For a few months around each Eclipse release, it is very quiet for the early adopters like myself, because there is no new and cool stuff added to the projects. During this time, we can only record ideas to the Eclipse issue tracking system or its Wiki pages, or focus on something else, like real life.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.