The Free/Open Source Software (FOSS) movement began in the “hacker” culture of U.S. computer science laboratories (Stanford, Berkeley, Carnegie Mellon, and Massachusetts Institute of Technology) in the 1960s and 1970s.
The community of programmers was small, and close-knit. Code passed back and forth between the members of the community–if you made an improvement you were expected to submit your code to the community of developers. To withhold code was considered gauché–after all, you benefited from the work of your friends, you should return the favor.
It was in this environment that Richard Stallman began his Computer Science career in 1971, as a graduate student at the Massachusetts Institute of Technology Artificial Intelligence lab. Stallman worked primarily on ITS, the Incompatible Timesharing System, an operating system homebrewed at MIT to run on the DEC PDP-10. In this collegial environment, Stallman and his colleagues built an enormous array of software tools for the PDP-10.
However, by the early 1980s, the hacker community began to break down at MIT and other universities. DEC discontinued the PDP-10. As a result, the ITS software became obsolete, because it was written specifically for the PDP-10 hardware architecture. The PDP-10’s replacements, such as the VAX or the 68020, had their own operating systems, but none of them were free software: you had to sign a non-disclosure agreement even to get an executable copy. (DiBona, et al. 1999)
Moreover, many of the hackers were hired away by commercial companies who sold proprietary systems. One of the first to break ranks was a student named Brian Reed at Carnegie Mellon University. In 1980, Reed wrote Scribe, one of the first text-formatting programs to incorporate semantic markup. However, Reed “….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.
The problem was that nobody censured or punished this student for what he did. He got away with it. The result was other people were tempted to follow his example. Many years later he stated that he believed that his own program was much less used as a result of his decision, that it would have become far more popular and influential if he had shared it as was normal.” (Bennahum, 1996 and King, 1999)
A another major blow also came in 1980, when two companies were formed to sell MIT’s Lisp Machine technology. Richard Greenblatt, a senior Lisp machine project hacker at the AI lab, formed a company called Lisp Machine, Inc. (LMI). Another group of hackers, including David Moon, Howie Shrobe, and Howard Cannon got backing to found Symbolics. Between the two companies, they hired away most of the AI lab’s staff. The prospect that all future improvements to the MIT Lisp system and MACSYMA (an artificial-intelligence based math engine based on Lisp) would be proprietary angered Stallman. So for a year, he attempted to match feature-by-feature the improvements in the proprietary Lisp systems in the MIT Lisp system. Eventually he gave up, because as talented and dedicated a hacker as Stallman was, he could not keep up with the combined efforts of a team of equally talented hackers. (Lemon, 1997 and Siska, 1997)
“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?” (King, 1999)
Determined to recreate the community of cooperative hackers he enjoyed in the 1970s, Stallman decided to devote himself to creating free software. According to Stallman, truly free software must allow every user the right to:
- Run the program, for any purpose.
- Modify the program to suit their needs. (To make this freedom effective in practice, they must have access to the source code, since making changes in a program without having the source code is exceedingly difficult.)
- They must have the freedom to redistribute copies, either gratis or for a fee.
- Distribute modified versions of the program, so that the community can benefit from your improvements.
In January 1984, Stallman resigned from MIT so that the university would have no claims on the software he created. (With the blessing of Dr. Winston, the head of the AI lab at that time, he continued to use his office and MIT hardware.) (Stallman, 1999) Stallman devoted his first efforts towards developing an operating system. Without an operating system, a computer is just a hunk of worthless metal, glass, and plastic. The most commonly used and powerful operating system at the time was the UNIX system, first developed by Ken Thompson and Dennis Ritchie at Bell Labs. Since a lot of software already existed for UNIX, Stallman decided to make his operating system UNIX-compatible in order to make the transition from proprietary software to his libré software as easy as possible. He called his project GNU (Gnu’s Not UNIX), to distinguish his software from the proprietary versions.
In 1985, Stallman created the Free Software Foundation (FSF), a tax-exempt charity, to support his work and that of his collaborators. Stallman personally created an enormous body of software: GCC (C compiler), GDB (debugger), Emacs (text editor), and a number of other tools.
Stallman’s efforts were neither the first nor the only libré software development efforts. The X consortium, for example, developed the X windowing system. Perl, the most commonly used scripting language for websites, was developed by Larry Wall while working on a government sponsored-project at Burroughs. Another free version of UNIX was developed by a group based at the University of California at Berkeley. However, the Free Software Foundation’s efforts were probably the most extensive, and the most visible.
To ensure that his code would always be freely modifiable and distributable, 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 that they made their changes available under the same license as the original code. He founded the Free Software Foundation in 1985 to promote the development of GNU and other GPL’d software. For the creation of the GNU system, the GPL license, and the Free Software Foundation, Stallman was awarded the MacArthur fellowship in 1990.
Now the only thing that the GNU system lacked was a kernel, the heart of an operating system. In 1990, Stallman’s team began work on HURD, an OS based on the MACH microkernel architecture, which was first developed at Carnegie Mellon. (According to Thomas Bushnell, principal architect of HURD, HURD is the first piece of software to be named by mutually recursive acronyms: HURD = HIRD of UNIX-Replacing Daemons. HIRD = HURD of Interfaces Representing Depth). However, work on the HURD progressed very slowly, and the kernel was incomplete as of 1991.
Enter a 21 year old, second year graduate student at the University of Helsinki named Linus Torvalds (Ghosh, 1998). Torvalds wrote a UNIX-like kernel based on Minix, a small Unix clone used as a teaching tool. Torvalds submitted his kernel, called Linux (Linus + UNIX) for review to various newsgroups and mailing lists. Several other programmers began to modify and tweak the code, sending their improvements back to Torvalds for inclusion in the next release of the kernel. Eventually, Linux became the de facto kernel for the GNU operating system.
In 1997, Eric Raymond published an essay entitled “The Cathedral and The Bazaar”. In the essay, Raymond articulated the reasons why he believed that open source licenses–licenses that allowed anyone to freely view, modify, and distribute the code–resulted in higher quality, less expensive software. The essay spread quickly throughout the programming community. Around the same time, Netscape was involved in a fierce struggle with Microsoft to see whose browser would become the dominant browser on the desktop: Netscape Navigator or Internet Explorer. Microsoft’s decision to give away Internet Explorer, combined with their control of the Windows operating system, led to the increasing erosion of Netscape’s market share. Netscape feared that Microsoft’s dominance would shift web protocols from open to proprietary standards that only Microsoft’s servers would be able to service. Influenced by Raymond’s essay, several managers at Netscape believed that the best way to keep web protocols open would be to release the code to the Netscape browser.
On January 22nd, 1998, Netscape announced that it would open the sources code for Netscape Navigator 5.0. Their announcement gave the Free/Open Source Software community a great boost in credibility in the eyes of the business community.
Shortly afterward, a coalition of individuals, led by Eric Raymond, Bruce Perens, and Tim O’Reilly, decided that the the free software community needed better marketing. They formed the Open Source Initiative (OSI) to:
- Promote the pragmatic benefits to the business community
- Certify Free/Open Source Software licenses that meet the Open Source Definition.
The Open Source Iniative’s evangelism paid off. Following Netscape’s announcement, several additional vendors announced support for Linux, including Oracle, IBM, and Corel. Intel and Netscape invested in Red Hat, the largest English language Linux distributor. (Raymond, 1999)
A statistically insignificant presence in 1997, the popularity of Linux and the Free/Open Source Software movement exploded. The International Data Corporation (IDC) estimated that Linux has 25% of the server market, second only to Windows NT which has 38%. With 4% of the market, Linux is also the the third most popular desktop after Apple. Moreover, IDC estimated that commercial shipments of Linux will grow at a compounded annual growth rate of 25% from 1999 to 2003, compared to 10-12% growth rates for other operating systems. (Note, however, that Linux’s installed base was quite small–it’s much easier to have high growth percentage rates when your starting absolute numbers are small.)
In August 1999, Red Hat Linux went public. The stock price soared to $72 dollars the day after the IPO, giving Red Hat a market capitalization of $4.8 billion–a remarkable valuation for a company with a $5,787,945 net loss on $33,031,682 million in revenues for the fiscal year ending in February 1999. VA Linux, a vendor of hardware with Linux pre-installed, netted the largest first day run-up in IPO history, giving VA Linux a $7 billion dollar market capitalization. Other successful Linux IPO’s include Cobalt Networks ($3.1 billion) and Andover.net ($712 million).(Scannell, 1999) Other more recent successes:
- IBM recently announced that the company would devote almost $1 billion dollars to support Linux. (Burke, 2000)
- Forrester Research estimates that more than 55% of the world’s 2,500 biggest firms use open source software, with almost a quarter using the software in production systems. (Connor, 2000)
- Sun recently released Star Office, an office suite similar to Microsoft Office, under the GPL license. (Proffitt, 2000)
Free/Open Source Softwaree still faces challenges. Both Red Hat and VA Linux, two of the most prominent corporate supporters of Linux, still lose money. Even if they become profitable, it would be difficult to imagine that VA Linux or Red Hat will justify their IPO valuations within the next 10 years. Software patent law threatens to strangle Free/Open Source Software developers with threats of lawsuits. And dotcoms, early adopters of Linux, continue to shut down their businesses. Despite the challenges, Free/Open Source Software will, nevertheless, likely increase in influence and popularity.
For further reading:
Free and Open Source Software (FOSS) – A General Introduction
By Kenneth Wong and Phet Sayo
P.S: Opensource Programming Ebook can be a good kickstar :)