First Monday

Reflections on free software past and future by Benjamin Mako Hill

The following commentary is part of First Monday's Special Issue #2: Open Source.


Free Software began more than twenty years ago with a movement for freedom in the form of Richard Stallman's GNU project. As that movement grew and developed over time, so did collaboration technologies like the Internet, source control management systems, Internet Relay Chat, USENET, and email; frequently, these system were built from free software. Software licensing regimes, like the BSD and MIT licenses, allowed software to be distributed freely. The GNU General Public License (GPL) codified a legal system to preserve these freedoms through a viral quality called "copyleft." With time also came a series of social structures, policies, "best practices," documents, and standards that helped form a coherent and effective development practice inside the Free Software community.

By the late 1990s Free Software had brought together the technological tools, the legal systems and the social structures to provid a foundation for collaboration on an unprecedented scale. Through allowing and facilitating flexible, ad-hoc and frequently volunteer-driven collaboration, the profound pragmatic benefits of software freedom became apparent to many outside the Free Software community.

It was in this context that Open Source was born both as a term and as a new movement to promote these practical benefits of Free Software while obscuring what some thought was the disruptive talk of freedom. At the heart of this effort, Eric Raymond's The Cathedral and the Bazaar described how the "openness" of Free and Open Source Software (FOSS) translated into fixed bugs and more features with less work. It was a image seized upon during the heady days of the dot-com boom.

With time though, many learned that harnessing the power of successful FOSS development is more difficult than creating a publicly accessible source tree complete with a copy of the GPL. To this day, most FOSS projects are built by a single person or company. As Sandeep Krishnamurthy showed in Cave or Community?, only a small percentage of projects gain enough traction to build the community necessary for facilitating something resembling Raymond's bazaar. Not every deserving project can build or sustain its own bazaar and gain from the benefits of doing so.

The bursting of the dot-com bubble brought with it a series of major -- often fatal -- hits for the corporate poster-children of Open Source. FOSS developers became more realistic about the practical benefits of building FOSS. Meanwhile the movement was able to return to its Free Software roots. Don Marti reminded us that hobbyists never replaced the old ballasts in companies' fluorescent lights to promote efficiency. The benefits of FOSS to many projects remained and the model remained compelling to a wider range of hobbyists because FOSS fun and because it FOSS is Free.

Major new deployments of free and open source software, like in Brazil and in Munich, became as motivated by freedom and institutional independence as they were by the lost cost and the practical benefits. Many in both the Free Software and Open Source camps admitted that despite all their fighting, both Stallman and Raymond were correct. FOSS' path toward ubiquity is being built successfully upon a variety of justifications both idealistic and pragmatic. Most importantly, FOSS's progress has remained unchecked.

While many developers struggle to benefit from FOSS development in the way that Raymond promised, the nature of these benefits have remained clear to the users of successful free software projects. Meanwhile, the number of these users continues to swell. As the number and diversity of consumers expands, FOSS faces a host of interesting new problems. Complicating users' increasingly diverse set of needs is an explosive growth in the size and the ambitiousness of projects. In projects like GNOME, KDE, Debian, Fedora, and Gentoo, FOSS is solving increasingly difficult problems for increasingly expansive communities with with increasingly large code-bases.

However, it is also becoming more difficult for projects to release any single product that can cater to all of its potential users. The difficulty in building effective bazaars alluded to above is compounded as it becomes increasingly difficult to reproduce the code and developer bases of large FOSS efforts. Taken together, these facts imply a paradoxical FOSS community in which more projects are needed and creating these projects is increasingly untenable.

Raymond's "bazaar" metaphor is more limited in application than many outside of the FOSS community realize. While there is there is no rigid hierarchy, collaboration in the bazaar is, in the vast majority of cases, within a single project and around a single code-base. The only historical alternative has been a project bifurcation or "fork." The disruptive and counterproductive natures of forking has been decried by myself, by Karl Fogel, and by many others in books and essays on Free Software project management. The negative repercussions of forking have become so infamous that the mere threat of a fork is usually enough to prevent one.

Through recent excitement over distributed source management and version control, many in the FOSS community have demonstrated that they are aware of the fact that the technological underpinnings of a new evolution in the way the FOSS is developed in now under way. In describing how the distributed BitKeeper has, "very fundamentally [made] us ... change how we do things," Linus Torvalds explains how the Linux kernel serves as an example of the more distributed way that FOSS projects will be developed in the future. Of course, source management is only one piece. Other technical, social, and organization advances have followed and will continue to do so.

In redefining FOSS projects as large and accessible ecosystems of separate projects, I believe that the fundamental advantage of free software in the next decade will be a growing ability for a "single" free software project to be multiple things to multiple users simultaneously. Projects will be interrelated and developed in parallel with each other.

The result will be that FOSS projects will increase its competitive advantage over proprietary software projects through FOSS's ability to better serve the increasingly diverse needs of increasingly large and increasingly diverse user-bases. Although it sounds paradoxical today, more projects will derive and less redundant code will be written. It is through the increasingly realized reality of Raymond's bazaar coupled with a continued commitment to Stallman's ideals of independence and freedom that Free and Open Sources continued success will be built.End of article


Contents Index

Copyright ©2005, First Monday

Copyright ©2005, by Benjamin Mako Hill

Reflections on free software past and future
First Monday, Special Issue #2: Open Source (October 2005),