Open Source Software - Unit 1
Open Source Software - Unit 1
Open source software (OSS) is software that is distributed with its source code, making it
available for use, modification, and distribution with its original rights. Source code is the
part of software that most computer users don’t ever see; it’s the code computer programmers
manipulate to control how a program or application behaves. Programmers who have access
to source code can change a program by adding to it, changing it, or fixing parts of it that
aren’t working properly. OSS typically includes a license that allows programmers to modify
the software to best fit their needs and control how the software can be distributed.
The Open Source Initiative (OSI) was created to promote and protect open source software
and communities.ii In short, the OSI acts as a central informational and governing repository
of open source software. It provides rules and guidelines for how to use and interact with
OSS, as well as providing code licensing information, support, definitions, and general
community collaboration to help make the use and treatment of open source understandable
and ethical.ii
Open source code is usually stored in a public repository and shared publicly. Anyone can
access the repository to use the code independently or contribute improvements to the design
and functionality of the overall project.
OSS usually comes with a distribution license. This license includes terms that define how
developers can use, study, modify, and most importantly, distribute the software. iii According
to the Synopsys Black Duck® KnowledgeBase, five of the most popular licenses are:
MIT License
GNU General Public License (GPL) 2.0—this is more restrictive and requires that
copies of modified code are made available for public use
Apache License 2.0
GNU General Public License (GPL) 3.0
BSD License 2.0 (3-clause, New or Revised)—this is less restrictiveiv
When source code is changed, OSS must include what was altered as well as the methods
involved. Depending on the license terms, the software resulting from these modifications
may or may not be required to be made available for free.
GNU/Linux
Mozilla Firefox
VLC media player
SugarCRM
GIMP
VNC
Apache web server
LibreOffice
jQuery
What are the differences between open source and closed source software?
Price Available for nominal or zero Cost varies based upon the scale of
licensing and usage charges. the software.
After-sales Some very popular pieces of Dedicated support teams are in place.
support open source software (e.g., The level of service available depends
OSS distributed by Red Hat or on the service-level agreement (SLA).
SUSE) have plenty of support.
Otherwise, users can find help
through user forums and
mailing lists.
Security Source code is open for review The company distributing the
by anyone and everyone. There software (i.e., software owner)
is a widespread theory that guarantees a certain level of support,
more eyes on the code makes it depending on the terms of the SLA.
harder for bugs to survive. Because the source code is closed for
However, security bugs and review, there can be security issues. If
flaws may still exist and pose issues are found, the software
significant risk. distributor is responsible for fixing
them.
Vendor lock-in No vendor lock-in due to the In most cases, large investments are
associated cost. Integration into made in proprietary software.
systems may create technical Switching to a different vendor or to
dependency. an open source solution can be costly.
Stability This will depend on the current Older, market-based solutions are
user base, the parties more stable. New products have
maintaining the software, and similar challenges as open source
the number of years in the products. If a distributor discontinues
market. an application, the customer may be
out of luck.
Popularity Some open source solutions are In some industries, proprietary
very popular and are even software is more popular, especially if
market leaders (e.g., Linux, it has been in the market for many
Apache). years.
Total cost of TCO is lower and upfront due TCO is much higher and depends on
ownership (TCO) to minimal or no usage cost, the size of the user base.
and depends on the level of
maintenance required.
Interoperability This will depend on the level of This will depend on the development
with other open maintenance and goals of the standards.
source software group, but it is typically better
than closed source software.
Enhancements or Can be developed by the user if Request must be made to the software
new features needed. owner.
Suitability for OSS might not be technically Most proprietary software goes
production well-designed or tested in a through multiple rounds of testing.
environment large-scale production However, things can still go wrong
environment. when deployed in a production
environment.
Advantages
Disadvantages
Open source can be harder to use and adopt due to difficulty setting it up and the lack
of friendly user interfaces.
Open source can pose compatibility issues. When attempting to program proprietary
hardware with OSS, there is often a need for specialized drivers that are typically only
available from the hardware manufacturer.
Open source software can pose liability issues. Unlike commercial software, which is
fully controlled by the vendor, open source rarely contains any warranty, liability, or
infringement indemnity protection. This leaves the consumer of the OSS responsible
for maintaining compliance with legal obligations.
Open source can incur unexpected costs in training users, importing data, and setting
up required hardware.
Public Domain
Public domain comprises the body of knowledge and innovation (especially creative
works such as writing, art, music and inventions) in relation to which no person or other legal
entity can establish or maintain proprietary interests within a particular legal jurisdiction.
Programs that are uncoprighted because their authors intended to share them with everyone
else are in the public domain. The UNIX community has developed a number of such
programs over the years. Programs in the public domain can be used without restrictions as
components of others programs.
The Free Software Foundation (FSF) is a nonprofit organization that promotes the
creation, distribution and amendment of free software programs and applications
without any restriction. FSF was founded by Richard Stallman in 1985 as part of the free
software movement and the earlier GNU Project.