A Major Open-Source Eclipse: Europa Launches

"We have been looking forward to this release for quite a while," said Coach Wei, CTO of developer tools maker Nexaweb in Burlington, Mass. "It brings fundamental improvements in the base Eclipse platform."

Eclipse is an open-source stack of developer tools, including a widely used Java IDE and a developer tools plug-in framework broadly adopted throughout the software industry. Because the complete Eclipse stack encompasses a collection of autonomous software projects led by a diverse set of developers, the projects traditionally updated on their own individual timetables. Last year, the Eclipse Foundation stepped in to coordinate the first annual release train, a voluntary effort to align project updates to make it easier for partners and ISVs to adopt Eclipse software. All of Eclipse's core projects opted in.

This year's Europa release entails updates to 21 projects, a step up in magnitude from the 10 projects involved in last year's effort. Participating projects include Eclipse's foundational projects -- the Eclipse platform, its Java development tools, its plug-in development environment, and its OSGi-based Equinox framework -- and popular initiatives such as the Business Intelligence and Reporting Tools (BIRT) project and the Data Tools Platform (DTP). Europa also includes several newer projects nearing their 1.0 release, such as the Dynamic Languages Toolkit (DLTK) for supporting development in scripting languages like TCL, Python and Ruby.

Europa is a massive development effort, involving 17 million lines of code and contributions from nearly 300 project committers. As the scope of the annual release train grows, so does the complexity of keeping all of the projects on track. Unlike last year, when all 10 projects committed to the release met their deadlines, a few smaller projects slipped out of Europa. Eclipse Executive Director Mike Milinkovich was unfazed, noting that all of Eclipse's critical components made it out the door on schedule.

Sponsored post

"This is the fourth year in a row we'll ship on time in the last week of June," Milinkovich said, referring to Eclipse's pre-release-train tradition of updating its core platform in late June. "That's a pretty incredible track record by anybody's measure, and a real testament to the committers."

Eclipse developer John Graham, a Sybase software engineer who chairs the Eclipse DTP project management committee, said Europa was both smoother and more challenging than last year's Callisto release.

"Last year was a learning experience -- we had to consider how to do the builds, how to coordinate between projects. A lot of that groundwork got laid during the Callisto cycle, so during Europa, we had that down," Graham said. "But a lot of Europa projects are new projects in the incubation stage, so they're still struggling with how to do things the Eclipse way."

Despite occasional development bumps, the release trains have been a big boon for ISVs that incorporate Eclipse software into their own stacks. Sybase now develops its Workspace development toolkit in parallel with the Eclipse cycle, taking advantage of better integration between Eclipse projects and of their predictable release schedule. The result is a significantly faster release cycle. Rather than lagging Eclipse's release by a full version, Sybase can better synch its own development schedule to Eclipse's.

"We know where [Eclipse] is going to be at a certain point in time, and that wasn't true before we had a release train," Graham said. "It's very hard to plan a commercial product around that kind of loose schedule. [The synchronized release] has been a real benefit to Sybase."

MyEclipse maker Genuitec, a Dallas ISV, also appreciates the benefits of the release trains. MyEclipse draws on half a dozen different Eclipse projects. Before last year's debut synchronized update, figuring out which versions of the various projects were compatible was a tricky problem, according to Todd Williams, Genuitec's vice president of technology.

"There were incompatibilities that could come up in the projects when you tried to mix them. Now you can put an entire stack together," Williams said.

MyEclipse will be one of Europa's fastest adopters: It plans to preview a new version of MyEclipse incorporating Europa's updates out within days, and make the final version of MyEclipse 6.0 generally available in July.

Other developers like Nexaweb take longer to digest the updates. Wei expects the next version of Nexaweb Studio, an Eclipse-based IDE, to be ready in about eight months. Europa's advances will drive significant enhancements in that version, he said, particularly around the user interface. Until now, Eclipse plug-in developers haven't been able to customize the interface much -- every time someone connected a new plug-in to their Eclipse environment, it spawned a new set of menus and tool bars. Enhancements included in Europa fix that problem.

"Now we have the option to only show what we know is interesting to developers, and to remove all the other things," Wei said. "It will make it much cleaner and easier to learn."

Europa's improvements are deep and wide-ranging; Milinkovich said the core platform project alone released 150 pages of documentation on noteworthy new features. In broad terms, many of Europa's advances are aimed at improving tooling for developing server applications and rich Internet applications, he said.

In addition to easing user adoption, the annual synchronized releases have sparked another side benefit: Europa features an unprecedented level of integration between projects, Milinkovich said.

"As more and more projects get involved in the release trains, we have developers thinking outside their projects," he said. "There's a lot more inter-project collaboration and communication than there was before."

With Europa barely out the door, the Eclipse Foundation is already beginning the drafting process for next year. One of the most important decisions has been made: next year's release will be Ganymede, named after the solar system's largest satellite.

"Jupiter has over 40 moons, so we should be good for a few years," Milinkovich quipped.