Enter your email address to receive a twice-weekly newsletter on learning/technology.


Powered by ymlp.com

 
| Starting | Enabling | Doing | Evaluating | Managing | Resources | Home
   

Free and Open Source Movements
Part 1 - History and Philosophies

George Siemens

March 3, 2003

This article reviews the development and need for Free and Open Source movements in software development. Part 1 provides a global overview of climates and conditions that fostered the revolution. The climate in software development in 1984 is being mimicked in education today - closing doors, content as individual property, proprietary offerings, and for-profit challenges to the education environment. Part 2 calls for a similar revolution in the field of educational content and will announce the formation of an organization committed to fostering Open Source content development.

Introduction
History of the Internet
The early programmer's culture
The transition - open to commercial
Richard Stallman's Free Software Foundation
Linus Torvalds - the Linux kernel
Formation of Open Source Initiative
Benefits of Free/Open Source
Conclusion

Introduction

The recent economic downturn, coupled with increased distrust of Microsoft's dominance, has pushed the previously fringe elements of free and open source software into the lime light. Businesses, universities, and other organizations are exploring the feasibility of integrating free/open source software into their IT systems. Most are discovering a sub-culture of hackers who have created quality software on par with most commercial offerings. This article explores the history, philosophies, and benefits of the Free/Open Source movement.

Understanding the development of Free/Open Source software requires exploration of:

  • The history of the Internet
  • The culture of early programmers
  • The transition from open to commercial software development
  • Richard Stallman - Free Software Foundation
  • Linus Torvalds - the Linux kernel
  • Formation of Open Source Initiative

The history of the Internet

Much of the Internet was developed in universities and by government funded projects. A steady stream of innovations and free software fueled the rapid growth and adoption of the Internet. A central tenet of this environment was the discouragement of individual profit taking. (1) The following is a quick timeline of Internet development:

  • 1957 - USSR launches Sputnik. The US government responds by creating the Advanced Research Projects Agency (ARPA)
  • 1965 - 1969 - Development and design of ARPANET (an experimental network for research and development of networking technologies - essentially the foundation of the Internet)
  • 1972 - ARPANET email
  • 1970 - UNIX grows rapidly due to favorable licensing terms with universities (UNIX is an operating system developed at Bell Laboratories with the intent of allowing multiple users simultaneous access to the computer). Multiple versions of Unix were developed - most were proprietary. See History of Unix
  • 1983 - TCP/IP adopted by ARPANET as a means of connecting various networks (the Internet is essentially a network of networks communicating via TCP/IP)
  • 1986 - NSFNET - five supercomputers connected to ARPANET allowing for rapid development of connections - particularly universities
  • 1991 - Tim Berners-Lee creates vision for World Wide Web
  • 1993 - Mosaic introduced as "an Internet information browser and World Wide Web client"
  • 1995 - Netscape released
  • 1995 - Microsoft releases Internet Explorer

It is important to note that commercialization was a constant concern in the development of the Internet. The most significant (and lasting) attempt was initiated by Netscape in 1994, and "refined" by Microsoft in subsequent years. See Breakdown of Open Computing on the Internet for more information.

The early programmer's culture

The development of the Internet involved small groups of highly committed programmers. Free sharing of code and programs was an accepted (even expected) norm. This allowed multiple contributors to improve and tweak programs to ensure best functionality (and in the process, avoid the time expense of duplication). This close-knit community thrived and innovated in a collegial, open environment:

"This idea of building on the accepted foundations of knowledge, the basis of scientific culture, naturally passed into the ethos of the computing world with the advent of the first computer networks in the 60's and 70's...These hackers, of course, having themselves designed and "hacked" together the original infrastructure of what has now evolved into the Internet, were very aware of the implications of their new virtual world. They recognised that they could never fully harness the vast and quickly evolving power of these computers if they worked in isolation. Working together, in addition to being immensely more productive, was much more fun. They created a virtual society in which the term "hacker" became a term of respect rather than an insult, and value was exchanged not with money, which did not yet have a virtual manifestation, but rather through software capabilities in the form of source code." (2)

For additional observations of the climate and mind set of this early programming culture, see: A Brief History of Hackerdom.

The transition - open to commercial

