|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
Eclipse's Moon Cluster
The Callisto release of key component upgrades coincides with another annual and on-time upgrade release of the Eclipse platform
by Terrence O'Donnell
July 5, 2006
Two years ago, the not-for-profit Eclipse Foundation released version 3.0 of the Eclipse platform in the last week of June, and like clockwork the next major upgrade was released the same week in 2005. In an industry fraught with late ship dates of product upgrades and new releases or broken promises of innovative features that had to be sacrificed for the sake of making a milestone at any cost, Eclipse managed again to buck the trend and make another annual release of the upgraded platform, again in the final week of June 2006.
This year, however, ten individual open source projects—including the Eclipse Platform project itself—that volunteered approximately one year ago to commit to project Callisto were able to achieve their mandated goal and ship upgrades all on the same day. In meeting the milestone, the projects that make up the Callisto project upheld Eclipse's motivation to be a predictable supplier of technology for the market, allowing consumers to pick up and use the components in their commercial products, their applications, and their open source projects.
Mike Milinkovich, the Eclipse Foundation's executive director, said that product release date slippage and other product features missing the mark are a common theme in today's IT industry. "It's particularly interesting that as projects get larger, typically they have more difficulty in shipping, and Eclipse has definitely grown to be much larger than it was originally," Milinkovich said. "We're up to 63 projects now, and there's certainly a lot going on within the Eclipse community."
According to Milinkovich, as the Eclipse community has grown consumers of the Eclipse technologies are picking up and using a lot of components beyond the Eclipse platform that creates a demand for a much wider variety of software from Eclipse instead of just the original Java tools and the underlying platform.
"At the same time there's been more growth and interdependency [among] projects, so each of our Eclipse projects are independent, but they often rely upon code from one another," Milinkovich said. "And as you get a multitude of projects you often get into the version mismatch kind of scenarios where there's version one of a certain project and version two of another project, but those two versions are not compatible and you end up with cyclical problems."
Moonlight
The idea for Callisto—named for one of Jupiter's moons, since a characteristic of every moon is that it creates an eclipse—came to fruition in the summer of 2005. Milinkovich described it as "very much a bottom-up phenomenon" because it originated from a council comprised of the independent projects themselves and not from the Eclipse Foundation. The main thrust of the idea was to ship a coordinated release of project upgrades for any projects that wanted to participate. Participation in the Callisto release train was completely voluntary, and each project was free to make their own decisions about whether or not they wanted to join.
Milinkovich said that the ten project teams that finally agreed to ship together remain separate projects, and are those that consumers typically use together.
In characterizing Callisto, Milinkovich said, "probably the closest analogy is the LAMP stack, where technology consumers put together Linux, Apache, MySQL, and PHP or Perl or Python in an applications stack. Similarly, with Eclipse, what we're seeing is more consumers putting together an Eclipse stack by combining multiple Eclipse projects. The ten projects in Callisto that all shipped together this year are:
* Business Intelligence & Reporting Tools (BIRT)
* C/C++ IDE
* Data Tools Platform (DTP)
* Eclipse Modeling Framework (EMF)
* Graphical Editor Framework (GEF)
* Graphical Modeling Framework (GMF)
* Eclipse Project
* Eclipse Test & Performance Tools Platform (TPTP)
* Eclipse Web Tools Platform (WTP)
* Visual Editor (VE)
Asked whether a similar effort will be made next year and the likelihood that the number of projects to ship simultaneously might expand beyond ten, Milinkovich replied affirmatively that that's the plan, emphasizing that it's the projects (committees) themselves that decide to volunteer and commit; the Eclipse Foundation doesn't tell the projects when to ship. Next year's project already has a name—Europa, another one of Jupter's moons—and though a final date for joining hasn't yet been established, it will likely be some time in fall 2006, according to Milinkovich.
"My reading of the community is that at this point that's the consensus; they're going to try to ship a release train each year, and the end of June is a time that works well for people, both from a summer vacation point of view but also a lot of software companies want to ship their new products in the fall, and having the Eclipse platform available to them in June gives them the time that they need to lock down on their products and get them out the door by the end of the year," Milinkovich said.
Milinkovich said that the foundation views the Callisto release train as a significant accomplishment for open source and pointed out that no other open source projects have "tackled" something on this scale. Among the ten project teams, Callisto involved over 260 committers working on the various projects, with at least 15 different organizations supporting them and working on the projects. In addition, Milinkovich said there were developers working in at least 12 countries also participating in Callisto releases.
"It's not a small amount of software; this is 7 million lines of code, which is a fairly significant piece of software," Milinkovich said.
Together We Stand
One key factor in making Callisto a reality, according to Milinkovich, is that the concept fits nicely within the genesis of Eclipse. "The original architects on the Eclipse project designed a very clean and extensible architecture, and that's been very key to the success that Eclipse has," Milinkovich said. "The fact that we can define this large piece of software in terms of Eclipse plug-ins and have that architectural foundation there for everyone to extend by using exactly the same mechanisms has been very important."
Another key factor that ties into Eclipse's success is governance, Milinkovich said. Although projects remain independent, Callisto demonstrates how they can come together as equals and together arrive at a project plan that everybody buys into. Process also plays a key role: "We have an open and transparent development process. There's been a lot of community feedback; we've had feedback on the plan, we've had feedback on how the downloads work, we've had lots of bug reports. It's been very much a community effort in making this happen," Milinkovich said.
When asked if he viewed Callisto as a successful experiment, Milinkovich said that he wouldn't characterize it that way but instead would characterize it as "a really good idea." Because the idea came from the independent project committees, Milinkovich said, "the projects said this is what they thought was the right thing to do. It was not an idea that came from me or from anyone else at the foundation. In fact, when I first heard the idea I wasn't terribly convinced that it would work. The only way to find out if it was going to work was to try it, and it was something that had great side effects in terms of community building, breaking down project silos, and making the Eclipse community begin to function more like a community rather than a collection of projects."
Visit the Eclipse Callisto site for more information about the release and to access an update manager's site for downloading the ten projects onto a workstation.
About the Author
Terrence O'Donnell is editor of Java Pro magazine and senior editor of FTPOnline. |
|