Black Duck Software and North Bridge Venture Partners, working with 451 Research, are conducting the sixth annual Future of Open Source Survey. I took the survey, but one question caused me concern, considering what I do for a living. Question 11 states, "OSS [Open source software] forges and foundations have played an important role in the past few years. How will OSS forges and foundations evolve over the next 2-3 years?" Answers range from growing or decreasing equally in terms of adoption, one growing at the expense of the other, or staying the same. I’m troubled because forges and foundations serve open source project communities in radically different ways.
A forge is a web-hosted collection of software development tools and the software repositories for projects that use the forge’s tools. The tools include at a minimum the source code-versioning software (e.g. CVS, git, mecurial) and an issue tracker, but also typically provide forum support and a website hub for the project. There are a collection of great free forges for open source projects that include Github, Google, Launchpad, SourceForge, and Codeplex depending upon one’s needs.
The tools provided by a forge are essential to successful software development, regardless of whether it’s open source licensed or not. Without the software discipline that comes with rigorous configuration management and version control, a project can neither scale nor evolve properly. Likewise, robust repository software allows easy experimentation, managing the forks and merges that come with bug fixes and possible enhancements. Issue tracking allows bugs and enhancements to be quickly collected, prioritized and managed, and documented over the project’s history. Communications tools are essential to geographically distributed collaboration and development. Without a forge, projects would themselves need to provide and operationally manage the resources to deliver this essential tool base.
There are other specialized software repositories available that are not forges, where it’s quick to look for releases of open source software to install, for example CPAN for Perl modules, and java-source.net for Java, but these are simply repositories. There are also critical distribution engines like the Oregon State University’s Open Source Labs. Neither of these, however, should be confused with forges.
Foundations solve a very different need for open source projects. Foundations, regardless of what they each represent to their constituencies, are IP management machines that provide neutral non-profit collaborative development space. This neutrality is essential for corporate participation in open source because corporations are typically more sensitive to intellectual asset ownership.
Too often, corporations are loath to contribute to an open source software project that is not neutrally owned. They will collaborate with partners in a neutral space, but are unwilling to contribute to a potential competitors asset base. Corporately owned open source projects (e.g. MySQL) demand the assignment of full rights of ownership, and this too creates contribution friction. As well, a corporation is loath to use the software in its products and services from an open source project that does not carefully document and manage the source of contribution ownership. Foundations handle this set of IP ownership and management problems.
Open source foundations are neutral non-profit organizations. As such they provide the neutral space for ownership that allow potential competing corporations to contribute to a shared asset base. Foundations also use a variety of legal tools and processes to track the provenance of the software contribution stream depending upon the broader needs of their members. Lastly, from a corporate legal perspective, foundations provide a level of legal risk mitigation by being arms length. Most open source software foundations were started by corporations around open source software projects that were growing to the point that they needed proper IP management to allow the next level of participation. (For an interesting perspective on community size and vigour as it relates to foundations, see Henrik Ingo’s work.)
Just as forges provide ancillary tools to projects for things like communication, foundations provide business operations beyond the legal management of software IP, including marketing and financial management. Indeed, some foundations provide the essential software development tool base of a forge (e.g. the Apache Foundation and the Eclipse Foundation), but this should not be a reason to confuse forges and foundations. (The Outercurve Foundation remains forge agnostic.)
Forges and foundations each serve essential but radically different needs for open source projects in their growth curves. Forges are essential for the software base to evolve technologically. Foundations are essential for the growth of the community to include the valuable contributions of the corporate world.
It’s my hope that the real answer to Question 11 in the survey will be that over the next 2-3 years people come to understand the different essential services forges and foundations provide open source projects, and where they fit in the over all life-cycle of free and open source software development.
Image credits/source: www.zoomerang.com