The Free/"Open Source" Software Movement

A brief overview

by Daniel Brunthaler (0255054)

Introduction

The free / open source software movement has won more and more supporters in the years of software development. Many people around the world have renounced lot of money and spent their time and valueable knowledge into unpaid activity, to create partially better software than the commercial counterpart. Maybe the open source community and their output is nowadays the only realistic competitor to the monopoly of Microsoft. The Internet as it is today wouldn't be imaginable without the "hacker community". Nearly every technical aspect of it was developed in a worldwide collaborativly process. Its quality and reliability wouldn't be imaginable, if not that many individuals had contributed a detail.
This work wants to give a brief overview about the history of origins of the open source movement, mentions the important aspects and gives some examples of very successfull open source projects.

History of origins

In the early days of computer science research, many researchers in academia and industrial domain made the source code of their experimental software available to researchers outside their own organization. [1] In the 1960's and 1970's  a "hacker culture" was established in the U.S. computer science laboratories (Stanford, Berkeley, Carnegie Mellon and MIT). This small community of programmers took it for granted to share their improvements of software with the others. [2] Before the 70's also one of the world's biggest computer manufacturer IBM included the source code of the software delivered with their computer systems and embraced improvements made by their customers. [3]

In 1969 the first version of UNIX was developed at the AT&T Bell Telephone Laboratories. As one of the first the Berkely University decided to use this operating system for research purposes and also teaching programming. In this environment AT&T UNIX got enhanced more and more, also additional components were developed. This resulted in an own Berkely Software Distribution (BSD) of the AT&T UNIX. As the popularity of UNIX grew, AT&T realized that there was a potential business market for UNIX and released a commercial version called UNIX System V, which brougth negative effects about the free software community. [1]

Between 1970 and 1980 with the come of (affordable) microcomputers of IBM, Apple and Macintosh into the market it got common practice, to sell software independent from hardware and to protect it against competitors, so to make the software proprietary, which means to keep the source code as a secret. More and more hackers were hired away by proprietary software companies, the free software community was about to shrink.

It was Richard Stallman [4], a student at the Massachusetts Institute of Technoloy A.I. Laboratory, who should guarantee the continueing and the fortification of the free software movement. In the beginning of his study he began the development on Emacs (naturally in an open source environment), which is according to its definition an "extensible, customizable, self-documenting real-time display editor." [5] Not long ago, Emacs was described like "with Emacs you can do everything, expect making coffee". Even this description isn't legal anymore, since the frenchman Eric Marsden [6] wrote a module [10] with which you can submit a brew request to a RFC2324-compliant [7] coffee device inside Emacs (over the Hyper Text Coffee Control Protocol, or HTCPCP).

As commercial interests caused more and more software to become proprietary and inaccessible, Stallman developed a philosophical view that software should be free [8].

In an interview around 1999 he said: "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?" [9]

Stallman decided well and so he started in 1984 the GNU project (for "GNU's not UNIX"), which was aimed at creating a UNIX-compatible free operating system. What emerged from this effort was a lot of widely used software, like the already mentioned GNU Emacs, the GNU compiler collection (gcc), the debugger gdb, the GNU C library and more. [1]

To ensure, that this code would always be freely modifiable and distributable, he created the the GNU General Public Licence (GPL). It says in the preamble: "..., the GNU General Public License is intended to guarantee your freedom to share and change free software - to make sure the software is free for all its users." It's an important aspect, that free refers not to price, rather than freedom: "When we speak of free software, we are referring to freedom, not price. Our General Public License are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things." [11]

In 1985 Stallman founded the Free Software Foundation (FSF) [12], a non profit umbrella for free software developement, to promote the development of GNU and GPL related software. At the moment, there are 1.870 GNU packages listed in the free sofware directory [13], which started in 1999 also as a project of the FSF.

Until the 90's the only thing missing to complete the GNU operating system, was the heart of an operating system, the kernel. In 1989 Linus Torvalds, a student at the University of Helsinki fortunately starts to improve the Minix kernel, which was a small UNIX based kernel used for education purposes. He shared his work with the Internet community and several other programmers began to modify and tweak code, sending their improvements back to Torvalds for inclusion in the next release of the kernel. This should be the foundation stone for the formation of Linux, the nowadays most used freely operating system. Linux became the de facto kernel for the GNU operating system. [2]

Influenced by an essay "The Cathedral and the Bazaar" [14] published in 1997 by Eric Raymond, the man behind fetchmail (a widely used email forwarding utility) Netscape  decided in 1998 in fact of the growing domination of Microsoft in the browser market, to open the source code of the Netscape Navigator.

