Whatever its name, Free/Libre or Open Source Software (FLOSS), diffusion represents one of the main evolutions of the Information Technology (IT) industry in recent years. Operating System Linux, or Web server Apache (more than 60% market share on its market), database MySQL or PHP languages are some examples of broadly-used FLOSS programs. One of the most original characteristics of this movement is its collective, cooperative software development organization in which a growing number of firms is involved (some figures in Lakhani & Wolf (2005)). Of course, programs, because they are codified information, are quite easy to exchange, and make the cooperation easier than in other industries. But, as pointed out by Stallman (1998), if sharing pieces of software within firms was a dominant practice in the 1950’s, it declined in the 1970’s, and almost disappeared in the 1980’s, before regaining and booming today. This article aims at explaining the evolution (and the comeback) of a cooperative, non-market production. In the first part, we explain the decrease of cooperation as a consequence of the evolution of the computer users, of their demand, and of the industrial organization constructed to meet this demand. This theoretical and historical framework is used in the second part to understand the renewal of a cooperative organization, the FLOSS phenomenon, first among computer-literate users, and then within the industry.
Software In The History Of The Computer Industry
Among the few works of reference existing on the evolution of the computer industry, we use the following as our basis: Mowery (1996), Genthon (1995), and Dréan (1996). Richardson (1997) and Horn (2004) have analyzed the specificities of the software industry.
If these authors do not agree on the number of periods that this industry has gone through since its birth at the end of World War II, they agree on two main ruptures:
The arrival of the IBM 360 series, in the early 1960’s, opening the mainframe and mini period when, thanks to the implementation of an operating system, a standard machine could be sold to different clients, but also a program could be used on a family of computers, of different power, and not abandoned when the machine was obsolete; and
The arrival of the PC, and specifically the IBM PC, in the early 1980’s, when the computer became a personal information management tool, produced by different actors.
Each of these periods is characterized by a technology which has allowed firms to propose new products to new consumers, changing the dominant producer-user relations. This has had an impact on the degree of cooperation in the software production.
Period 1: The Industry of Prototypes – Start: Mid-1940’s
As pointed out by Langlois and Mowery (1996), there was no real differentiation between hardware and software in that period, and computers were “unique” products, built for a unique project. They were computing tools, or research tools, for research centers (often military in nature, like H-bomb research centers). Each project allowed producers and users to negotiate the characteristics of the machine to be built. Also, the software part was not seen as an independent source of revenue by firms.
Production is Research
Thus, computer and software development were a research activity, conducted by high-skilled users, or Von Hippel (VH) users, in reference to Von Hippel’s (1988) user who has the competences to innovate, and being the one who knows best his needs, is the best to do so (Dréan, 1996; Genthon, 1995).
Research is Cooperation
In that non-profit, research environment, we think that cooperation was rather natural, allowing firms to decrease their research costs and better answer to users’ requirements. But this cooperation was mainly bilateral cooperation, between the constructor and the user. There was no network to exchange punch cards.
Key Terms in this Chapter
Learning effect: Investment in time, money, and so forth, to learn to use a program, as well as a programming language, makes it harder to switch to another offer; •
The ARPANET: “The Advanced Research Projects Agency NETwork developed by ARPA of the United States Department of Defense (DoD) was the world’s first operational packet switching network, and the predecessor of the global Internet” (extract from Wikipedia article). It has been designed to connect the U.S. universities working with the DoD to facilitate cooperation.
Free/Libre Open Source software (FLOSS): This is software for which the licensee can get the source code, and is allowed to modify this code and to redistribute the software and the modifications. Many terms are used: free, referring to the freedom to use (not to “free of charge”), libre, which is the French translation of Free/freedom, and which is preferred by some writers to avoid the ambiguous reference to free of charge, and open source, which focuses more on the access to the sources than on the freedom to redistribute. In practice, the differences are not great, and more and more scholars are choosing the term FLOSS to name this whole movement.
The GNU project: “The GNU Project was launched in 1984 to develop a complete Unix-like operating system which is free software: the GNU system. Variants of the GNU operating system, which use the kernel called Linux, are now widely used [...] (GNU/Linux systems). GNU is a recursive acronym for “GNU’s Not Unix”; it is pronounced guh-noo, approximately like canoe” (definition by the FSF, http://www.gnu.org/)
The Usenet (USEr NETwork): “It is a global, distributed Internet discussion system that evolved from a general-purpose UUCP network of the same name. It was conceived by Duke University graduate students Tom Truscott and Jim Ellis in 1979” (extract from Wikipedia article).
Hacker: In this text, this term is used in its original acceptation, i.e., a highly-skilled developer.
Public Good: This is good which is:• Non-rivalrous, meaning that it does not exhibit scarcity, and that once it has been produced, everyone can benefit from it; and • Non-excludable, meaning that once it has been created, it is impossible to prevent people from gaining access to the good. (definition taken in http://www.investordictionary.com/definition/public+good.aspx)
Increasing return to information: One speaks more of a technology since it is widely distributed.
Free Software Foundation: “Free software is a matter of liberty, not price. The Free Software Foundation (FSF), established in 1985, is dedicated to promoting computer users’ rights to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free software, particularly the GNU operating system, used widely in its GNU/Linux variant” (presentation of the Foundation, http://www.fsf.org)
The GPL (General Public Licence): The best-known and the most-used FLOSS license; according to the FSF, “the core legal mechanism of the GNU GPL is that of “copyleft,” which requires modified versions of GPL’d software to be GPL’d themselves”. For an analysis of FLOSS licenses, see Clément-Fontaine (2002).
Technological interrelations: A piece of software does not work alone, but with other pieces of software. What makes the “value” of an operating system is the number of programs available for this system. And the greater the number of people who choose an operating system, the wider the range of software programs for this very system, and vice versa.
Network externalities: The choices of the people you exchange with have an impact on the evaluation you make for the quality of a good. For instance, even if a particular text editor is not the one which is most appropriate to your document creation needs, you may choose it because everybody you exchange with sends you text in that format, and so you need this editor to read the texts.
Economy of scale: Because the production of computer parts involves substantial fixed costs, the average cost per unit decreases when production increases. This is especially the case for software where there are almost only fixed costs (this is a consequence of the fact that it presents the characteristics of a public good).
Increasing return to adoption, defined by: Arthur (1988): This means that the more a product is adopted, the more new adopters have an incentive to adopt this product. Arthur (1988) distinguishes five type of increasing returns