WatersWorks by John K. Waters

Milinkovich on the Evolution of the Eclipse Release Train

As I reported on Wednesday, the Eclipse Foundation launched its sixth annual Release Train this week. I spoke with the Foundation's executive director, Mike Milinkovich, as I have for each release, and we got to talking about this thing that started out as an experiment back in 2006.

The Foundation's first Release Train, code-named "Calisto," comprised 10 projects. It was then the largest ever simultaneous release of multiple open-source projects, and during the run-up no one was absolutely certain the then two-year-old Foundation was going to pull it off. "Herding cats" was a phrase that came to mind at the thought of coordinating so many OSS releases. But they did pull it off, and its success proved to be a significant milestone in the evolution of this community.

"If you think back six years ago," Milinkovich observed, "there was a lot of unhappiness about the sheer number of plugins and the complexity involved with managing your Eclipse install, and how you find things, and how to install them all, and how are you were supposed to know all this. You just don't hear that anymore. I think the release train and the packages combined have helped dramatically improve the satisfaction of our user community with what they're getting from Eclipse."

The number of projects included in the annual Release Train has grown each year. Indigo is a whopper, with 62 projects, 46 million lines of code, and the work of 408 developers and 49 organizations.

And those packages Milinkovich mentioned have become an important component of this annual synchronized project release. They're pre-defined bundles of tools and tech designed to make life easier for Eclipse users. For example, the "Eclipse IDE for Java EE Developers" provides a set of tools for Java developers building Java EE and Web apps. It comes with a Java IDE, as well as tools for Java EE, JPA, JSF, Mylyn and others. The "Eclipse Modeling Tools" package combines a complete SDK with an Ecore graphical modeler, a Java code generation utility for RCP apps and the EMF Framework, model comparison support, support for XSD schemas, OCL and graphical modeler runtimes.

Packages now account for the vast majority of downloads from the Eclipse website, Milinkovich said.

"People are mainly downloading packages that are tailor-made for the domain their interested in," he said, "whether it's Java, Java EE, C/C++, or the like. Having these roll-oriented or domain-oriented packages has greatly helped the Eclipse user community feel that what they're getting is a much more robust and stable platform."

The Foundation began with four packages included with "Europa" in 2007. The dozen packages included with Indigo are listed here.

The annual Eclipse Release Train is now an integral part of the Eclipse community, and Milinkovich believes that it has been "nothing but a force for good."

"It has helped to generate a much stronger sense of shared community and shared process across all the projects," he said.

Milinkovich hastened to remind me that the Eclipse community has always been an open source community that lives and breathes through contributions and support.

"Many of the users out there forget that this is not a product, that this is free stuff," he said. "All of this is happening because of the volunteer efforts of individuals and people who are being supported by their employers. And we can always use more support, both in the form of contributions of time and code... and money."

BTW: The next Release Train is scheduled for next June. Its code name, "Juno," probably won't mean much to Americans, but Canadians like Milinkovich will no doubt notice that it was also the code name for the sector of beach on the Normandy coast taken by the third Canadian Infantry Division and commandos of the Royal Marines during the invasion of German-occupied France in 1944. (Thanks, Wikipedia!)