Shortly afterward, Eric Raymond, Bruce Perens, a computer scientist, and Tim O'Reilly, founder and president of the computer book publisher O'Reilly, decided, that the free software community needed better marketing and formed the Open Source Initiative [15] to promote the benefits to the business community and form for the business adapted software licenses, but continuing to comply with the demands of the open source environment. [2] One of these revised licences is the Mozilla Public License [16], which has since become widely used. There arised until now many other open source licenses [17], all reviewed and approved by the OSI.

The open source defintion by OSI is definitely different from the FSF definition. Stallman says clearly, when he categorize kinds of software: "The term 'open source' software is used by some people to mean more or less the same thing as free software. However, their criteria are somewhat less strict; the have accepted some kinds of license restrictions that we have rejected as unacceptable. We prefer the term 'free software'." [18] I've not analysed the definitions or licenses in detail, to document this fact. This would go beyond the scope of this work.

Some more examples

Mozilla [19]

The Mozilla project arised from the opening of the source code of the Netscape Navigator. An imense number of people all over the world helped to make the most compliant with existing standards browser in the browser market. The project also led to the formation of Bugzilla [20], a bug tracking system, which is meanwhile used for lot of other open source (and also commercial) projects for bug management.

KDE [21]

KDE is a complex desktop environment for UNIX workstations. It is one of the biggest open source non-profit projects. It could be said, that it provides a larger functionality than most common commercial desktop environments. There exist nearly for every requirement an application based on KDE which could be obtained in the most cases over the Internet by free.

OpenOffice [24]

The open source project OpenOffice arised like Netscape Navigator also from the opening of the source code of the proprietary software StarOffice by Sun. The mission statement on openoffice.org says: "To create, as a community, the leading international office suite that will run on all major platforms and provide access to all functionality and data through open-component based APIs and an XML-based file format."
OpenOffice includes all useful components, which are usually included in a commercial office package, like programs for word processing, spreadsheets, presentations, drawings and more and it can be obtained over the internet for all important platforms by free.

Gimp [22]

Gimp is an acronym for GNU Image Manipulation Program. It is a freely distributed piece of software suitable for such tasks as photo retoching, image composition and image authoring. [23] It can be definitely matched with Adobe Photoshop, the commercial leading Image Manipulation program.

Apache HTTP Server [25]

The Apache HTTP Server is an open source project managed by the Apache Software Foundation. [26] It is the most used webserver in the world, the August 2002 Netcraft Web Server Survey [27] found that 63% of the web sites on the Internet are using Apache. [25] It can be asumed, that this fact is not a matter of coincidence. It is another indication, that the open source community produces the most qualitative, reliable and useful software.

Conclusion

The Free / Open Source unfolds the potential of creativity of humankind and is an important movement against capitalism and the monopolys of the big software companies. The so called "Halloween Papers" [28], an analysis by Microsoft of the dangers of open source software for commercial interests, indicate that this fact was already recognized by this companies, and they already set a course. Software patents [29], which are already common practice in the USA, got now also a raised issue in Europe. The introduction of these may would be the end of many open source projects, since the possibility of copyright infringements. It can be asumed, that the idea of software patents was not raised by people writing free software.
Apart this worst scenario thinking optimistic, the open source community hopefully continues expanding, achieving technical revolutions and making good software which is intended to assist us, not to make even more money.

Sources

[1]
http://link.springer.de/link/service/series/0558/papers/2000/20000195.pdf
[2]
http://www.openknowledge.org/writing/open-source/scb/brief-open-source-history.html
[3]
http://ig.cs.tu-berlin.de/w2000/ir1/referate1/b-1a/
[4]
http://www.stallman.org
[5]
http://www.gnu.org/software/emacs
[6]
http://www.chez.com/emarsden
[7]
http://www.ietf.org/rfc/rfc2324.txt
[8]
http://www.fsf.org/philosophy/free-sw.html
[9]
http://www.heise.de/tp/english/special/wos/6469/1.html
[10]
http://www.chez.com/emarsden/downloads/coffee.el
[11]
http://www.fsf.org/licence/gpl.html
[12]
http://www.fsf.org
[13]
http://www.gnu.org/software
[14]
http://www.tuxedo.org/~esr/writings/cathedral-bazaar/
[15]
http://www.opensource.org
[16]
http://www.opensource.org/licenses/mozilla1.0.php
[17]
http://www.opensource.org/licenses/
[18]
http://www.fsf.org/philosophy/categories.html
[19]
http://www.mozilla.org
[20]
http://www.bugzilla.org
[21]
http://www.kde.org
[22]
http://www.gimp.org
[23]
http://www.gimp.org/the_gimp_about.html
[24]
http://www.openoffice.org
[25]
http://httpd.apache.org/
[26]
http://www.apache.org/
[27]
http://www.netcraft.com/survey/
[28]
http://www.opensource.org/halloween/
[29]
http://swpat.ffii.org/