A couple of years ago, I described the Eclipse project as open source's best-kept secret, and to some extent that's still true today. Even though most in the free software world have heard of Eclipse, they are probably unaware of just how far it has come from its origins as an integrated development environment for Java.
Today, the list of its projects is extremely impressive; more importantly, it has moved way beyond its initial focus on Java and development tools to address an increasing range of enterprise computing needs. The latest example of Eclipse's widening embition is Equinox, which joins the increasingly crowded runtime sector.
Here the Executive Director of the Eclipse Foundation, Mike Milinkovich, talks about how Eclipse has evolved, the component parts of the Equinox project, and why he hopes Microsoft will join Eclipse.
GM: It's very striking how the Eclipse project has evolved from relatively simple origins: why and how did that happen?
MM: That could easily be the subject of an entire book. Actually, I hope someday someone actually does write such a book.
Here is the most concise response I can devise: the secret sauce of Eclipse is that it has established the best available model for collaboration that spans both companies and individuals. I know that as developers we all typically focus on the technical innovations that Eclipse has delivered to the community. But it is the collaboration model that has spurred so many organisations to invest in Eclipse in terms of projects, committers and code. And that, ultimately, is what has driven the growth of the Eclipse community.
This model has allowed Eclipse to go through a series of evolutionary steps, starting as a Java IDE when it was first released, to a general purpose tools integration platform, then a platform for building rich client desktop applications, to where we are going now being a general purpose runtime environment for building and deploying applications on servers, desktops and embedded devices. The really interesting thing is that at each stage it was different community members that pushed Eclipse to the next step in its evolution.
GM: What has surprised you most about that evolution? Is there anything that you'd wish you'd done differently?
MM: The biggest surprise has been the speed with which the Eclipse community evolved from a handful of tool-focused projects to the over 90 that exist today. When I took this role at the Eclipse Foundation I was convinced that its ecosystem-based business model was the way of the future. But I honestly expected that growth would be slower and that it would take several more years to reach the stage we are at today.
The other thing that most people don’t appreciate is that the evolution is community driven. The Eclipse Foundation is not a software company that sets a strategy and then executes. We rely upon our community members to set the direction of the technology. It results in a very organicand dynamic environment that is very different from what I have experienced working in a corporate setting.
I am personally not one to harbour a lot of regrets. So no, there isn’t really anything I wish we had done differently.
GM: Obviously, the big news recently is the Runtime initiative: when and how did that come about? Who was pushing for it? How does it fit in with the rest of the Eclipse projects?
MM: EclipseRT is like one of those classical overnight rock-band success stories where the band had been together and touring for a decade. Now it is too early to claim that the project is a success, but it has clearly been several years in the making.
The starting point was probably the Eclipse 3.0 release in 2004. This is when the core development team decided to adopt the OSGi standard as basis of the Eclipse plug-in model. Out of this effort came the Equinox project that provided the light-weight component runtime that was the platform for running Eclipse but which has also proven to be very valuable for general purpose use. Developers in the community quickly discovered that they could take Equinox and use it as the platform for building rich client desktop applications. More recently, they started using it for server applications.
In parallel, organisations like comPeople (Riena), Innoopract (RAP), Oracle (EclipseLink) and Sopera (Swordfish) initiated Eclipse open source projects focused on server-side runtime technology on top of Equinox. As the number of runtime projects at Eclipse grew, it became obvious that coalescing this community into a single top-level project was the next step.