Channels ▼

Open Source

Eclipse Europa: Eureka!

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. (
  • Significant usability improvements to the C/C++ IDE. (
  • New features in the Equinox project for creating server-side applications based on the OSGi components and services. (
  • Mylar. This popular new Eclipse project adds a task-oriented user interface to a developer workbench. (
  • 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. (
  • 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 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.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.