As the Internet and software industries developed, entrepreneurs were awakened to the incredible potential to generate income. Early software source code was freely shared, and programmers were paid for the time spent writing (the act of programming) not the programs themselves (3). As computers and software moved out of primary research environments (like universities) and into the business climate, restrictions were often placed on software. Sharing of source code was often not permitted, programmers were required to sign non-disclosure agreements with their employers, and fees were charged for each copy.

Proprietary, commercial software shut the door on the existing ethos among programmers. The previously open, shared culture felt assaulted by the mind set of for-profit software:

"What happened was that a student at Carnegie Mellon wrote a text-formatting program and then surprised everyone by selling it to a company, instead of sharing it with the community. The company was very proprietary about it, and very obnoxiously put time bombs into it. Somebody I know spent hours debugging why our copy had ceased to work. Eventually he came across the time bomb which had been put in there purely for profit-insuring purposes. He was extremely angry that he had wasted all that time on a bug that had been deliberately created. From the view point of people in the software sharing community, anything artificially put in to stop people from running a program is simply a deliberate bug." (4)

Richard Stallman - Free Software Foundation

Richard Stallman was a programmer at MIT during the peak of the hacker culture.

" 'We didn't call our software "free software",' says Stallman, 'because that term did not yet exist; but that's what it was. Whenever people from another university or a company wanted to port and use a program, we gladly let them. If you saw someone using an unfamiliar and interesting program, you could always ask to see the source code, so that you could read it, change it, or cannibalise parts of it to make a new program.'" (5)

The transition from open to proprietary software and the subsequent evisceration of university programming departments angered Stallman. The very culture of innovation driving his work was disappearing.

"'I was faced with a choice. One: join the proprietary software world, sign the nondisclosure agreements and promise not to help my fellow hackers. Two: leave the computer field altogether. Or three, look for a way that a programmer could do something for the good. I asked myself, was there a program or programs I could write, so as to make a community possible again?'" (6)

In response, Stallman created the Free Software Foundation. The term free has two definitions - free as in monetary, or free as in free of speech. Stallman uses the second definition: "Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software." Free software has four freedoms:

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this. (7)

In order to allow a free software culture to flourish, Stallman created GNU, "which stands for Gnu's Not Unix, is the name for the complete Unix-compatible software system which I am writing so that I can give it away free to everyone who can use it. Several other volunteers are helping me." (8). The objective was to replace the proprietary UNIX operating system with a free version. He also created a licensing format (GNU General Public License) that allowed others to license software as free software. The GPL allowed users to see, add, or change source code, but required that any subsequent revisions were also licensed under GPL.

Linus Torvalds - the Linux kernel

By early 1990's Stallman's vision of a free operating system was nearly complete. The main component lacking was the kernel - the part of the operating system that allocates system resources (GNU was working on the kernel, HURD, but development was slow). In 1991, Linus Torvalds, a 21 year-old student from the University of Helsinki (Finland), provided the missing kernel. Rather than rewriting an entire operating system, Linus integrated existing GNU tools with his kernel. He released the kernel with the following post on the comp.os.minix newsgroup:

"I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones." (9)

Most people refer to this combination of GNU tools and Linus' kernel as Linux. Stallman has repeatedly stated that the term GNU/Linux is more accurate than Linux in attributing credit to developers of the system:

"The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in a combination with the GNU operating system: the whole system is basically GNU, with Linux functioning as its kernel." (10)

Formation of Open Source Initiative

Richard Stallman's ideas (see in particular Why Software Should Not Have Owners) are controversial. Through his Free Software Foundation, he has enacted significant change (and challenge) to the software market. Yet in the process, he has been labeled a communist, an egoist, a fanatic, and a flake. He has framed the discussion of free software as an ethical consideration - i.e. it is morally wrong for software not to be free. Note, however, that this does not mean that software should not be sold:

"Free programs are sometimes distributed gratis, and sometimes for a substantial price. Often the same program is available in both ways from different places. The program is free regardless of the price, because users have freedom in using it." (11)

Stallman's absolutism, combined with public perception of the term "free software", resulted in the formation of a more moderate philosophy to entice the business world to adopt Linux. The movement was called Open Source Initiative. The formation is self-documented by the group:

"The "open source" label itself came out of a strategy session held on February 3rd 1998 in Palo Alto, California. The people present included Todd Anderson, Chris Peterson (of the Foresight Institute), John "maddog" Hall and Larry Augustin (both of Linux International), Sam Ockman (of the Silicon Valley Linux User's Group), and Eric Raymond." (12)

