Chapter 1: What is open source? – Practical Open Source Software for Libraries

1

What is open source?

The Open Source Initiative defines open source software as software that is distributed with human readable source code in order to allow the user freedom to run, review, alter, enhance and modify the code for any purpose.1 But open source is about much more than just the code behind the software; it’s about community, collaboration and innovation.

In today’s world of competing products it might be hard to believe that in the beginning all applications were open source.2 Donald Rosenberg explained it well when he said that ‘open source is not a new way of doing things – it is the original computer way of doing things.’3 At the same time Eric Raymond reminds us that enthusiasts, artists, tinkerers, problem solvers and experts known as ‘hackers’ built the internet, World Wide Web, Unix and Linux.4 Contrary to popular media, to be a hacker is not to be a menace, but to be a computer programmer. This is an important distinction to make early on, since many open source developers proudly call themselves hackers.

Before the internet there was ARPAnet, a transcontinental network only accessible to the US Department of Defense, universities and contractors. This invention brought together hackers from all over the country to collaborate over the network and create applications to make their lives (and eventually all of our lives) easier. It was this connection that brought about the development of many of the world’s first open source applications.

The focus of this book is not to go into an in-depth history of open source – for that you can refer any number of amazing titles – but I think it’s important at least to talk about some of the hallmarks of open source history to give you a deeper understanding of the ideals around open source and free software.

Scratching an itch

Open source applications often start out with a developer ‘scratching an itch’ or solving a problem that might be bugging them or their colleagues. Most applications started as a project by one person or a small local group to solve a problem that had been bugging them. Probably the most well known of these projects is the invention of Linux.

It was 1991. Linus Torvalds, a student in Finland, was trying to find an operating system that would work on his PC.5 When nothing met his needs, he decided to write his own operating system, in effect, scratching his itch. After completing his work (meant only to meet his needs), Linus released his operating system (later to be known as Linux) to his hacker colleagues, to gather comments, suggestions and maybe even get some help improving the product.6 This project, which started as a hobby, has grown to be the most well-known, most written about and most popular open source project on the web today – and it all started with an itch.7

Freedom for all

Linus’ free release of Linux to all on the internet has led to a common misconception about open source and free software: that the term ‘free’ refers to price. In fact, when surveyed in 2009, 36 per cent of library professionals thought that all open source software was free of cost. Although there are open source applications that are free of cost, this is not required by open source and free software licenses. There are more than 60 such licenses, but two account for nearly 90 per cent of all open source software: the GNU General Public License (GPL) and the Berkeley Software Distribution (BSD).

The GPL starts by stating that the term ‘free’ refers to ‘freedom’ not price:

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program – to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them 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.8

