"I love deadlines. I like the whooshing sound they make as they fly by."
The Eclipse community has established the best existing model for multiple corporations to create innovation networks, enabling co-operation on the development of product-ready open source software. This really is the best of both worlds: the openness, transparency and meritocracy of open source with the resources and commitment of corporations both large and small.
This article describes some of the lessons learned over the past five years of growth of the Eclipse ecosystem. But first, it is important to understand the distinction between the Eclipse technology and the Eclipse Foundation.
Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. There are over seventy projects hosted at Eclipse that are focused on building the Eclipse technology.
The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the Eclipse projects and helps cultivate both an open source community and an ecosystem of complementary products and services.
A Brief History
2001: IBM creates www.eclipse.org and Eclipse 1.0 ships as a Java IDE. At the time, the community was primarily made up of IBM and its partners. We believe the early decision to run Eclipse as the marriage of an open source project community and an industry consortium has been a major source of our community's enduring strength and growth.
2002, 2003: Eclipse 2.0 and 2.1 ship and Eclipse begins to really come into its own as a tools integration platform. The consortium around Eclipse starts to grow quickly and begins to show life as a real industry force. Organizations begin to trust the quality and predictability of Eclipse technology releases enough to make significant product bets and investments on the platform.
2004: Eclipse 3.0 ships, and the Eclipse Foundation is formed. This new version is a watershed because it migrates the plug-in model to an open standard (OSGi) implementation and includes an open Rich Client Platform (RCP). Eclipse starts to broaden support from a tools integration platform to an application integration platform for the desktop. It is interesting to note that RCP largely came into being because of community interest. Enough people were ripping the IDE bits out of Eclipse 2.1 to build desktop applications on top that it became obvious that doing it once and doing it well was the obvious choice.
Vendor Neutral Governance Model
The Eclipse Project was originally created by IBM in November 2001 and supported by a consortium of software vendors. The Eclipse Foundation was created in January 2004 as an independent not-for-profit corporation to act as the steward of the Eclipse community. The independent not-for-profit corporation was created to allow a vendor neutral and open, transparent community to be established around Eclipse.
The Eclipse Foundation was successful in promoting its independence in 2004, leading to the rapid expansion in strategic membership in 2005. Establishing Eclipse as an independent entity took some time and effort.
The tipping point was EclipseCon 2005 when BEA, Borland, CA, Sybase and Wind River all joined the board of directors as strategic developer members.
The health and vitality of the Eclipse open source projects is absolutely key. Although Eclipse is in many ways a trade association or consortium, the open source projects are the source of value creation in the Eclipse ecosystem. The perfect scenario is where we see a virtuous cycle of growth and investment between the projects and the commercial ecosystem. As companies capture value by creating products based on the Eclipse platform, they find opportunities where it is in their commercial interest to contribute back to the Eclipse technology. We've certainly seen a large growth in the number of organizations contributing code, projects and committers at Eclipse.
Growing the ecosystem was and is an important goal. Our membership has grown to over 160 companies. Growth in membership is an indicator of the health of the overall ecosystem. But probably even more important is the huge number of products now built on top of Eclipse, with more coming all the time. No single organization can control the destiny of the Eclipse Ecosystem as a whole.
Common Technical Architecture
Europa is the current deliverable along the vision of Eclipse becoming the open development platform. It is about Eclipse continuing on the community-led evolution that it has been on for the past several years. Europa's importance is, in many ways, linked to the emergence of Eclipse as an application integration platform which spans servers and devices. It's not just the client any longer.
This is not a small thing. Eclipse is one of the very few organizations which is attempting to develop a standards-based development platform of tools, runtimes and frameworks which span devices, clients and servers. All of which is based on a single component architecture and programming model.
And once again, it is the community that is driving the evolution. Just as a few years ago when people noticed they could create their own desktop applications and drove the creation of RCP, developers are now noticing the opportunities in running the Eclipse plug in model, on or under a server.
So today Eclipse is not just about tools or even Java. What our community is building is something which is much more ambitious and interesting. And with new projects including persistence layers,service-oriented runtimes and Rich Internet Platforms starting up, the future looks even more interesting.
Measuring Progress - Size versus Health
Measuring the size of an Ecosystem (like number of members) is important, but the Eclipse Foundation is far more interested in the health of the Eclipse Ecosystem. In their paper Strategy as Ecology, Iansiti and Levien identified three key elements of ecosystem health:
- Productivity of the Ecosytem: how much economic value is being created by the ecosystem
- Robustness: how durable and able to adapt the ecosystem is to external events
- Niche Creation: the ability to expand the ecosystem with meaningful diversity
It is important to be clear what is meant by productivity here in the context of measuring health -- we are talking about the ability of the Eclipse ecosystem to create economic value, not the individual productivity of developers. If a framework or tool is generating economic activity, then we would expect to see more and more organizations seeking to pay employees for those skills. Moreover, we would also expect to see an increasing number of products based on the Eclipse platform.
Measuring this precisely could be extremely time consuming, but luckily there are some tools that help spot trends such as Indeed's job listing archives and Google's News Archives.
Over the years the Eclipse community has dealt with quite a few external events driven by our competitors. Which raises an interesting point: if Eclipse is a free and open community with a diverse commercial ecosystem, who are its competitors? This is a bit of a simplification, but it really boils down to two: Microsoft and Sun.
Microsoft Visual Studio was the product which Eclipse was originally created to compete with. But in many ways, the competition has morphed into co-opetition, as many developers use both Eclipse and Visual Studio (VS). There are a lot of developers who use VS for their .NET development and Eclipse for Java and everything else. So there are actually interesting scenarios where interoperability between Eclipse and Microsoft products makes sense.
The competition with Sun's developer products is more direct, as in many ways we are competing for the same developer: Java programmers. Despite the fact that Eclipse does so much more than Java tools, this remains our key franchise, and commercial ecosystem opportunity. Visual Studio and Eclipse can complement one another. In most cases, NetBeans and Eclipse are substitutes. As a result, the only major organization dedicated to competing head-to-head with the Eclipse community is Sun.
But despite large investments by Sun in NetBeans, the market share and our download numbers show only steady growth for Eclipse. So clearly the robustness of the Eclipse ecosystem is very high and still growing.
The last element of ecosystem health is niche creation, where the technology is rapidly adopted in new technology niches. Don't get confused: "niche" is not a synonym for either "small" or "insignificant". Think more along the lines of "new" and "cool".
Again, Eclipse rates very highly. Eclipse as a platform has excelled in enabling niche creation. Its adaptability has driven growth and success in many new technology niches as quickly as they've been created. Here are just a couple of recent examples:
- According to Linux Watch, there is cross-community interest in rallying around Eclipse as the tools platform for Linux Standard Base (LSB) development.
- Within days of Apple shipping the iPhone, Aptana shipped its Eclipse based, EPL (Eclipse Public License) licensed Integrated Development Environment (IDE) for iPhone development.
- Verigy recently shipped its semiconductor test solution which leverages Eclipse to provide "...an active hardware view, which provides the user with an intuitive, graphical view of the RF (Radio Frequency) measurement block diagram, and the ability to export RF setups to test method templates...".
Eclipse today provides a wealth of commercial opportunity for the participants within its ecosystem. Just as importantly, Eclipse offers companies and individuals mechanisms to establish and grow innovation networks for collaborative development of new technologies. Those of us who work within the Eclipse community are very excited about the road ahead. We have a challenging mission to create an open development platform, an amazing wealth of development talent amongst our committer population, and a vibrant and healthy ecosystem.
Iansiti, M, and Levien, R., Strategy as Ecology, Harvard Business Review, March 2004