Open Source Software
Definition
"Open source software is typically free and comes with the source code needed to adapt it to users' needs. Most open source licenses let users redistribute the software, including possible changes, and charge for redistribution as long as source code changes are publicly available" (http://www.opensource.org).
Cited by Joel West at http://www.firstmonday.org/issues/issue12_6/west/index.html
"In the narrowest sense, open source software is defined by a particular form of software license approved by the non–profit Open Source Initiative. In practical terms, the concept of open source has three dimensions: an IP license, a virtual development process and a system of shared governance."
(http://www.firstmonday.org/issues/issue12_6/west/index.html)
Note that some suggest that the true Open Development practices should be defined and projected as well, not just the licensing aspect.
Discussing the Definition
From a discussion with industry leaders at http://opensource.sys-con.com/read/342346.htm
1.
"The defining characteristics of 'open' are:
- a genuine, recognized open source license. The Apache License, which Spring uses, is very liberal and does not lock out any commercial use - visible repositories: free information about what is developed and by whom - open issue tracker: free information about bugs and resolution. Ability for anyone to file issue reports - a real community, perhaps funded by one or more companies but with wide participation - the ability for anyone to gain committer status through merit and dedication"
Rod Johnson – CEO and founder, Interface21
2.
there has been the suggestion within the Apache Software Foundation to use the more specific term 'open development.' By referring to 'open development', a company (or rather, community) very clearly states that it is developing and releasing its software in a very specific way that allows anyone to download, build and run the code. And that is exactly what the more abstract wording of 'open source' is currently unable to do."
Arjé Cahn – CTO, Hippo
3.
"Commercial open source product companies are continuing to edge away from the 'official' definition of open source, perhaps because it doesn't provide a way to prevent a new competitor from using the original source code as the basis for a new, competitive offering. In addition, while most of the commercial open source companies follow an open source distribution model, very few of them follow an open source development model that includes community contributions.
So I agree with Nat that the term 'open source' by itself does not describe today's spectrum of open source projects. I routinely distinguish 'commercial open source' from 'community-based open source,' where the former includes those companies trying to generate revenue from open source software and the latter are non-commercial, including 'free/libre' software."
Tony Wasserman – Executive Director, Center for Open Source Investigation, Carnegie Mellon West (http://opensource.sys-con.com/read/342346.htm)
Status
Communities vs. Firms
"Certainly there is open source software that is developed for shared benefit by altruistic volunteers. However, the provision of labor and other resources for major open source projects has been increasingly driven by contributors working to advance the goals of their employers, i.e. corporate interests (Hars and Ou, 2001). When firms sponsor open source projects, they have an easier time providing transparency to outsiders than sharing control with them (O’Mahony and West, 2005)." (http://www.firstmonday.org/issues/issue12_6/west/index.html)
Users vs. Customers
Stephen Walli [1]:
"First, software projects are interesting buckets of technology. These projects have users and contributors, i.e. a community. Open source has a definition. So does free software. If these projects are open source or free software, then they meet one (or both) of these definitions. Pretty simple really.
Second, products are packaged, installable, tested, documented, supported, and maintained for customers. Companies build products as part of their value proposition to their customers. Another way to say this is that customers buy solutions, not software. Still pretty simple.
These two paragraphs are orthogonal.
I am not suggesting that a project's community does not build packages, test, document, support, or maintain their project software, BUT once a commercial transaction between a customer and an organization takes place, the customer's expectation needs to be met. It requires a customer and a company and money to change hands.
Until the buyer puts their money where there mouth is, they're not a customer. For an open source project, they're simply a user. Contrast customers with community (users and contributors). Love them both. Respect each of them for what they bring to your company. Do not mistake one for the other. [Insert my favourite Mårten Mickos quote here.]
Companies can use free and open source software as part of their solution. To "build" versus "buy" in their product development processes, they can now add "borrow" and "share". A company can use collaborative development as a community engagement technique. Instead of traditional push selling they can hopefully develop a large user community (which has tremendous value in its own right) that they can then turn into customers. It is a set of techniques (tactical or strategic depending upon the company's use). Nothing more; nothing less. Mike Olson is right -- there is no "open source business model".
Customers care that they're buying "open source" and "free (Libre!) software" or that your product is "disruptive to the incumbent" as much as they care about how many patents you filed, the language you wrote the software in, or your accounting practices. They do care that you provide value for money, and that the solution meets their needs." (http://stephesblog.blogs.com/my_weblog/2007/03/debating_open_s.html)
Typology
Community vs. Proprietary
"There are two types of open source software.
Community open source is software that a community develops. Rather than a single corporate entity owning the software, a sometimes broad community of volunteers determines which contributions are accepted into the source code base and where the software is headed. Individual developers, the committers, and not a specific company, make decisions about the software, as in the case of the Apache Web server (http://httpd.apache.org)
Commercial open source is software that a for-profit entity owns and develops. The company maintains the copyright and determines what is accepted into the software code base and what to implement next, as in the case of MySQL and its MySQL database (http://www.mysql.com)." (http://www.riehle.org/computer-science/research/2007/computer-2007-article.html)
See also our typology of Open Source Business Models
By Purpose
"There are basically three types of open source products: 1) Actual software like Linux or OpenOffice, 2) scripting languages like PHP, or 3) web services or applications like WordPress." (http://www.e-strategyblog.com/2007/06/open-source-vs-.html)
Discussion
Corporate Benefits from Open Source software
From Dirk Riehle at http://www.riehle.org/computer-science/research/2007/computer-2007-article.html
1.
Large system integrators, or solution providers, stand to gain the most from open source software because they increase profits through direct cost savings and the ability to reach more customers through improved pricing flexibility. Every dollar a system integrator saves on license costs paid to a software firm is a dollar gained that the customer might spend on services.
If it were up to the system integrators, all software would be free (unless they had a major stake in a particular component). Then, all software license revenue would become services revenue. To this end, I believe that system integrators prefer community open source over commercial open source. Only community open source software prevents vendor lock-in.
A system integrator can increase its profits if it reduces the software cost. By reducing software cost, it can move down the demand curve and sell to more customers.
Closed source software is the main obstacle to doing this: It cuts into profits on an individual sale and reduces overall pricing flexibility. Hence, system integrators have a high interest in turning closed source software markets into software markets with at least one viable community open source product.
Before the advent of open source software, entering an established and well-defended market was a risky proposition. With increasingly well-understood open source processes, setting up an open source project competing with an established closed source market leader's product is much less risky and carries a significantly higher chance of success than before. But it's not just a specific system integrator that will want to do that. It's pretty much everyone who isn't the closed source market leader." (http://www.riehle.org/computer-science/research/2007/computer-2007-article.html)
2.
From an Independent software vendors perspective:
Community open source ensures that prices for software support are subject to market forces rather than one owning corporation. Community open source is a strategic weapon for system integrators to squeeze out proprietary as well as commercial open source software vendors.
The more mature a market for a specific software component, the higher the investment in the existing products, the higher the barrier to entering this market, the more established the existing players, and the more stable the price for the software component. A common scenario is "the 800-pound gorilla" firm that dominates a market and is surrounded by smaller players catering to market niches [7].
In such a market, the leading software vendor sets a price that maximizes its profits. Since the market is fairly transparent, the vendor can set just one pricing schedule, offering the product to different customers at the same price. (This is in contrast to the highly individual deals of large system integrators.) The result is frequently a flat price, as Figure 3b shows. Remarkably, the price of the proprietary closed source software doesn't directly depend on the actual cost incurred to develop, maintain, and provide the software.
The profit-maximizing price is largely independent of cost; the cost provides only a lower limit. Competition that drives prices closer to cost can't spring up easily due to the large initial investment a software product requires.
In a community open source situation, no such market-entry barriers exist. Given the right license, anyone can set up a company and start selling software. What the company will sell, of course, isn't the software itself, but its provision, maintenance, and support.
Because anyone can enter an attractive open source market, competition is fierce, and pricing will be based on markup over cost. If the markup is too high, new companies will enter the market; if it's too low, companies will leave the market. Moreover, the more mature the product, the lower the overall price.
Different firms will have different costs depending on their share of contributions to the open source project. However, with increasing project share, the company can charge higher prices because customers are likely to receive better service. The basic relationship remains unaffected: Price is markup over cost and varies depending on cost.
Customers love this situation because prices are substantially lower than in the closed source situation. System integrators love the situation even more because they can squeeze out proprietary closed source software." (http://www.riehle.org/computer-science/research/2007/computer-2007-article.html)
Deciding for community or commercial open source
From a corporate point of view, by Dirk Riehle at http://www.riehle.org/computer-science/research/2007/computer-2007-article.html
"The key differentiator between community open source and commercial open source is whether a community or a single entity like a corporation holds the power to make decisions about the project.
Commercial open source software is typically available for free to nonprofit users. Sometimes commercial use is free as well. Usually, companies make money by providing support services. Sometimes they make additional money by selling proprietary software enhancements.
Like community open source, commercial open source is available in source code form. Unlike community open source, however, one company controls commercial open source. This way, commercial open source software can gather some of the benefits of community open source: faster adoption, free and speedy user feedback, and possibly volunteers' code contributions. This approach is mostly a marketing strategy, however, because the company that owns the software still must do the development. Hence, the company must employ and pay the software's developers.
During the early days of an open source project, this is an advantage, as the company can provide clear direction and muster more resources than community open source projects typically can. As the project matures, this can turn into a disadvantage, as a competing community open source project might have more resources at hand in the form of volunteers.
The upside for the owning company is that little open source competition can spring up for its product. However, system integrators have a strong interest in providing alternatives to proprietary software, and this applies to commercial open source as well. Hence, this business model is likely to experience the same pressures as proprietary software." (http://www.riehle.org/computer-science/research/2007/computer-2007-article.html)
The Philosophy of open source
By Eben Moglen at http://old.law.columbia.edu/publications/maine-speech.html
"The idea of ``Open Source Software is software that people can read, and I am for that. But it is important to understand that that inadequately describes what we were trying to do, or why. Dylan Thomas refers in ``The Child's Christmas in Wales to the ideal Christmas present of the book that told everything about the wasp, except why. This is, from my point of view, the problem with the discussion about Open Source: it tells you everything, except why. I have now told you why.
Free software is an invocation for particular social purposes of the ability to develop resources in commons. This is not, as I have pointed out, an economic novelty. It is the single way in which we have produced the most important works of Western intellectual achievement since the Renaissance. It is also the way in which we have managed for all time fisheries, surface water resources, and large numbers of other forms of resource beyond human production. Free software presents an attempt to construct a commons in cyberspace with respect to executable computer code. It works. It works, with one interesting subdivision of structural decision-making on how to construct the commons. When we come to the technicalities of licensing, we will observe that there are two philosophies in the construction of the commons, one of which is characterized, oddly enough, by a license with the three-letter name BSD, the Berkeley Systems Division license, which originally covered the distribution of a Unix-like operating system, written on free-sharing principles, primarily at the University of California. The BSD license says: ``Here is a commons. It is not defended by copyright against appropriation. Everything in the commons may be taken and put into proprietary, non-commons production as easily as it may be incorporated into commons production. We encourage people to put material into commons, and we are indifferent as to whether the appropriative use made of commons resources is proprietary, or commons-reinforcing.
The second philosophy for the production of software in commons is embodied in the GNU General Public License of the Free Software Foundation, known universally throughout the world by another three-letter abbreviation, GPL. The GPL says: We construct a protected commons, in which by a trick, an irony, the phenomena of commons are adduced through the phenomena of copyright, restricted ownership is employed to create non-restricted, self-protected commons. The GPL, whose language you've been referred to, is not quite as elegant a license as I would like but it is pretty short; yet I can put it more simply for you. It says: ``Take this software; do what you want with it--copy, modify, redistribute. But if you distribute, modified or unmodified, do not attempt to give anybody to whom you distribute fewer rights than you had in the material with which you began. Have a nice day. That's all. It requires no acceptance, it requires no contractual obligation. It says, you are permitted to do, just don't try to reduce anybody else's rights. The result is a commons that protects itself." (http://old.law.columbia.edu/publications/maine-speech.html)
How Companies can help their communities
EntrepriseDB:
"We are building a successful company on the shoulders of one of the world’s most successful open source projects, and we have a responsibility to give back to that community to the maximum extent possible, while still protecting our ability to generate revenue. In addition to our ethical responsibility, we also “do well by doing good” because we promote the wider spread of PostgreSQL, the world’s most advanced and enterprise-class open source database (albeit only the second most popular).
Our efforts at being excellent citizens of the PostgreSQL community are wide-ranging, but tend to fall into the following broad categories:
- Identify important and difficult development community projects, and get these projects done with EnterpriseDB staff
- Employ community leaders, including both titled members (i.e., core team) and thought leaders
- Sponsor non-employee community developers
- Be a major sponsor of community gatherings and other activities
This balanced approach of selling commercial software on one-hand and aggressively supporting the community on the other is our answer to the conundrum of creating a commercial company on a BSD code base." (http://robertogaloppini.net/2007/06/02/open-source-firms-enterprisedb-business-model/)
More Information
David Wheeler maintains a reference page on Free Software and Open Source Software.
See also: