Getting to grips with Callisto
Inside the Eclipse release
Eclipse is not just a Java IDE, it is a tools platform, which supports an increasing number of projects. The broad scope of these was apparent in Callisto, the code name for a set of simultaneous project releases earlier this summer.
There are 10 projects in Callisto, including Java and C++ development tools, visual editors, database and reporting tools. It is an impressive bundle.
"We haven't actually found anything else coming from open source that has done quite the same thing," executive director Mike Milinkovich said. "Shipping seven million lines of code put together by 260 committers in 12 different countries working for at least 15 different organisations is a pretty significant achievement."
Few people will want to install all of Callisto, but in the interests of good journalism, I did so. Installation is a matter of downloading the Eclipse SDK and then using Software Updates, on the Help menu, to add the projects you want.
As you can see from Figure 1, there are numerous components.
Download and install took a while, but everything worked well on my Windows XP box, though Eclipse seemed to feel the strain with occasional "Out of memory" error messages. [Reader Alex Blewitt notes that the out of memory exception is really a JVM issue, though it would be nice if Eclipse would handle it a little more gracefully (it offers to shut down, then fails to do so on our system). He writes: "The JVM defaults to something like 64m of permanent generation space, and when you start bolting on lots of plugings, that can grow. The fix is to add -XX:MaxPermSize=128m into eclipse.ini on a separate line after the -vmflags argument. This is only an issue on Sun VMs."]
The main rationale behind Callisto is to deliver significant new releases on a predictable schedule. "We feel that is very important for encouraging commercial adoption," says Milinkovich. "This is now the third year in a row where we shipped in the last week of June." However, in past years the platform shipped first, followed later by individual projects. This year everything shipped together.
It is not only a matter of good marketing. There is also the problem of managing dependencies. Keeping up-to-date with multiple Eclipse projects can be frustrating, because of dependencies both on the core platform and between projects. Maintaining multiple Eclipse installations becomes essential.
So was Callisto born of necessity? "Somewhere in the middle," Milinkovich admits. "There's definitely a dependency issue that we manage between the different projects, and Callisto was born out of a desire to make it simpler for our consumers. But the drive for doing Callisto was very much a bottoms-up affair which came from a number of the leaders in the project community. It had a great side-effect as well, which is it forced a lot more interaction between the different projects."
Unfortunately, Callisto has rough edges which remind you that it comes from an open source community rather than a slick commercial release [although some commercial tool releases are none too slick neither – Ed].
The version numbers on the software update dialog reveal that not everything is finished, particularly the Data Tools Platform, which is at version 0.9 and with a number of missing pieces. The Visual Editor is Release Candidate 2, and so is the Java EMF Model. Continual dialogs remind you that code is unsigned and risky to install. Still, the point is that they do all work together.