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:
- The Dynamic Language Toolkit (DLTK). This provides IDE support for Ruby, TCL, and Python as well as a framework to make it easier to create IDEs for dynamic languages. (www.eclipse.org/dltk)
- Significant usability improvements to the C/C++ IDE. (www.eclipse.org/cdt)
- New features in the Equinox project for creating server-side applications based on the OSGi components and services. (www.eclipse.org/equinox)
- Mylar. This popular new Eclipse project adds a task-oriented user interface to a developer workbench. (www.eclipse.org/mylar)
- Other tools for collaboration, including Eclipse Communication Framework (ECF), which lets applications developers add popular collaboration functionality like chat, VoIP, and file sharing, to their applications; and the Corona project for tighter interoperability and collaboration between different Eclipse-based tools. (www.eclipse.org/ecf)
- New native support for Microsoft Vista.
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 contributeespecially 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.