Commercializing Open Source Software
CowboyRobot writes "Michael Karels, system architect for BSD 4.3 and 4.4, has an article on ACM Queue about the challenges in trying to make money from open source software. From the article: 'As users of the software, open source contributors have certain common interests in making the software stable and usable.' but 'When additions require modifications to the base system, there may be resistance to incorporating the changes.'"
> Does anybody have the text of the article?
Commercializing Open Source Software
ACM Queue vol. 1, no. 5 - July/August 2003
by Michael J. Karels
Introduction
The use of open source software has become increasingly popular in production environments, as well as in research and software development. One obvious attraction is the low cost of acquisition. Commercial software has a higher initial cost, though it usually has advantages such as support and training. A number of business models designed by users and vendors combine open source and commercial software; they use open source as much as possible, adding commercial software as needed. They may use open source software as a central component of a product or service, but use other components to add value, which can then induce customers to pay for the offering (obviously, it is hard to compete with free software on price).
After a brief overview of the salient differences between open source and commercial software, this article will describe several basic business models in today's marketplace to highlight ways that value is added to open source software and services. For the most part, I will discuss only complete software systems sufficient for some useful purpose, such as network servers, which include an operating system and its associated components, any applications needed for the system's purpose, and necessary local configuration information. Many of the same principles apply to components such as applications and other software packages.
Open Source Development
The development process for open source software is often quite different from that of traditional commercial software. In some cases a single author or a small group may develop and distribute a program or system. Successful software often attracts additional developers, however, and larger projects generally require larger teams. These teams tend to be distributed, with participants in different locations and with different affiliations. Some members may contribute their own time; others may be paid to work on the project. Some projects develop infrastructure such as a consortium to coordinate the project; others work with a looser organization. In either case, projects are likely to be organized with less central control than in traditional software development. Some projects may have a strong central figure such as the initial author of the software, but many other projects have "outgrown" central control.
This less-centralized structure affects the development process for open source projects in several ways:
* Community support is often available via mailing lists associated with a project. Response ranges from rapid to nonexistent.
* Projects may have many volunteer contributors. Their abilities and availability can vary significantly.
* In terms of quality, Darwinism applies. Some software features may be added while the project is still incomplete or experimental. These features may eventually be removed or replaced, or they may be improved over time. The addition of features and other modifications is driven by the interests and wishes of the contributors (including companies that pay staff to extend open source software). As users of the software, these contributors have certain common interests in making the software stable and usable. They may have substantially different uses for the software, however, as well as different ideas about how the software should be engineered and extended. The direction taken by the software developers may be driven by those who have the most time to devote to development or by those with the greatest tolerance for the discussions on mailing lists for the project. When different groups design and implement the various subsystems, their architectures might not have similar or compatible styles.
* The open source process is inherently social and political. Group leaders spend as much time on organizational matters and conflict resolution as on technical issues
CAPS LOCK IS LIKE CRUISE CONTROL FOR COOL!
> But because of things like the GPL, they've effectivly shot themselves in the foot.
If you dare to read the article, you'll find an amazing way of making money off GPL (look for 'Dual Licensing').
GPL requires the derived work sources to be published under the same license, which is unacceptable to many businesses. However, one can always bargain with author for separate license for their specific project.
Anecdotal evidence: I was involved in a proprietary project where we needed a very specific functionality. The opensource library doing just what we needed was there, but licensed under the terms of GPL. The contact with author revealed that he is perfectly willing to relicense it for us for a nice amount of $35000. And it really was an OK price because reimplementing the necessary functionality from scratch would cost the company considerably more, and we wouldn't fit into the timeframe anyway.
Lisp is the Tengwar of programming languages.