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).
   164   165   166   167   168   169   170   171   172   173   174