The Open Source Definition provides a framework for the classification of software (along with certification) that meet Open Source criteria. Generally, Open Source is viewed to be more flexible (and palatable to businesses and commercial interests) than Free Software:

"The fundamental difference between the two movements is in their values, their ways of looking at the world. For the Open Source movement, the issue of whether software should be open source is a practical question, not an ethical one. As one person put it, ``Open source is a development methodology; free software is a social movement.'' For the Open Source movement, non-free software is a suboptimal solution. For the Free Software movement, non-free software is a social problem and free software is the solution." (13)

Eric Raymond (a prominent figure in the Open Source movement) wrote of the different mind sets of software development:

"Quality [in the "Bazaar" model] was maintained not by rigid standards or autocracy but by the naively simple strategy of releasing every week and getting feedback from hundreds of users within days, creating a sort of rapid Darwinian selection on the mutations introduced by developers. To the amazement of almost everyone, this worked quite well" (14)

At this level, there is a significant distinction between Open Source and Free Software. Open Source is developed in groups with high levels of contact between software users and developers. Users report bugs, request features, and provide solutions throughout the development process. The process is very transparent - a blurring of software creator and user. Free Software, on the other hand, is generally developed by smaller groups of highly skilled programmers (which prompted Raymond to classify the Free Software development model as cathedrals "carefully crafted by individual wizards", and Open Source as a "great babbling bazaar of differing agendas and approaches").

A significant selling feature of the Open Source movement is the democratic process of software development, involving many different developers and users. When asked about the open, distributed, free-market development model, Stallman stated:

"You may be right. Open Source may well be the best model for developing software. It might produce better software than Free Software. I don't know about that - I can't say. But the most important thing for the future of the software community is for people to be thinking about the issue of the freedom." (15)

Benefits of Free/Open Source

Benefits of Free/Open Source are numerous. Most media reports state the driving influence in adoption is cost savings. Surprisingly, this isn't the primary benefit perceived by users. The main reasons for using free software relate to quality (16). Increased stability, higher performance and better functionality are generally attributed to proprietary software - in fact quality is typically stated to be a weakness in open source. Users, however, have the opposite perspective - quality issues reside with proprietary software (largely because the time to fix bugs is lengthy and dependant on the software owner).

Some additional benefits:

  • Reduces vendor reliance
  • Reuse software
  • Reduce costs
  • Auditable (software user can validate security - not possible with proprietary)
  • Reliability
  • Quick fixes to bugs/problems (active communities are able to provide fixes in hours/days)

Conclusion

Setting aside distinctions (Stallman writes: "We disagree on the basic principles, but agree more or less on the practical recommendations."), and focusing on the recommendations, free/open source software is changing the way in which software is created, sold, and used. This open/proprietary debate is spilling over into all areas of the digital world. RIAA is requesting greater restrictions to digital content use, Microsoft is creating software that has increased limitations for users (and greater control for the software creators), etc.

The debate has been incorrectly labeled as an issue of intellectual property and theft (though this component certainly exists). The real debate is on a level that expresses views of how society is to be organized, how power is to be distributed, which types of resources should be free (not in a monetary sense), what are the obligations of content creators to users, and what are users options to build on, improve, and incorporate content developed by others.


This article describes the roots and philosophies of the open source movement. Part 2 details the need for open source content in education, and announce the formation of an organization to facilitate the freeing of educational information.

Discuss this article

Sources

1. The Origins and Future of Open Source Software

2. Free Software History

3. Ibid

4. Richard Stallman Interview

5. Free Software is a political action

6. Ibid

7. The Free Software Definition

8. The GNU Manifesto

9. Linus Post

10. Linux and the GNU Project

11. Selling Free Software

12. The Open Source Initiative

13. Why ``Free Software'' is better than ``Open Source''

14. Open Source Software - A History

15. Free Software is a political action

16. European Union Researches the Benefits of Open Source Software

Further Reading

The History of the Internet

Internet Guide

Hobbes' Internet Timeline

History of UNIX

History of UNIX/Linux Variants

Categories of Free and Non-Free Software

The Cathedral and the Bazaar

   

This work is licensed under a Creative Commons License