Community, Corporations, and Charity
Different ways for an open source community to provide for its needs and the strengths and weaknesses of each.
Every open source project has a society of users, and these socieites often have similar needs: new features, support, and documentation. Like any society, there are three ways to meet these needs:
- Community - the members of the society, in this case users, get involved themselves. Each does what he can to contribute to the group. PostgreSQL and Debian seem to be organized this way.
- Corporations - businesses are set up with investors, managers, and employees to satisfy the society's needs with the goal of making a profit. MySQL, Red Hat, and Sugar CRM are examples of this model.
- Charity - someone provides for the society's needs without direct monetary gain, even though he may derive other benefits. OpenOffice from Sun and Mozilla during the early Netscape days are examples.
Community effort offers the enticing advantages of empowerment, equality, and true free exchange of ideas. A veritable "liberty, equality, and fraternity" in the cyberworld.
Unfortunately, there are real limits to what community efforts can produce. First of all, volunteer efforts are dictated by what volunteers want to do. In many open source projects, this seems to be "write code" than "write documentation" or "help users." Second, community efforts depend on key organizers and ringleaders. Whole projects can be left floundering when they are not present. Finally, community efforts are harder as communities or projects get bigger, because each individual starts to feel that his contribution is simply too minute.
Corporations can bring large resources to bear and achieve impressive results. They can also offer a greater level of reliability and predictability than unpaid volunteers. They can thus be very valuable in the ultimate success of an open source project.
On the downside, to maximize profit, corporations will usually have to assert some proprietary interests. Left unchecked, they could lead to the project becoming less and less free.
At first glance, charity would seem to be the best option. The community's needs are met without any strings attached.
Unfortunately, charitable resources are always limited, and participants have a limited role in the work of charities. (Hence the expression, "beggars can't be choosers.") Thus, charities can't be counted on to address most needs of a society at large or an open source community.
How Open Source Works
Typically, open source projects start out with charity--someone makes his work available. Then, as the project grows, a community grows up around it and begins to make more contributions. Finally, as it reaches a certain critical mass, corporations enter to provide services to the community as well.
With the renewed interest of venture investors, there's now been an inversion of this established pattern. A corporation is set up first with investor capital to create the initial work and build a community. It remains to be seen how well such corporations can live with the communities they inevitably create.
What's Right for Open Source
In a well-functioning open source society, all three components balance and complement each other. Community efforts keep corporations from asserting too much proprietary interests, while corporations bring their resources to provide services not possible with volunteers alone. It may well be that the community focuses on what it does best, such as developing software, while corporations pick up the task of support and documentation.
This has indeed been the Linux model--collaborative software development by a community, distribution and support by companies such as Red Hat and IBM. Commercial companies have popularized Linux far beyond the original developer circles, while open source communities such as Debian and CentOS keep their proprietary interests in check.
If the open source community becomes unbalanced, however, this "utopia" can easily degenerate into "distopia." If the community overly relies on charity of others, it will become a society of welfare recipients. Once those charitable resources are exhausted, the members will find themselves stranded and helpless. Conversely, if the corporations become the sole provider for a passive community, then the software will simply cease to be free.