The Eclipse Callisto Simultaneous Release project is finally here. Umpteen blogs and news posts later, seven million lines of code have finally been shipped, and on schedule too.
The Eclipse Foundation took approximately a year to align and co-ordinate the schedules of ten projects working under its auspices. The projects included in the release are:
Business Intelligence and Reporting Tools (BIRT) 2.1
C/C++ IDE (CDT) 3.1
Data Tools Platform (DTP) 1.0
Eclipse Modeling Framework (EMF) 2.2
Graphical Editor Framework (GEF) 3.2
Graphical Modeling Framework (GMF)1.0;
Eclipse Project 3.2;
Test and Performance Tools Platform (TPTP) 4.2;
Web Tools Platform (WTP) 1.5; and
Visual Editor (VE) 1.2
However, the Foundation is quick to point out that although Callisto is about the simultaneous release of ten projects, it is not the unification of projects. “Each project remains a separate open source project operating with its own project leadership, its own committers and its own project plan.”
Initially, Callisto was not a well-received idea. Ian Skerrett, director of Marketing for the Eclipse Foundation, says that the simultaneous release of ten projects was originally not something that Eclipse Foundation Executive Director Mike Milinkovich supported. However, as a credit to the open source development and the governance of Eclipse, Milinkovich consented and the ten different projects managed to align for the release. “We’re showing we’ve got a very good model to be able to do it on time and on schedule,” he said.
Describing Callisto as ‘a risk to try to bring together so many projects’, Milinkovich said the release validates the Eclipse open source approach. “Callisto demonstrates that the open source development model is very effective in delivering a platform for software development,” he said.
According to Ed Burnette, the locomotive driving Callisto is Eclipse 3.2, the latest version of the Eclipse tools framework and rich client platform. “Eclipse 3.2 is significant on its own, containing a year's worth of enhancements to the Eclipse Platform, Java Development Tools, and Plug-in Development Environment,” he says. Burnette also points out the significant improvements to Eclipse's Update Manager, which drastically reduces download sizes with Pack200 compression and helps pick the mirrors closest to you through GeoIP.
Even the Update Manager is not without its hiccups. At first, using the existing Update Manager to distribute ten Eclipse projects seemed like an easy win, says Bjorn Freeman-Benson, who chronicled the lessons learnt from the Callisto project in a six-part blog post. As the release deadline got nearer, the Eclipse team faced many problems, which include:
The Update Manager had never been tested with so much code.
The Update Manager was never designed to handle this level of inter-dependency complexity.
The Update Manager was not designed for multi-project cooperation in a single update site - the single site.xml file needs to be coordinated amongst all ten projects. “Perhaps it would have been nice to have ‘include’ directives in the site.xml so that each project could create its own site.xml indirectly referenced from a master site.xml, but it is always easy to design/criticize in hindsight.”
Bjorn also documents the hurdles posed by inadequate mirror sites, distributed control, unintended effects, a common interface and testing the in-betweens. Nevertheless, the sheer enormity of the Callisto project and the cooperation of 260 committers from 15 ISVs across 12 countries more than made up for its problems.
The Callisto Release is aimed at making it easier for organizations, such as ISVs and enterprise developers, to adopt Eclipse as the platform for application development. Adopters are able to benefit from Eclipse’s modular architecture to use a variety of different Eclipse projects to build their applications. Callisto provides a single release event that synchronizes version compatibility and schedules. ISVs planning to use the projects in the Callisto release include Actuate, AvantSoft, BEA, Borland, Business Objects, IBM, ILOG, Innoopract, Intalio, Intervoice, Klocwork, Lattix, LogicLibrary, Lombardi, Lynuxworks, Oracle, QNX and Scapa Technologies.
Some of the technology highlights of the project releases include:
New Standalone OSGi Runtime: Developers now have the flexibility to use the Eclipse OSGI runtime as a standalone framework. The OSGi runtime, part of the Eclipse Equinox project, is the foundation of the Eclipse Rich Client Platform. As a standalone framework it will enable developers to use it in a variety of application architectures, including embedded, client and server applications.
Web Services Tooling: Offering of tools to simplify the creation, deployment and profile of Web services.
New Platform Support for OSX on Intel and preview of Windows Vista: Eclipse developers can now build applications that run on OSX on Intel and Windows Vista.
Release 1.0 of DTP and GMF: Data Tools Platform (DTP) delivers the frameworks required for building data-centric applications. Graphical Modeling Framework makes it easy to create applications that incorporate graphical editors
However, Burnette is not too excited about the release. “Callisto is not without its flaws,” he says. “The different projects are not as integrated as they could be, and the install process could be improved.” Some growing pains are only natural in such a large and diverse developer community.
Callisto is the first attempt of putting it all together, and if successful, Callisto will likely set the model for Eclipse.org project releases going forward. QNX’s Doug Schaefer hints that talks are already on about a Europa release (based on Eclipse 3.3) next summer. “Users and system integrators can look forward to the various projects releasing on independent schedules, with one big sync-up release a year. This predictability will be helpful for vendors building on top of the Eclipse Platform and other Eclipse projects,” he says.
The Eclipse Callisto Simultaneous Release is available for download at the official web site.