COMP 201 OPEN SOURCE &
SYSTEM ADMINISTRATION
DANIEL OBUOBI
OPEN SOURCE SOFTWARE
what is open source software?
• Open Source software is distributed with its source
code. The Open Source Definition has three essential
features:
– It allows free re-distribution of the software without
royalties or licensing fees to the author
– It requires that source code be distributed with the
software or otherwise made available for no more than the
cost of distribution
– It allows anyone to modify the software or derive other
software from it, and to redistribute the modified software
under the same terms.
• Steven Weber, The Political Economy of Open Source Software,
BRIE Working Paper 140,
• http://brie.berkeley.edu/~briewww/pubs/pubs/wp/wp140.pdf
what is free/libre/open source software?
• Users are allowed to run the software for any
purpose.
• Users are able to closely examine and study the
software and are able to freely modify and improve it
to fill their needs better.
• Users are able to give copies of the software to other
people to whom the software will be useful
• Users are able to improve the software and freely
distribute their improvements to the broader public
so that they, as a whole, benefit.
– FLOSS Is Not Just Good for Your Teeth
Other definitions of OSS
• http://www.opensource.org/docs/osd
• http://www.fsf.org
examples of open source software
• Operating Systems
– Linux
– FreeBSD, OpenBSD, and NetBSD: The BSDs are all
based on the Berkeley Systems Distribution of
Unix, developed at the University of California,
Berkeley. Another BSD based open source project
is Darwin, which is the foundation of Apple's Mac
OS X.
examples of open source software
• Internet
– Apache, which runs over 50% of the world's web
servers.
– BIND, the software that provides the DNS
(domain name service) for the entire Internet.
– sendmail, the most important and widely used
email transport software on the Internet.
– Mozilla, the open source redesign of the Netscape
Browser
– OpenSSL is the standard for secure
communication (strong encryption) over the
Internet.categories.
example of open source software
• Programming Tools
– Zope, and PHP, are popular engines behind the "live
content" on the World Wide Web.
– Languages:
• Perl
• Python
• Ruby
• Tcl/Tk
– GNU compilers and tools
• GCC
• Make
• Autoconf
• Automake
open source software sites
• Free Software Foundation www.fsf.org
• Open Source Initiative www.opensource.org
• Freshmeat.net
• SourceForge.net
• OSDir.com
• developer.BerliOS.de
• Bioinformatics.org
• see also individual project sites; e.g.,
www.apache.org; www.cpan.org; etc.
some dates from the history of open source
• 1970s: UNIX operating system developed at Bell
Labs and by a diverse group of contributors
outside of Bell Labs; later AT&T enforces
intellectual property rights and “closes” the
code
• 1983: Richard Stallman founds the Free
Software Foundation
• 1993: Linus Torvalds releases first version of
Linux built
• 1997: Debian Free Software Guidelines released
• 1998: Netscape releases Navigator in source
conventional models
of software development
• waterfall
– from requirements to code without a backward
turn
• historically used for large military and corporate
software productions; originally used because
computing time was expensive
• spiral
– iterative cycles of requirements, development,
testing, redrafting of requirements, etc.
• B. W. Boehm. “A spiral model of software development
and enhancement”. IEEE Computer, 21(5):61--72, 1988
open source software development
• bazaar
– “Treating your users as co-developers is your least-
hassle route to rapid code improvement and
effective debugging.”
– Linus’s Law: “Given enough eyeballs, all bugs are
shallow.”
– Eric Steven Raymond, The Cathedral and the
Bazaar,
http://www.catb.org/~esr/writings/cathedral-
bazaar/cathedral-bazaar/
open source software
Documenters
development
Users
Users
Bug reporters
Patchers
Maintainers
Core
developer(s)
Users Users
open source business models
• service
• support
• education
• extensions
open source companies
• IBM
• uses and develops Apache and Linux; created Secure
Mailer and created other software on AlphaWorks
• Apple
• released core layers of Mac OS X Server as an open
source BSD operating system called Darwin; open
sourced the QuickTime Streaming Server, the OpenPlay
network gaming toolkit, etc.
• HP
• uses and releases products running Linux
• Sun
• uses Linux; supports some open source development
efforts(Forte IDE for Java and the Mozilla web browser)
open source companies
• Red Hat Software
– Linux vendor
• ActiveState
– develops and sells professional tools for Perl,
Python, and Tcl/tk developers.
open source licensing
• see http://www.opensource.org/licenses/
– apache software license
– python license
– ibm public license
– apple public source license
– etc.
GNU General Public License
• see http://www.opensource.org/licenses/gpl-
3.0.html
creative commons
• non-software licenses: see larry lessig’s “creative
commons” project
(http://www.creativecommons.org/learn/licenses
)
creative commons’ licenses explained
• Attribution. You let others copy, distribute, display,
and perform your copyrighted work — and
derivative works based upon it — but only if they
give you credit.
– Example: Jane publishes her photograph with an
Attribution license, because she wants the world to use
her pictures provided they give her credit. Bob finds her
photograph online and wants to display it on the front
page of his website. Bob puts Jane's picture on his site,
and clearly indicates Jane's authorship.
– www.creativecommons.org/learn/licenses
creative commons’ licenses explained
• Noncommercial. You let others copy, distribute,
display, and perform your work — and
derivative works based upon it — but for
noncommercial purposes only.
– Examples: Gus publishes his photograph with a
Noncommercial license. Camille incorporates a
piece of Gus's image into a collage poster. Camille is
not allowed to sell her collage poster without Gus's
permission.
– www.creativecommons.org/learn/licenses
creative commons’ licenses explained
• No Derivative Works. You let others copy,
distribute, display, and perform only verbatim
copies of your work, not derivative works based
upon it.
– Example: Sara licenses a recording of her song with a
No Derivative Works license. Joe would like to cut
Sara's track and mix it with his own to produce an
entirely new song. Joe cannot do this without Jane's
permission (unless his song amounts to fair use).
– www.creativecommons.org/learn/licenses
creative commons’ licenses explained
• Share Alike. You allow others to distribute
derivative works only under a license identical
to the license that governs your work.
– www.creativecommons.org/learn/licenses
open source as art
• 2004 golden nica award from ars electronica to the creative
commons project
• 1999 golden nica award from ars electronica to the linux
operating system
• See the ‘Takeovers & Makeovers’ conference, November 7 &
8, 2008 @ UC Berkeley
– http://bcnm.berkeley.edu/takeovers/
art as open source
• open_source_art_hack, 2002
– steve dietz and jenny marketou
– http://www.netartcommons.net/
• florian cramer essay
is software a form of politics?
• The code of cyberspace -- whether the Internet, or net within the
Internet -- the code of cyberspace defines that space. It constitutes that
space. And as with any constitution, it builds within itself a set of
values, and possibilities, that governs life there ... I've been selling the
idea that we should assure that our values get architected into this
code. That if this code reflects values, then we should identify the values
that come from our tradition -- privacy, free speech, anonymity, access --
and insist that this code embrace them if it is to embrace values at all. Or
more specifically still: I've been arguing that we should look to the
structure of our constitutional tradition, and extract from it the values
that are constituted by it, and carry these values into the world of the
Internet's governance -- whether the governance is through code, or the
governance is through people.
• “Open Code and Open Societies: Values of Internet Governance,” Larry
Lessig (1999)
A Brief History
• Popular graphical computers
– Apple Macintosh
– Microsoft Windows
• Linux
– Alternative for people whose computing needs
require something different
The Complete Guide to Linux System
26
Administration
The UNIX Operating System
• UNIX
– Operating system
– Originally created at AT&T Bell Labs in
early 1970s
– Designed to control networked computers that
were shared by many users
– Features and low cost of Linux effectively driving
UNIX out of market
The Complete Guide to Linux System
27
Administration
The Free Software Foundation
and the GNU Project
• Free software foundation (FSF)
– Software itself should not be restricted in
distribution by standard commercial license
agreement
• GNU project
– Completely free version of UNIX
– Written from scratch
The Complete Guide to Linux System
28
Administration
The Free Software Foundation and the GNU
Project (continued)
• Software license
– Legal definition of who can use software and how
it can be used
• GNU general public license (GPL)
– Very different from standard commercial software
license
– Author agrees to give away source code
– Anyone is licensed to redistribute it in any form
The Complete Guide to Linux System
29
Administration
The Free Software Foundation and the GNU
Project (continued)
• GNU GPL
– Any modifications to the source code must be
licensed under the GPL
– Sometimes called copyleft
– OpenSource
• Refers to software licensed under GPL
• Public domain
– No one has copyright to software
– Not same as GPL
The Complete Guide to Linux System
30
Administration
Linux Arrives
• Linus Torvalds
– Decided to create UNIX-like operating system
kernel for IBM-compatible PC
– Solicited help via Internet
– Released Linux kernel under GPL
• Linux development method
– Person identifies need and begins writing program
– Developer announces project on Internet
The Complete Guide to Linux System
31
Administration
Linux Arrives (continued)
• Linux development method (continued)
– Others respond and work on different parts of
project
– Person leading project releases software
– People download source code and try program;
send back information about problems
– Developers fix bugs
• Forking
– Creating new project based on existing source code
The Complete Guide to Linux System
32
Administration
Motivating Free Software Developers
• Why would so many people devote so much
effort to something without expecting any
reward?
– Fills developer’s specific technical need
– Respect of like-minded professionals
– Sense of contribution and community
– Valuable boost to developer’s resume
The Complete Guide to Linux System
33
Administration
The Strengths Of Linux
• Stability
• Security
• Speed
• Cost
• Multiprocessing and other high-end features
• Applications
The Complete Guide to Linux System
34
Administration
• NOW READ THE REST YOURSELF
Presented By:
Avijit Gupta
V. SaiSantosh
About Open Source Software
Open Source Software can be defined as
computer software for which the human
readable source code is made available under a
copyright license that meets the Open Source
Definition. This permits users to use, change, and
improve the software, and to redistribute it in
modified or unmodified form. It is very often
developed in a public, collaborative manner.
About Open Source Software
Open source software generally allows anyone
to make a new version of the software, port it
to new operating systems and processor
architectures, share it with others or market it.
The aim of open source is to let the product
be more understandable, modifiable, reliable
or simply accessible, while it is still
marketable.
Philosophy
• Users should be treated as co-developers
• Early releases
• Frequent integration
• Several versions
• High modularization
• Dynamic decision making structure
Licensing Of Open Source
Software
• Open source licenses define the privileges and restrictions a
licensor must follow in order to use, modify or redistribute the
open source software. Open source software includes software
with source code in the public domain and software distributed
under an open source license.
• Examples of open source licenses include Apache License, BSD
license, GNU General Public License etc.
• The proliferation of open source licenses is one of the few
negative aspects of the open source movement because it is
often difficult to understand the legal implications of the
differences between licenses.
Open Source Products
Many FOSS products like LINUX, APACHE, and
FIREFOX etc. have begun to gain mainstream
acceptance and many companies are also
releasing their own software under open
source. As the internet is transforming much
of the software business into a service, very
large parts of the software that enables this to
happen are expected to become free and
open.
About Linux…
The Open Source Operating
System
• Linux is the name usually given to any Unix-
like computer operating system that uses the
Linux kernel. Linux is one of the most
prominent examples of free software and
open source development: typically all
underlying source code can be freely
modified, used, and redistributed by anyone.
.
About Linux…
The Open Source Operating
System
The name "Linux" comes from the
Linux kernel, originally written in
Richard Stallman,
1991 by Linus Torvalds. The system's
founder of the utilities and libraries usually come
GNU project.
from the GNU operating system,
announced in 1983 by Richard
Stallman. The GNU contribution is
the basis for the alternative name
Linus Torvalds, GNU/Linux
creator of the
Linux kernel
About Linux…
The Open Source Operating
System
• The primary difference between Linux and many other
popular contemporary operating systems is that the
Linux kernel and other components are free and open
source software. Linux is not the only such operating
system, although it is the best-known and most widely
used.
• As an operating system underdog competing with
mainstream operating systems, Linux cannot rely on a
monopoly advantage; in order for Linux to be convenient
for users, Linux aims for interoperability with other
operating systems and established computing standards.
Advantages of Open Source
Software
Software experts and researchers on open source software have
identified several advantages
• The main advantage for business is that open source is a good
way for business to achieve greater penetration of the market.
• it offers the potential for a more flexible technology and quicker
innovation.
• It is flexible because modular systems allow programmers to
build custom interfaces, or add new abilities to it and it is
innovative since open source programs are the product of
collaboration among a large number of different programmers
Disadvantages of Open Source
Software
Software experts and researchers on open source software
have identified some disadvantages:
• It is sometimes said that the open source development
process may not be well defined and the stages in the
development process, such as system testing and
documentation may be ignored.
• Not all OSS initiatives have been successful, for example,
SourceXchange and Eazel. Software experts and researchers
who are not convinced by open source’s ability to produce
quality systems identify the unclear process, the late defect
discovery and the lack of any empirical evidence as the most
important problems
Conclusion
As the internet is transforming much of the software
business into a service, very large parts of the
software that enables this to happen are expected to
become free and open. However, there are many
hurdles to be crossed before this potential becomes a
reality, such as lack of awareness, absence of
standards and inter operability criterion, lack of the
required skill, training, absence of appropriate
business models, insufficient user confidence, and its
very newness itself.
Thank You!