History of Open Source
From Wikipedia, the free encyclopedia
The History of Open Source is tied to three operating systems: Unix, GNU, and Linux. These were projects that initially shaped the identity of the open source community, beginning in the 1960s and continuing to the present day, and proved that open source is a viable software development model. No study of open source is complete without understanding the history of these systems.
Contents |
[edit] Unix
[edit] Multics
In the late 1960s, Bell Labs, owned by AT&T, began working collaboratively with General Electric and the Massachusetts Institute of Technology to create a new operating system. The system, known as Multics, was to be used in-house at Bell Labs. Although Multics was a significant achievement in the realm of computer science, it was also time-consuming and expensive. Its goals were too lofty for Bell Labs to achieve, and in 1968 Bell began to withdraw from the project (Hauben 1994).
Some of the last people to work on Multics, at Bell Labs, were Ken Thompson, Dennis Ritchie, and Joe Ossanna. For these three and others, the loss of Multics was a disaster. At the time, other operating systems lacked the flexibility and simplicity that Multics had promised. Thompson and the rest decided to build a new operating system to suit their programming needs. After Bell Labs rejected their requests for a new computer, the group found an obsolete PDP-7 computer on which to begin their efforts. They called the new operating system Unix to distinguish it from Multics and began work.
[edit] Unix
Work progressed smoothly on Unix throughout the early 1970s. The group acquired new computers, developed the high-level programming language C, making Unix portable, and created many new tools to make Unix more useful. Within Bell Labs, other departments began to use Unix for a variety of tasks. Unix eventually became the standard for Bell’s computing needs, and a development support group, called Unix Support Group, was formed to provide support for a standard version of Unix.
Even in its infancy, word of Unix was spreading throughout the computing world. Unix was particularly appealing to the academic computer science community. Academic institutions were able to purchase licenses for the Unix source code very cheaply. Government and commercial licenses were much more expensive.
In November of 1973, Professor Bob Fabry of the University of California at Berkeley attended a presentation on Unix at Purdue University. His interest was piqued, and Fabry convinced Berkeley to purchase a PDP-11/45 computer capable of running the current version 4 of Unix. In January of the next year, Version 4 Unix was installed with the help of Ken Thompson of Bell Labs.
In the fall of 1975, Ken Thompson decided to take a one-year sabbatical from Bell Labs to teach at Berkeley, his alma mater. The Computer Science department had just purchased the new PDP-11/70 computer, and Thompson helped to install the latest version of Unix, Version 6, on it. Two graduate students, Bill Joy and Chuck Haley, also arrived in 1975, and began working on a Pascal compiler written by Thompson, a new text editor, and improvements to underlying parts of the Unix system itself.
Other programmers began to take interest in the new Pascal compiler at Berkeley, and during the year of 1977, Joy began to distribute the "Berkeley Software Distribution," an open source version of Unix containing the improvements and additions made at Berkeley. BSD was sold for a nominal fee to people who had already obtained a Unix license from AT&T. In mid-1978, Joy put together the "Second Berkeley Software Distribution," or 2BSD, which was distributed the following year. Distribution jumped from about thirty copies with the original BSD to about seventy-five copies with 2BSD.
Improvements continued, increasing portability, improving memory usage, and implementing new tools. In December 1979, 3BSD was released, and nearly 100 copies were shipped. At this time, with the breakup of Bell, the price of Unix licenses for the academic community began to increase. AT&T shifted management of Unix to a new group and began emphasizing proprietary versions of Unix (Dibona et al.: McKusick 1999). The first of these new releases was System III in 1982, followed in 1983 by System V. Berkeley moved to fill the void Bell had left in open distributions and continued to release further versions of BSD, using a new open source software license known as the BSD License.
AT&T did not begin heavy commercial promotion of Unix until the mid-1980s. What they found when they ventured into the market was that many vendors were already selling their own proprietary version of Unix. The issue of the day was which version of Unix would become dominant. In 1987, in an effort to unify the market, AT&T formed an alliance with Sun Microsystems, a strong supporter of BSD. In response to the move, several vendors created the Open Software Foundation (OSF) to support their own open source versions of Unix. AT&T and Sun in turn formed Unix International. Thus the "Unix Wars" began (The Open Group 2001).
[edit] The Unix Wars
Throughout the remainder of the 1980s and into the 1990s, the Unix Wars raged. During this time, many different versions of Unix were released, both proprietary and open source. In 1991, AT&T spun off Unix System Laboratories, which passed through several hands before being bought in 1995 by Santa Cruz Operation (SCO).
Three distinct versions of BSD emerged from the Unix Wars: FreeBSD, known for its simplicity, stability, and ease of use; NetBSD, known for its portability and research-oriented environment; and OpenBSD, known for its high level of security and stability (Howard). Other versions of open source Unix are available as well, including a version from SCO itself and Darwin, the foundation on which Apple’s Mac OS X is built.
[edit] The GNU Project
[edit] MIT
In 1971, Richard Stallman, a Harvard undergraduate student, began working at the MIT Artificial Intelligence Lab, primarily on the ITS, an operating system unique to the computers at MIT. The community at the MIT AI Lab was a small group of programmers who improved code by passing it back and forth; in other words, the group’s software development basis was open source (Rasch 2000).
In the early 1980s, the community at MIT AI Lab began to collapse, due in part to computer architecture advances that rendered ITS obsolete. Computers that were replacing MIT’s PDP-10s had their own operating systems, but none were open source. Even getting an executable copy meant signing a non-disclosure agreement.
At the same time that ITS became obsolete, the AI Lab community also disbanded. One of the first people to move away was Brian Reed of Carnegie Mellon University. Instead of sharing his text-formatting program Scribe, with the AI Lab community, he sold it to a commercial company, which altered the code to insure profits rather than communal improvements. Soon, spin-off companies began breaking away from the community. Eventually, nearly all of the programmers were hired away to work on commercial software projects. Richard Stallman was left with a choice:
"One: join the proprietary software world, sign the non disclosure agreements and promise not to help his fellow hackers. Two: leave the computer field altogether. Or three, look for a way that a programmer could do something for the good. He asked himself, was there a program or programs he could write, so as to make a community possible again?" (Rasch 2000).
[edit] The GNU Project
Stallman’s ideals of software were lofty: he wanted free software for the masses. According to Stallman, the definition of a truly free software is a program that allows users the right to run the program for any purpose, modify the program to suit their needs, redistribute copies with open source, and distribute modified versions of the program with open source (Stallman 2002).
Stallman decided to start creating open software by developing an operating system, the most crucial software for using a computer. He anticipated a "community of cooperating hackers" that would develop around the project much as in the MIT AI Lab (Stallman 2002). He chose to make the operating system Unix compatible because that was the dominant system at the time. Stallman picked the acronym GNU for his project, according to a hacker custom of creating recursive acronyms. GNU stands for "GNU’s Not Unix" (Stallman 2002).
Stallman resigned from MIT in January 1984 so that MIT would have no claim on distributing GNU. He would avoid GNU becoming proprietary software at all costs. However, he was invited by the head of the MIT AI Lab to continue using the MIT facilities.
In 1985, Stallman founded the Free Software Foundation (FSF), a tax-exempt charitable organization, to support the free software development being done on the GNU Project. Stallman also contributed to the project by writing a multiple language compiler known as GCC, a debugger (GDB), a text editor (GNU Emacs), and other software.
In order to ensure that GNU would remain open source in future, Stallman created the GNU General Public License (GPL). The GPL specified "that users of the source code could view, change, or add to the code, provided they made their changes available under the same license as the original code" (GNU General Public License). Stallman received the MacArthur fellowship, which entails a stipend of $500,000, in 1990 for his work with GNU, the GPL, and the FSF.
The GNU operating system continued to grow throughout the 1990s, developing piece by piece. Each piece was implemented on a Unix system, so that components could be completed and distributed before the entire system was released. By 1990, the only major piece missing from the system was the kernel. A kernel is the core of an operating system "that provides basic services for all other parts of the operating system" ("Kernel").
Stallman’s team began work on a kernel in 1990, called Hurd. However, work is progressing slowly.
[edit] Linux
[edit] Minix
In 1987, a professor, Andrew Tanenbaum, invented Minix, a clone of the Unix operating system to be used for educational purposes. Minix was not the most sophisticated of operating systems, but its appeal to programmers worldwide was that all 12,000 lines of C and assembly were available to be studied and tinkered with (Hasan 1999).
[edit] Linux
In August of 1991, Linus Torvalds, a 21 year old Computer Science student at the University of Helsinki, posted to the Minix users newsgroup that he was working on a new, free operating system, adding parenthetically that it was "just a hobby, won’t be big and professional like GNU" (Newitz). What Torvalds was actually creating was a kernel, the core of an operating system.
In 1992, the completed Linux kernel was combined with the incomplete GNU operating system, resulting in a working open source operating system. According to Stallman, "It is due to Linux that we can actually run a version of the GNU system today" (Stallman 2002). In later years, this combination of GNU and Linux along with other free software exploded in popularity and became commonly known simply as Linux.
In September, version 0.01 of the Linux kernel was released on the net, and enthusiasm began to rise around the project (Hasan 1999). On October 5th, Torvalds sent a formal call for volunteers to the Minix newsgroup, saying "Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs?" (Newitz 2000). Torvalds’ plea appealed to many programmers’ senses of curiosity and excitement. By December, version 0.10 was released, still as a bare-bones kernel.
And soon after version 0.12 was released, Linux was then licensed under the GNU General Public License to ensure that the source would be free to all (in fact the readme for that release stated that it will soon be licensed under that license. Linus was just checking for licensing issues before doing so). In the ensuing years, thousands of people began working with Linux, helping to improve the kernel itself or writing software for use on Linux systems.
Throughout the 1990s, as Linux swelled in popularity and became more and more sophisticated, vendors began distributing it commercially. Although Linux was and is free and open source, vendors such as Red Hat, Novell and Mandriva have gathered it into a format that more closely resembles other contemporary operating systems. With the addition of graphical user interfaces and other user-friendly features, these distributors were able to profit from selling open source bundled into a product that everyday users wanted and could use with ease (Newitz 2000).
[edit] See also
- Open source
- Open-source software
- History of Unix
- History of Linux
- BSD (subheading: history)
[edit] References
- Dibona, C. (Ed.); Stone, M.; Ockman, S. (Eds.) (1999). Open Sources: Voices from the Open Source Revolution. O'Reilly & Associates..
- Hasan, Ragib (1999). History of Linux.
- Hauben, Ronda (1994). History of Unix.
- "Kernel". SearchSolaris.
- Newitz, Annalee (2000). A Brief History of Linux.
- The Open Group (2001). History and Timeline.
- Rasch, Christopher (2000). A Brief History of the Free / Open Source Software Movement.
- Stallman, Richard (2002-08-26). The GNU Project.