The GPL was written by the Free Software Foundation (http://fsf.org). It is important to note here that there are some discrepancies between the definitions of open source software and free software. Despite these differences, for the purposes of this resource, the two will be used interchangeably simply because I agree with Scot Colford when he says that ‘for practical purposes they provide the same basic advantages (and challenges) in a library or information science setting.’9 In fact, this is why many writers will refer to FOSS or F/OSS when talking about free and/or open source software.

1.1

Definition of free software

Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program’s users have the four essential freedoms:

 The freedom to run the program, for any purpose (freedom 0).

 The freedom to study how the program works, and change it to make it do what you wish (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 (and modified versions in general) to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

Source: Free Software Foundation, Inc., The Free Software Definition, 2009, http://www.gnu.org/philosophy/free-sw.html.

While all of the applications discussed later in this book are available for download for free, it is important to realize that there can be monetary costs associated with choosing an open source application.

1.2

Definition of open source software

Introduction

Open source doesn’t just mean access to the source code. The distribution terms of open source software must comply with the following criteria:

1. Free Redistribution

The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

2. Source Code

The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost, preferably downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.

3. Derived Works

The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

4. Integrity of The Author’s Source Code

The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.

5. No Discrimination Against Persons or Groups

The license must not discriminate against any person or group of persons.

6. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Source: Free Software Foundation, Inc., The Free Software Definition, 2009, http://www.gnu.org/philosophy/free-sw.html.

The costs of open source

Many of us have downloaded and used open source software without ever shelling out a dime. One example for me would be Mozilla’s Firefox browser (http://firefox.com). I downloaded Firefox for free, installed it in minutes and have never needed to pay for support, development or additional services. Mozilla does give me the opportunity to donate money and/or my time to help with the further development of Firefox. Not all open source applications will be like Firefox.

When looking at open source software it is important to think about the skills within your organization before making a final move. Depending on the people within your organization you may have to outsource some areas of migrating to an open source application. Possible costs that go along with open source might include fees for development or customization, installation, training, help desk or support, and hosting.

Always talk to you staff and see if anyone is using open source applications at home. This may eliminate the need to invest in outside training. For example, when surveyed, 43 per cent of library professionals said they were using OpenOffice (http://openoffice.org) at home versus only 29 per cent who were using it at work. That is a large population of your staff who have experience using an application that you may be considering moving to in the near future.

Prevalence of open source

When teaching open source I often ask if anyone in the room is using Firefox and of those who raised their hands how many knew that they were using an open source application. In most cases fewer than half of the attendees knew that they were already using open source software. Tim O’Reilly wrote about a very similar question he asks his audiences:

I have a simple test that I use in my talks to see if my audience of computer industry professionals is thinking with the old paradigm or the new. ‘How many of you use Linux?’ I ask. Depending on the venue, 20–80% of the audience might raise its hands. ‘How many of you use Google?’ Every hand in the room goes up. And the light begins to dawn. Every one of them uses Google’s massive complex of 100,000 Linux servers, but they were blinded to the answer by a mindset in which ‘the software you use’ is defined as the software running on the computer in front of you. Most of the ‘killer apps’ of the Internet, applications used by hundreds of millions of people, run on Linux or FreeBSD.10

The fact is that open source is running more than half of the internet. Netcraft found that Apache ran 52.32 per cent of active websites in January 2010 versus Microsoft, which was running only 17.66 per cent.11 O’Reilly also notes that there is more open source than just Apache running the internet:

Much of the role of open source in the development of the Internet is well known: The most widely used TCP/IP protocol implementation was developed as part of Berkeley networking; Bind runs the DNS, without which none of the web sites we depend on would be reachable; sendmail is the heart of the Internet email backbone; Apache is the dominant web server; Perl the dominant language for creating dynamic sites; etc.12

While open source software is a new, hot, area of interest for libraries and librarians, open source, as we have seen, is not a new way of doing things.

Sharing

One of the hallmarks of open source is the idea of free collaboration. As stated earlier, open source is not just about the code and the freedom to alter that code. This is why I suggest you talk to your staff and colleagues to see what skills might be hidden in plain view. As librarians we are taught to work collaboratively and it is important to carry that lesson on to our work with open source.

In later chapters I will discuss the idea of sharing and community in open source in more detail.


1.Free Software Foundation, Inc. ‘GNU General Public License version 3 (GPLv3).’ Open Source Initiative, June 29, 2007. http://www.opensource.Org/licenses/gpl-3.0.html.

2.Howe, Jeff. Crowdsourcing: why the power of the crowd is driving the future of business. New York: Crown Business, 2008. http://crowdsourcing.typepad.com/.

3.Rosenberg, Donald K. Open Source: the unauthorized white papers. Hungry Minds, 2000.

4.Raymond, Eric S. The Cathedral and the Bazaar: musings on Linux and open source by an accidental revolutionary. O’Reilly & Associates, Inc., 2001.

5.Weber, Steve. The Success of Open Source. Cambridge, MA: Harvard University Press, 2004.

6.Wayner, Peter. Free for All: how Linux and the free software movement undercut the high-tech titans. New York: Harper Business, 2000.

7.Linus writes about his Linux experience in depth in Just for Fun: the story of an accidental revolutionary.

8.Free Software Foundation, Inc. ‘GNU General Public License version 3 (GPLv3).’ Open Source Initiative, June 29, 2007. http://www.opensource.org/licenses/gpl-3.0.html.

9.Colford, Scot. ‘Explaining Free and Open Source Software.’ Bulletin of the American Society for Information Science & Technology 35, no. 2 (December 2008): 10–14.

10.O’Reilly, Tim. ‘Open Source Paradigm Shift.’ O’Reilly Media, June 2004. http://www.oreillynet.com/pub/a/oreilly/tim/articles/paradigmshift_0504.html.

11.‘January 2010 Web Server Survey.’ Netcraft, January 7, 2010. http://news.netcraft.com/archives/2010/01/07/january_2010_web_server_survey.html.

12.O’Reilly, Tim. ‘Open Source Paradigm Shift.’ O’Reilly Media, June 2004. http://www.oreillynet.com/pub/a/oreilly/tim/articles/paradigmshift_0504.html.