In this chapter we will be defining Open Source - openbook

advertisement
Open Source Software (OSS)
Chapter 5: OPEN SOURCE SOFTWARE
Open Source Software
Eric Camil and Sally Malan
FSU, EME 5405 - Instructional Systems Design, Open Knowledge, and Web 2.0, Section 2:
Overview of Tools and Technologies
1
Open Source Software (OSS)
2
Abstract
Your abstract should be one paragraph and should not exceed 120 words. It is a summary of the
most important elements of your paper. All numbers in the abstract, except those beginning a
sentence, should be typed as digits rather than words. To count the number of words in this
paragraph, select the paragraph, and on the Tools menu click Word Count.
Introduction
In this chapter we will be defining Open Source Software (OSS), discussing the OSS
Internet-based economy and culture, listing the pros and cons of OSS versus software that is not
open, giving examples of widely known OSS, and contemplating the future of OSS. To get
started, let’s induct you into OSS.
OSS Definition
Software is a familiar term. It is the computer programs, instructions, or commands that
make computers perform a function. “Source” refers to the software source code; that is, the
readable programming language used to create software. This readable, source code is converted
or “compiled” into computer executable code, or stored in a file like a script of computer
instructions, and run on a computer or the Internet. The compiled computer program or
executable script is the software, and the original, uncompiled programming language is the
source code. To make software changes, computer programmers update the source code, then
recompile if necessary.
Proprietary software normally comes as computer executable code, which is in a
compiled, non-readable format, and has a restricted user license. Vendors don’t normally share
the software source code, because they want to control their software for their own economic
advantage. If you want to use their software, you have to agree to their terms and conditions, and
Open Source Software (OSS)
3
pay them to support it. Over time, you have to buy upgrades or new versions; otherwise, it
becomes outdated and no longer supported, and won’t work with the current technology. The
problem with proprietary or non-open software is that you don’t have access to the source code
and you have limitations on its use.
When the source code is available for software, programmers can see how it works and
change it, or customize it to make it work the way they want it to. That is what is meant by
“open” software: it comes with the source code, and may be freely used and modified. People
who understand the source code or computer programming language can change the way the
software functions, or how it interfaces with other systems. This is the primary difference
between regular software, and OSS: “Open Source software is distinguished … by the license(s)
that governs the use, distribution, and, most importantly, the rights to access and modify the
software’s source code” (Tiemanna, 2010).
Over the years, there has been debate about what term to use for this sharing of source
code. In the beginning, it was referred to as “free software.” The term “free” didn’t necessarily
mean free of charge, but rather that the source code was accessible, and users were free to run,
copy, distribute, study, change and improve the software, either gratis or for a fee. The Free
Software Foundation continues to use that term for software that meets specified criteria. For
software to be called “free,” users must be free to:
1. run the program for any purpose,
2. access the source code so they can analyze the program to see how it works and make
modifications to it,
3. redistribute copies to others, and
4. distribute copies of code that results from modifications to the source code.
Open Source Software (OSS)
4
The Free Software Foundation continues to work to “preserve, protect and promote the
freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights
of Free Software users. (Free Software Foundation, Inc., 2010).
The Open Source Initiative (OSI)1 also originally used the term “free software,” but later
adopted and promoted the use of the term “open source,” in order to clarify the meaning of
“free.” To craft a well-rounded and detailed definition for Open Source, in relation to software,
the OSI established the following definition of OSS, referred to as the Open Source Definition
(OSD) (OSI, 2011). To be called OSS, software must have the following attributes:
1. allow free redistribution of source code,
2. program/software gives complete source code behind it,
3. modifications and derived works can be shared under the terms of the original software
license,
4. the original license must allow distribution of code that’s been changed, unless the
original license dictates that it must be updated through patches,
5. the license cannot show bias or single out any specific group or individual,
6. the license cannot confine or hamper its use in specific fields or for a specific purpose,
7. the original license agreement carries on through changes and edits made to the
code/program, and must not require extra licenses from the original creators of the
license,
8. the license isn’t limited to being part of a specific set of software,
9. the license cannot limit or restrict other software that is being shared and sent out with the
original/modified software, and
10. no part of the license may be based on a specific technology or interface.
1
OSI is a California public benefit corporation that was founded in 1998 with a 501(c) 3 tax-exempt status.
Open Source Software (OSS)
5
These are the same as the Debian Free Software Guidelines (DFSG) which were adopted
by the free software community as the basis of the Open Source Definition.
In addition to the open source licenses by the Open Source Initiative (OSI), other
recognized “free” licensing agencies are the GPL-compatible free software licenses by the Free
Software Foundation, the Berkeley Software Distribution (BSD) License, the Artistic License,
the GNU General Public License, and others.
Another Way to Explain OSS
Here is an analogy that may help demonstrate the primary benefit of OSS, which is the
ability to modify the open source software. Let’s think of software as a pie. In the open source
world, when you get your pie, you also receive the recipe (source code). Following the recipe,
you can make another pie like this one, and get help adding new ingredients or changing the
recipe of the pie, either from the original chefs or from chefs who have worked with that type of
recipe before. The alternative is, you go to the store and purchase a pie without the recipe. In
this case, if you want different flavors or changes to the pie, you’ll have to wait for the store to
decide to sell the type of pie that you want.
Open Source Software (OSS)
6
Origins and Development of OSS
Before we go further down this “open” rabbit hole, let’s take a look at the origins of OSS.
According to a White Paper written by NetAction titled, “The Origins and Future of Open
Source Software,” OSS essentially came into being through government funded projects
financed by the Advanced Research Projects Agency (ARPA). It all started with Project MAC at
the Massachusetts Institute of Technology (MIT). It was MIT hackers2 at Project MAC who
largely designed both hardware and software for Digital Equipment Corporation’s PDP-6
(Programmed Data Processor) timesharing minicomputer. These MIT hackers would go on to
spend endless hours creating and sharing new software to extend the capabilities of this software,
beyond the expectations of its creators (NetAction 1999).
At a time when the United States government was funding the internet for military use, a
few individuals at MIT were creating the first open source software. The Free / OSS movement
evolved soon after the Internet was created, but it, and the idea of open and collaborative, is what
made the Internet what it is today.
The hypertext markup language (html), which is the basis for websites on the Internet, is
in an open format. Users of the Internet can view the source code behind every webpage that
exists. A single html webpage may contain dynamic information, as JavaScript or PHP computer
programs can be used to display different files or database entries to viewers that have been
granted access. So as you read further on, and learn more about the ins and outs of open source
2
The pre-electronic vandalism definition of hackers was someone who takes apart or edits
software.
Open Source Software (OSS)
7
software, take heart that the websites you visit and interact with have open source code behind
them.
Financial Issues: Making Money with OSS
Making money with open source software can be a tad bit more challenging, than with a
traditional business model. Providing software source code, is like providing a cooking recipe. If
you owned a bakery and everyone had access to your secret recipes, it would be harder for your
business to keep customers coming in to pick up some of those delicious cupcakes, because they
could make them themselves. Luckily not everyone can or wants to make cupcakes themselves,
so they continue to buy cupcakes from you. You’re not just selling cupcakes, but you’re
providing a service, and the sales price includes the cost of the capital investment and
consumables required.
An example of a successful use of an open source business model is Blindside Networks,
of Ontario, Canada. They create and support open source software. Fred Dixon, a developer who
works on the open source project said, concerning their financial approach with Open Source
Software, “At Blindside Networks, we follow the traditional open source business model: make
the product freely available and charge for support and services” (Dixon 2011).
Their system, called BigBlueButton, is an open source web conferencing system for
distance education. It has 14 different open source components, and is used by universities,
colleges, and commercial companies. Even though their customers have access to the
application’s source code, Blindside Networks takes the standard approach of offering tools and
Open Source Software (OSS)
8
additional support and services for BigBlueButton. They offer server support and hosting, as
well as customizations, such as re-skinning3 the product to give it the customer’s branding.
In an interview with Fred Dixon about Big Blue Button, he explained that his company
profits by adding value to the product by providing the customization and support services that
they want, but that are above and beyond what their average clients can do for themselves. He
explained how he changes the Cascading Style Sheets (CSS) to change the skin and branding of
the product to give the product a customized look and feel. He said that, for most clients, that
would be enough. Like most companies that create and support open source software,
customization beyond what the average person can do, but would want to be done is very
supported.
Another successful example of a company using open source software is the Red Cross.
The Red Cross, which is not a government agency, was started in 1881 -- roughly over 80 years
before open source. Through the services of its 35,000 employees and more than hundreds of
thousands of volunteers, the Red Cross assists and helps tens of thousands of disaster victims
every year. Donations of time, hard work, and money are what keeps the organization alive and
allows it to provide this service. They have been utilizing their donation payment system since
the organization’s inception, but it is now taking off on a digital level. (Red Cross 2011)
Like the Red Cross, the open source community is funded and is keeping its head above
water in some cases, by using such systems. Donations made through payment systems such as
PayPal can be found easily on most websites. Many different open source communities are full
of people who are willing to help, expecting nothing more than perhaps a token of appreciation,
The “skin’ of a computer program is how it actually looks to the user through its graphical user
interface (GUI) (http://en.wikipedia.org/wiki/Skin_(computing)) .
3
Open Source Software (OSS)
9
as phrases such as “buy me a cup of coffee” or “buy me a beer if I’ve helped you,” can be seen in
their signature line.
The online community for the open source Linux based mobile operating system
Android, has a huge amount of users at the website XDA-Developers.com. The statistics on the
forum show a number of 3.9 million members, with 466,634 Active members and over 13
million posts. (JB Online Media 2011a) The XDA community for iPhone/iOS users, a closed
system owned by Apple displays a paltry 22,514 members, with 7,103 posts and only 1,369
threads. (JB Online Media 2011b) The number of threads over on the Android side is 768,174.
Open Source Software (OSS)
10
You can already see that the community for developers and non-developers for an open
source operating system for cell phones is a bustling and busy community. XDA released a free
mobile application and a premium paid application at 99 cents. The application gives you easier
access to the discussion boards and threads within the website by keeping the user inside the
application and not on a mobile web browser. Google doesn’t release the exact numbers, but the
premium application has been paid for between 10,000- 50,000 (Google 2011a) times and the
free application 500,000 to 1,000,000 times. (Google 2011b) This is an example of a very active
open source community. It is astonishing that 510,000 people (a low estimate) access this open
source community from a mobile device, to ask questions, find a solution, or help other users.
OSS Examples
One of the purposes of this chapter is to increase awareness about what types of OSS are
available and how open source software is being used. There are many open source software
ranking organizations. InfoWorld is a recognized leading source of information on emerging
enterprise technologies. They track and report trends in open source software on their Open
Sources blog and Technology: Open Source newsletter. For the last few years, it has been giving
out Bossies, Best of Open Source Software awards, to what it believes are the most promising
and cost-effective open source software products for business. In 2010, they published their list
of the best open source applications, application development software, platforms and
middleware, and networking software. Recently, they recognized the best of the best in their
lists, "The greatest open source software of all time" and "Top 10 Open Source Hall of Famers."
They, along with many others that rate open source software, give the top, position of honor, to
Linux.
Among the most important and valuable open source software for business include...
Open Source Software (OSS)
11
The Free Software Foundation is the principal organizational sponsor of the GNU
Operating System, a free Unix-like operating system.
They end their list with the Apache Web server, pointing out that “Apache has virtually
owned the Web since the late 1990s, and it still runs half of the world's Web sites.” The Apache
Web server is the result of contributions of hundreds of users and volunteers from around the
world. According to the project’s website, Apache is free because they want it to be used widely.
In fact, they argue that “Apache's strength comes from the fact that it's free, and if it were made
"not free" it would suffer tremendously, even if that money were spent on a real development
team,” because of the contributions of feature enhancements, bug fixes, and support from the
users. (The Apache Software Foundation, 2011).
Pros and Cons
Let’s list the pros and cons of OSS, to quantify and compare costs and benefits, and based
on measures and metrics, evaluate their relative meaning, importance and impact.
Costs
Those who are hesitant or refuse to participate in the “open” community are concerned
about the costs and risks. Some of the cost, challenges and limitations of OSS are time, labor and
resources (including expertise) of acquiring, upgrading, and using. But the biggest OSS concern
is sustainability – that is the essential issue. Users fear OSS will not be sustained over time, as
initial funding expires. However, what we’ve seen is that as long as there are continued
contributions from the open user community, the OSS product never expires.
Open Source Software (OSS)
12
Of course, some software vendors still cling to the “closed” idea of, “This is mine; leave
it alone; don’t touch it. Mine is better than yours. I have a competitive advantage and am more
successful than you” versus the more “open” sentiment of, “We all benefit from increased
productivity. Why reinvent the wheel, etc.”
Benefits
OSS has generated cultures of openness among the institutions and individuals who have
embraced them. The members of those cultures have discovered new efficiencies, new
opportunities for productivity (“social production”), new forms of organization (“coopetition”),
new markets (“the long tail”), new pathways to learning, and new models for engaging with their
colleagues and others around the sharing and collaborative construction of intellectual property”
(Mackie, 2008).
The cooperative, sharing, and collaborating culture of OSS seems the opposite of the
competitive culture of Capitalism, but the OSS industry has found synergy from collaboration
and community, and success building upon and transforming the work of others. Many find
using OSS reduces time and effort, as well as actual immediate and long term costs. Some of the
benefits are the financial gains that come from providing support, or hardware licensing
agreements. But there are also indirect benefits, like marketing capital: reputation credentials,
exposure, credits and favors - if you donate (give) you can get, Objectives, including customer
satisfaction, marketing. But the biggest, direct advantage of OSS is that because programmers
have access to the source code, it can be analyzed, customized, and integrated with other systems
being used.
Anticipated Future Developments.
Open Source Software (OSS)
13
Six years ago, during the 2005 TED conference, a recognized leading intellectual of the
information age, Yochai Benkler, suggested that open source represented the next stage of
human organization and economic production. He talked about the possibility of free and open
source software taking market share from software vendors like Microsoft, and potentially
threatening traditional industrial models in business, as well as the possibility of it increasing
productivity as it provides an opportunity for more people to create and innovate and share. He
said, “But it’s also a new source of opportunities for businesses. As you see a new set of social
relations and behaviors emerging, you have new opportunities. Some of them are toolmakers.
…build more open tools. There’s a new set of values, a new set of things people value. You
build platforms for self-expression and collaboration” (TED Ideas Worth Spreading, 2005).
Today, in 2011, we see that there is a growing “open” culture and economy supporting
OSS. Case studies reveal many OSS experiments or trials and best practices have emerged to
show how to mitigate the risks associated with OSS, and achieve accountability and
predictability. Many software developers and users have been convinced to participate in “open”
and contribute or use OSS. The national and global trends show there is more open collaboration,
and more and more businesses and users are recognizing the benefits of OSS and are accepting it
as a viable platform.
Open Source Software (OSS)
14
References
Free Software Foundation, Inc. (2010, Nov. 12). The Free Software Definition. Retrieved June 5,
2011, from GNU Operating System: http://www.gnu.org/philosophy/free-sw.html
Fred Dixon. (May 2011). Open Source Business Resource, May 2011: Technology
Entrepreneurship. In Open Source Business Resource. Retrieved June 4, 2011, from
http://www.osbr.ca/ojs/index.php/osbr/article/view/1314/1259.
(Google 2011a)Google Inc.. (n.d). XDA-Premium - Android Market. In Apps - Android Market.
Retrieved June 4, 2011, from
https://market.android.com/details?id=com.quoord.tapatalkxdapre.activity&feature=searc
h_result.
(Google 2011b) Google Inc.. (n.d). XDA-Developers - Android Market. In Apps - Android
Market. Retrieved June 4, 2011, from
https://market.android.com/details?id=com.quoord.tapatalkxdapre.activity&feature=searc
h_result.
(JB Online Media 2011a) JB Online Media, LLC. (n.d). Android Forums & Windows Phone
Discussion @ xda-developers. In Android & Windows Phone: Tablets, Apps, & ROMs
@ xda-developers. Retrieved June 4, 2011, from http://forum.xda-developers.com/.
(JB Online Media 2011b) JB Online Media, LLC. (n.d). iPhone-Developers. In iPhoneDevelopers. Retrieved June 4, 2011, from http://forum.iphone-developers.com/.
Mackie, C. J. (2008). Open Source in Open Educaiton: Promises and Challenges. In T. Iiyoshi, &
M. V. Kumar, Opening Up Education: The Collective Advancement of Education
through Open Technology, Open Content, and Open Knowledge (p. 119). Cambridge;
London: The MIT Press.
OSI. (2011). Open Source Definition (OSD). Retrieved June 2, 2011, from Open Source
Initiative: http://www.opensource.org/
Red Cross. (n.d). About Us. In American Red Cross. Retrieved June 4, 2011, from
htttp://www.redcross.org/portal/site/en/menuitem.d8aaecf214c576bf971e4cfe43181aa0/?
vgnextoid=477859f392ce8110VgnVCM10000030f3870aRCRD&vgnextfmt=default.
TED Ideas Worth Spreading. (2005, July). Retrieved June 5, 2011, from Open-source
economics: Yochai Benkler on TED.com:
http://blog.ted.com/2008/04/16/yochai_benkler_1/
The Apache Software Foundation. (2011). Apache HTTP Server Project. Retrieved June 5, 2011,
from http://httpd.apache.org/
Tiemanna, M. (2010). Open Source Software. In M. J. Bates, & M. N. Maack, Encyclopedia of
Library and Information Sciences (Third Edition ed., pp. 4031-4036). Boca Raton: CRC
Press; 3 edition.
Download