Page 169 -
P. 169
Chapter 4 Hardware, Software, and Mobile Systems
168
Q4-4 Is Open Source Software a Viable Alternative?
To answer this question, you first need to know something about the open source movement and
process. Most computer historians would agree that Richard Matthew Stallman is the father of the
movement. In 1983, he developed a set of tools called GNU (a self-referential acronym meaning
GNU Not Unix) for creating a free Unix-like operating system. Stallman made many other contri-
butions to open source, including the GNU general public license (GPL) agreement, one of
the standard license agreements for open source software. Stallman was unable to attract enough
developers to finish the free Unix system but continued making other contributions to the open
source movement.
In 1991 Linus Torvalds, working in Helsinki, began work on another version of Unix, using
some of Stallman’s tools. That version eventually became Linux, the high-quality and very popular
operating system discussed previously.
The Internet proved to be a great asset for open source, and many open source projects became
successful, including:
• LibreOffice (default office suite in Linux distributions)
• Firefox (a browser)
• MySQL (a DBMS, see Chapter 5)
• Apache (a Web server, see Chapter 6)
• Ubuntu (a Windows-like desktop operating system)
• Android (a mobile device operating system)
• Cassandra (a NoSQL DBMS, see Chapter 5)
• Hadoop (a BigData processing system, see Chapter 9)
Why Do Programmers Volunteer Their Services?
To a person who has never enjoyed writing computer programs, it is difficult to understand why
anyone would donate his or her time and skills to contribute to open source projects. Program-
ming is, however, an intense combination of art and logic, and designing and writing a com-
plicated computer program can be exceedingly pleasurable (and addictive). Many programmers
joyfully write computer programs—day after day. If you have an artistic and logical mind, you
ought to try it.
The first reason that people contribute to open source is that it is great fun! Additionally, some
people contribute to open source because it gives them the freedom to choose the projects they
work on. They may have a programming day job that is not terribly interesting—say, writing a
program to manage a computer printer. Their job pays the bills, but it’s not fulfilling.
In the 1950s, Hollywood studio musicians suffered as they recorded the same style of music
over and over for a long string of uninteresting movies. To keep their sanity, those musicians would
gather on Sundays to play jazz, and a number of high-quality jazz clubs resulted. That’s what open
source is to programmers: a place where they can exercise their creativity while working on proj-
ects they find interesting and fulfilling.
Another reason for contributing to open source is to exhibit one’s skill, both for pride and to
find a job or consulting employment. A final reason is to start a business selling services to support
an open source product.
How Does Open Source Work?
The term open source means that the source code of the program is available to the public. Source
code is computer code as written by humans and understandable by humans. Figure 4-16 shows a
portion of the computer code written for the PRIDE project (see Chapter 7 opener).