Thursday, February 22, 2007

Free Speech and Free Beer: The Evolution of Open Source in a Massively Connected World

One of the big myths about open source software is that being free is its chief value. The myth, of course, is in the meaning people ascribe to "free."

As members of the Free Software Foundation and many others point out, the word "free" in this context is not about the price; it is about the liberty. "Free" here is as used in the phrase "free speech" (a right we all covet) rather than in the phrase "free beer" (which is always too good to be true) or "free kitten" (which sounds good but turns out to have a high overhead).

The issue is made more confusing because much of the affected software also has a zero price tag. A natural consequence of the GNU General Public License (GPL) that enforces the liberty of software developers to use the source code created by their peers is the inability of anyone to charge a premium for it or its derivatives. The innovation of the Open Source Initiative1 was to provide new language and new licenses with which to explore the conceptual space. The open source movement allowed the evolution of the concept of free source-code from its original socialist purity towards a more useful plan. It suggested alternatives to GPL licensing and promoted the possibility of hybrid open source/closed source works by working with companies to write business-friendly licenses.

Of course, the early years of the movement have focused on the free (as in beer) software as a natural consequence of their starting point, so it is still possible for people to misunderstand. But we have seen a definite shift in purpose for open source over the last few years. The open source community has welcomed companies that build commercial enterprises on open source code, as long as they do so symbiotically rather than parasitically. Today, based on Sun Microsystems' experiences with several diverse projects, it is clear that open source has matured into a well-tried, validated development methodology.

The Massively Connected Developer

The key values of the Internet flow from the massively connected mesh of participants, which Metcalfe's Law observes as leading to an exponentially growing pool of potential relationships. Complementing that are sets of loosely coupled, open and royalty-free standards, allowing both individuals and corporations to participate at the cost not of negotiating each relationship, but rather of establishing connection to the standards. The loosely coupled nature of the standards means that the relationships formed are flexible and tolerant, not brittle and fragile. This exponential-relationship, linear-cost world is termed the Net Effect and has been the primary energy source of the Internet revolution from its inception.

The Web came about on the Internet through the operation of the Net Effect, and today we need more than ever a development and deployment methodology that harnesses it. Open source has reached this evolutionary stage. It provides the ideal, loosely coupled yet rigorous environment for the massively connected community that comprises many of the key developments in the new Internet. What distinguishes projects like Apache, NetBeans, Linux and GNOME is less the price tag of the deliverable but rather the eclectic inclusiveness of the project itself. If a standard is a technology set where the community affected by changes controls the changes, then open source looks destined to be the foundation for standards in the 21st century.

Open source is not without cost. Someone has to underwrite the community. Developers have to donate their time and expertise. Sun's experience of underwriting NetBeans.org and OpenOffice.org (and others) has been of the massively connected community of both commercial and individual end users and developers joining with generosity and cooperation to build the platform on which the solutions they need can be delivered. The evolution of these projects has revealed the existence of a commercially valid business model based on open source. It has become the development methodology of the Net Effect.

Where to Draw the Line

One of the best uses of the evolved open source development model is as the basis for business ideas where there is the potential of a large user community. A "community of code" maintains a code base of open source components or elements, preferably itself evolved "in the open," using the behaviors and principles of the open source movement well documented elsewhere2. These inherently lead to better code being created, debugged and documented faster, not least because of the scrutiny of the community. These benefits are obtained as long as there is a viable, massively connected community of interested parties to create, maintain and improve the code. While one might expect the "community of code" to be chaotic, it is in fact typically well regulated yet dynamic.

Open Source ModelFrom the "community of code", a gatekeeper function emerges, operating with the implicit consent of the community. The gatekeeper sets the bounds for the project (embodying the will of the community rather than imposing an external view) and creates the "reference implementation." Changes are made sufficiently infrequently to ensure stability of the solution layer above while paying due regard to the work of the community below. This gatekeeper is the key to the success of the evolved open source model, bridging the informality of the community with the stability needs of the commercial enterprise.

Above the reference implementation is the all-important dividing line between the community-based foundation platform and the commercial-based solution offerings that depend on it. The licenses used below the line foster and protect the community; those above the line facilitate commercial success in an area where a viable development community could not be sustained. Drawing the dividing line is the great art; the balance between community and commerce differs for every project.

To make this model clearer, it is helpful to consider an example, such as netbeans.org. The community of code in this case is a democratic and independent community founded by Sun in 2000 and hosted by CollabNet at Sun's expense. The community is diverse, with thousands of subscribers and a number of full commercial offerings3 built on the reference implementation. Individual developers participate for the reason they always have -- to gain software that fits like a glove and the reputation for excellence that their work deserves.

Likewise Linux and Apache can be easily illustrated in the same way. In each case, the commercial offerings do not just consume the reference platform parasitically; rather, the engineers working on them join the community of code and share in its evolution.

Perhaps we need to refer to this new, massively connected methodology by a new name to help people avoid the intellectual traps that bias them against open source. Open method? Collaborative source? Collaborative commons? Suggestions welcomed!
Open or Closed?

Just as the open source movement has grown from idealism to commercial success, we need to evolve our understanding of it. The experience of Sun and others is that open source provides the ideal development and business models for today's massively connected, Net Effect economy. It is not about free stuff; it is about enfranchising every member of the user and development community, both commercial and individual developers. Today's software innovations need this Net Effect model more than ever before.

The opportunities for subtle commercial lock-in offered by our traditional understanding of 'standards' are largely avoided by it. Instead we see genuine collaborative innovation. With a closed model, innovation is the domain solely of the corporation, which can then monopolistically tax the results. With an open model, companies can gain their just compensation for their innovations "above the line" but there remains room for free innovation by all.

Most importantly, open source is not just about the code; it is about the community. You don't make a project open source simply by publishing the source code. It takes the potentially costly and time-consuming creation and maintenance of a community of code, a trusted gatekeeper function and a series of symbiotic commercial enterprises to make true open source. So true 21st century open source is not free. But it is liberating for the Net community.

http://www.webmink.net/free/Free-ix.htm