Blogosphere and twittersphere are both abuzz this week as a result of Mikeal Rogers’ “Apache Considered Harmful” post. I thought the article made a number of important points about how the software world is changing, and changing very rapidly. However, I think that follow-on articles such as “Has open source outgrown the Apache Way” are pushing the hypothesis a little too far. It’s one thing to point out the dynamism of GitHub, and the rise of social coding. But stretching that to the assertion that open source foundations no longer have a role is just wrong.
Disclaimer: I run an open source foundation, so obviously I have a vested interest in this debate.
First, I would like to point out that Eclipse is absolutely committed to moving to git as fast as we can get there. We’ve even announced a date by which we intend to shut down our previous standard SCM, CVS. At some point we also intend to discontinue Subversion support for Eclipse projects as well.
Many in the Eclipse community know that I was personally a skeptic about the value of adding git. I was worried that having three SCM systems at Eclipse was too many. In addition to the resources required to support three SCMs, this kind of variety can act as a barrier to entry for both contributors and adopters. If folks have to learn multiple SCMs to interact with Eclipse projects, that is a PITA for them. In short, I was resisting change.
Fortunately, there were many good folks within the Eclipse community that convinced me I was wrong. You know who you are. Thank you.
The argument that ultimately swayed me was that git brings a social dynamic to contribution that the other SCMs we used lack. Adopting git is a strategic attempt by the Eclipse Foundation at social engineering. If we can lower the barrier to contribution at Eclipse, then we will make our community stronger and more innovative. That is ultimately the reason why we’re doing this. This has required investments by our IT team, and as we adopt Gerrit we are modifying our processes for IP management as well. We know that you can both use git and do excellent IP management, because we are already doing exactly that.
Next up is to do more work with GitHub to make it even easier for the broader community to fork Eclipse projects and contribute code back. We are consciously embracing the whirlwind.
I would point out that the model we have at Eclipse where we have a professional staff and some resources at the Foundation makes this kind of change easier to do. Once we’ve made up our mind as a community to push in a new direction, we have the people and the resources to make it happen. We’re not always fast enough to please everyone, but we get there.
But is git and GitHub so powerful a force that the Eclipse Foundation should just roll over and die? I honestly don’t think so. There are some unique values that an open source foundation like Eclipse adds to the equation that are absolutely necessary.
The first thing to understand is that what we are trying to build at Eclipse are not simply open source projects, frameworks or code libraries. Our mission is to ship product-ready software platforms that major corporations and enterprises can safely use and distribute in their products. This involves a level of co-ordination and process that goes far beyond what you can do at GitHub.
A small sampling of the core value-add that happens within the Eclipse Foundation and its community would include:
- IP management. Although we often get criticized for being overly focused on the topic, nobody does IP management better than Eclipse. Which is a huge part of fulfilling our mission of delivering product-ready software platforms. Yes, it’s a lot of work, but it is absolutely a core value, and one not easily replicated.
- Predictability. The Eclipse community has shipped its major platform release on time to the day for eight years. Last year’s release was 46 MLOC, so we are talking about a non-trivial amount of code. The processes that we have in place to co-ordinate the activities and release engineering for 60+ projects absolutely require some amount of centralized support.
- Branding and community. The Eclipse brand means something to people. Millions of developers around the world use Eclipse or Eclipse-based products every day. They have confidence in the software and the community that delivers it. Looking inside the community, there is definitely a pride and a sense of community that comes with being part of Eclipse. Anyone who has ever been to an EclipseCon has seen this firsthand.
- Industry collaboration. Obviously GitHub has been wildly successful in fostering community-led open source. However, there are lots of instances where large and conservative corporations are looking at how to get involved in open source. In many cases, their business motivation is to collaborate with other industry players to create shared industry platforms. The kind of work that goes into facilitating these ventures goes far beyond picking a license and starting to hack some code. The processes that organizations like Eclipse and Apache bring to the table for project incubation, development processes, license management and IP contribution management are critical success factors.
At Eclipse we are trying to simultaneously embrace change, while delivering the core values and processes to fulfill our mission of delivering product-ready software platforms. I feel that overall we are doing a pretty good job, and offer more than enough unique value to sustain us for the very long term.