0% found this document useful (0 votes)
75 views64 pages

OSS Fundamentals: Prof. Jayakumar Sadhasivam, Vellore Institute of Technology, Vellore

Uploaded by

Joseph Prasanth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views64 pages

OSS Fundamentals: Prof. Jayakumar Sadhasivam, Vellore Institute of Technology, Vellore

Uploaded by

Joseph Prasanth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 64

OSS Fundamentals

Prof. Jayakumar Sadhasivam,


Vellore Institute of Technology,
Vellore.

What is Open Source?


๏ Open source is a philosophy, that promotes free redistribution and
access to an end product's design and implementation details.

✓ Open as in free
✓ Open as in access
✓ Open as in over time
✓ Open as in not closed
✓ Open as in reuse and change
✓ Open as in any place and for anyone

Prof. Jayakumar Sadhasivam, VIT, Vellore. 2


Open -> Collaboration is Open


Source -> Source is Freely available

Share
Adapt
Modify
Collaborate!

Prof. Jayakumar Sadhasivam, VIT, Vellore. 3


Is it FREE ?? NO!
๏ Free in OSS context refers FREEDOM not the COST.
๏ Every free software is not Open Source.
๏ Every Open Source software is not free.
๏ Some software are Open Source as well as free.

๏ Example of Paid Open Source Software


• Juce, a cross-platform UI framework in C++.
• Mongoose, a simple web server written in C meant to be embedded within
C/C++ applications.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 4


Open Source Timeline


✓ 1969 - Unix Development Begins
✓ 1976 - Emacs written by Richard Stallman, later in 1984, released under GNU-GPL.
✓ 1984 - Richard Stallman starts the Free Software Foundation at MIT.
✓ 1985 - GCC Started by Richard Stallman.
✓ 1986 - Programmer Larry Wall releases PERL.
✓ 1991 - Linux Kernel started by Lins Torvalds.
✓ 1991 - Python was released.
✓ 1993 - The Wine project started.
✓ 1995 - PHP, created by Rasmus Lerdorf, released publicly.
✓ 1996 - Birth of KDE and Apache.
✓ 1997 - Gnome was first released.
✓ 1999 - openoffice.org was founded.
✓ 2003 - Firefox was developed.
✓ 2011 - Linux Kernel 3.0 released.
Prof. Jayakumar Sadhasivam, VIT, Vellore. 5

GNU Project

๏ GNU's Not UNIX (GNU)


๏ Build a free operating system.
๏ Software produced by GNU will remain free.
๏ Started by coding some programming tools (a compiler, an editor,
etc.).

Prof. Jayakumar Sadhasivam, VIT, Vellore. 6


Open Source - OS
๏ Linux — operating system kernel based on Unix
๏ GNU Project — a sufficient body of free software
๏ OpenBSD — operating system derived from Unix
๏ FreeBSD — operating system derived from Unix
๏ OpenSolaris — Unix Operating System from Sun Microsystems
๏ Symbian — real-time mobile operating system
๏ Android — operating system derived from Linux

https://en.wikipedia.org/wiki/Comparison_of_open-source_operating_systems

Prof. Jayakumar Sadhasivam, VIT, Vellore. 7


OS - Software Server
๏ Apache — HTTP web server
๏ Tomcat web server — web container
๏ MediaWiki — wiki server software
๏ Alfresco, TYPO3 — content management system
๏ RenovatioCMS — content management system
๏ Joomla — content management system
๏ Drupal — content management system

Prof. Jayakumar Sadhasivam, VIT, Vellore. 8


OS Software
✓ WordPress — blog software
✓ MongoDB — document-oriented, non-relational database
✓ Eclipse — Integrated Development Environment (IDE)
✓ Moodle — course management system or virtual learning environment
✓ openSIS — open source Student Information System.
✓ osCommerce — e-commerce
✓ Mozilla Firefox — web browser
✓ Mozilla Thunderbird — e-mail client
✓ OpenOffice.org — office suite
✓ Stockfish — chess engine series, one of the strongest chess programs
✓ 7-Zip – File Archiever
✓ PeaZip — File archiver
Prof. Jayakumar Sadhasivam, VIT, Vellore. 9

Example of Open Source Softwares


๏ Internet
• Apache, which runs over 50% of the world's web servers.
• BIND (Berkeley Internet Name Domain), 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.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 10


Open Source Languages


๏ Languages:
• PHP
• Perl
• Python
• Ruby
• Tcl/Tk
๏ GNU compilers and tools
• GCC
• Make
• Autoconf
• Automake
Prof. Jayakumar Sadhasivam, VIT, Vellore. 11

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
๏ www.apache.org;
๏ www.cpan.org; etc.
๏ https://github.com/
Prof. Jayakumar Sadhasivam, VIT, Vellore. 12

Open source companies


๏ Red hat software
✓ Linux vendor
๏ ActiveState
✓ Develops and sells professional tools for Perl, Python, and
Tcl/tk developers.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 13


How Open source works

Prof. Jayakumar Sadhasivam, VIT, Vellore. 14


Open Source Development Model

Prof. Jayakumar Sadhasivam, VIT, Vellore. 15


Advantages of Open Source
๏ Availability of source code
✓ Source code to understand and learn from
✓ Do not have to re-invent the wheel
✓ Free as in “freedom”
๏ Does not depend on vendor
✓ Can choose additional support
✓ Can fix bugs and adapt to change in requirements as well as
technology
๏ Quality and Customizability in open source is better.
๏ Costs much less than proprietary counterparts.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 16


Disadvantages of Open Source


๏ Not generally straightforward to use and requires a certain
learning curve to use and get accustomed.
๏ Incompatibility issue with software and hardware (3rd party
drivers).
๏ Bad Codes, and some unqualified people who uses it.
๏ Software quality assurance process is widely not transparent.
๏ No financial incentive.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 17


Open Source
De nition (OSD)
fi
Open Source De nition (OSD)
๏ Open source doesn't just mean access to the source code. The distribution
terms of open-source software must comply with the following criteria:
1. Free Redistribution
2. Source Code
3. Derived Works
4. Integrity of The Author's Source Code
5. No Discrimination Against Persons or Groups
6. No Discrimination Against Fields of Endeavor
7. Distribution of License
8. License Must Not Be Specific to a Product
9. License Must Not Restrict Other Software
10. License Must Be Technology-Neutral
Prof. Jayakumar Sadhasivam, VIT, Vellore. 19

fi

1. Free Redistribution
✓ The license shall not restrict any party from selling or giving away
the software as a component of an aggregate software distribution
containing programs from several different sources.
✓ The license shall not require a royalty or other fee for such sale.
2. Source Code
✓ The program must include source code, and must allow distribution
in source code as well as compiled form. Where some form of a
product is not distributed with source code, there must be a well-
publicized means of obtaining the source code for no more than a
reasonable reproduction cost preferably, downloading via the
Internet without charge.
✓ The source code must be the preferred form in which a
programmer would modify the program.
Prof. Jayakumar Sadhasivam, VIT, Vellore. 20

3. Derived Works
✓ The license must allow modifications and derived works, and
must allow them to be distributed under the same terms as
the license of the original software.
4. Integrity of The Author's Source Code
✓ The license may restrict source-code from being distributed
in modified form only if the license allows the distribution of
"patch files" with the source code for the purpose of
modifying the program at build time.
✓ The license must explicitly permit distribution of software
built from modified source code.
✓ The license may require derived works to carry a different
name or version number from the original software
Prof. Jayakumar Sadhasivam, VIT, Vellore. 21

5. No Discrimination Against Persons or Groups


✓ The license must not discriminate against any person or
group of persons.
6. No Discrimination Against Fields of Endeavor
✓ The license must not restrict anyone from making use of the
program in a specific field of endeavor.
✓ For example, it may not restrict the program from being used
in a business, or from being used for genetic research.
7. Distribution of License
✓ The rights attached to the program must apply to all to whom
the program is redistributed without the need for execution of
an additional license by those parties.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 22


8. License Must Not Be Specific to a Product


✓ The rights attached to the program must not depend on the
program's being part of a particular software distribution.
✓ If the program is extracted from that distribution and used or
distributed within the terms of the program's license, all
parties to whom the program is redistributed should have the
same rights as those that are granted in conjunction with the
original software distribution
9. License Must Not Restrict Other Software
✓ The license must not place restrictions on other software that
is distributed along with the licensed software. For example,
the license must not insist that all other programs distributed
on the same medium must be open-source software.
Prof. Jayakumar Sadhasivam, VIT, Vellore. 23

10. License Must Be Technology-Neutral


✓ No provision of the license may be predicated on any
individual technology or style of interface.
✓ Provisions mandating so-called "click-wrap" may conflict
with important methods of software distribution such as FTP
download, CD-ROM anthologies, and web mirroring; such
provisions may also hinder code re-use.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 24


Open Source
vs
Closed Source

Open Source and Closed Source


๏ View/Modify the source code of an application or software.
๏ Open source software is released to the development community
and undergoes a secondary phase of evolution, but closed source
software is developed in isolation with a small team of
developers.
๏ Developer support and large community to help.
๏ Open Source is more secure and bugs and vulnerabilities are fixed
often.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 26


Open Source
๏ OSS - Open source software can be defined as software
distributed under a licensing agreement which allows the source
code (computer code) to be shared, viewed and modified by other
users and organizations.
๏ Cost
✓ Able to implement, train and support at little cost
✓ Need technical expert to manage.
✓ Increasingly charging for add-ons, additional services and
integration

Prof. Jayakumar Sadhasivam, VIT, Vellore. 27


Open Source
๏ Service and Support
✓ Deliver support via forums and blogs
✓ Time poor, customers suffers a lot
✓ Need to solve the problem in timely manner
✓ Low level of responsive service.
๏ Innovation
✓ flexibility to adapt the software to suit, without restriction
✓ Whether customized changes to the original source code limit
the future support and growth of the software.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 28


Open Source
๏ Usability
✓ Highly criticized for its lack of usability
✓ developer-centric
✓ Without adequate documentation users must rely on
alternative means such as online communities, assuming they
are capable of finding them and the problem
๏ Security
✓ open source software is not always peer reviewed or
validated for use.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 29


Closed Source
๏ Cost
✓ Depends on the complexity of the system required
✓ Base fee for software, integration and services and annual
licensing/support fees.
✓ Trusted brand that includes higher levels of security and
functionality, continuous innovation, a greater ability to scale
๏ Service and Support
✓ Service level and support structure requirements taking precedent
in favor of maximizing uptime and minimizing downtime (For
internet channel).
✓ Selling without technical expertise.
✓ Reduction in risk.
Prof. Jayakumar Sadhasivam, VIT, Vellore. 30

Closed Source
๏ Innovation
✓ Disadvantage to some, it ensures the security and reliability of
the software.
✓ Innovation comes fully tested, and is available to all users of
the software.
๏ Security
✓ Proprietary software is viewed as more secure because it is
developed in a controlled environment by a concentrated team
with a common direction.
✓ The source code may be viewed and edited by this team alone,
and is heavily audited, eliminating the risk of back door Trojans
and reducing the risk of any bugs or issues with the software.
Prof. Jayakumar Sadhasivam, VIT, Vellore. 31

CLOSED SOURCE OPEN SOURCE


Developed By Volunteers work for
Developed by Companies and developers peer recognition. People know that
work for economic purposes. recognition as a good developer have
great advantage
Decentralized, distributed, multi-site
Centralized, single site development
development
Users may suggest requirements but they User suggests additional features that
may or may not be implemented often get implemented.
Release is not too often. There may be Software is released on a daily or
only yearly releases. weekly basis
Market believes commercial CSS is highly
OSSD is not market driven; it is
secure because it is developed by a group of
quality driven. Community reaction to
professionals confined to one geographical
bug reports is much faster compared
area under a strict time schedule. But quite
to CSSD which makes it easier to fix
often this is not the case, hiding information
bugs and make the component highly
does not make it secure, it only hides its
secure
weaknesses.
Prof. Jayakumar Sadhasivam, VIT, Vellore. 32
Free vs Open
Source Software

Free software Foundation


๏ Free software Foundation helps to enforce license for all
free software.
✓ The Free Software Foundation (FSF) is a nonprofit
with a worldwide mission to promote computer user
freedom and to defend the rights of all free software
users.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 34


Taxonomy of Software by FSF


๏ Proprietary: The use, redistribution or modification of the software is prohibited,
or requires you to ask for permission, or is restricted so much that you effectively
can't do it freely.
๏ Semi-free: Not free, but comes with permission for individuals to use, copy,
distribute, and modify (including distribution of modified versions) for non-profit
purposes. e.g. PGP
๏ Free (Free Software ≠ Freeware)
✓ Copylefted: Redistribution cannot add additional restriction
✓ Non-Copylefted:
✴ Public domain = non-copyrighted (if no copyright, then of course it’s
non-copylefted)
✴ Copyrighted (but not copylefted)
๏ Copylefted ≠ not copyrighted
๏ Actually to copyleft a program, we first state that it is copyrighted
Prof. Jayakumar Sadhasivam, VIT, Vellore. 35

Free Software
๏ Free software is a matter of the users' freedom to run, copy, distribute,
study, change and improve the software. More precisely, it refers to four
kinds of freedom, for the users of the software:
✓ The freedom to run the program as you wish, for any purpose
(freedom 0).
✓ The freedom to study how the program works, and adapt it to your
needs (freedom 1).
✓ The freedom to redistribute copies so you can help your neighbor
(freedom 2).
✓ The freedom to improve the program, and release your improvements
to the public, so that the whole community benefits (freedom 3).
๏ A program is free software if users have all of these freedoms.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 36


Free Source Software


๏ The fundamental difference between the two movements is in
their values, their ways of looking at the world.
๏ For the Open Source movement, the issue of whether software
should be open source is a practical question, not an ethical one.
๏ As one person put it, "Open source is a development
methodology; free software is a social movement.”
๏ For the Open Source movement, non-free software is a
suboptimal solution.
๏ For the Free Software movement, non-free software is a social
problem and free software is the solution.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 37


Free vs Open Source Software


๏ "Open source" focuses on the potential to make high quality,
powerful software, but shuns the ideas of freedom, community,
and principle.
✓ The support of business can contribute to the community in
many ways; all else being equal, it is useful.
✓ But winning their support by speaking even less about
freedom and principle can be disastrous; it makes the
previous imbalance between outreach and civics education
even worse.”

Prof. Jayakumar Sadhasivam, VIT, Vellore. 38


Free vs Open Source Software


๏ The Free Software movement and the Open Source movement are
like two political camps within the free software community.
๏ We disagree on the basic principles, but agree more or less on the
practical recommendations.
๏ So we can and do work together on many specific projects.
๏ We don't think of the Open Source movement as an enemy. The
enemy is proprietary software.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 39


Open Source Software


๏ The basic idea behind open source is very simple: When programmers
can read, redistribute, and modify the source code for a piece of
software, the software evolves.
๏ People improve it, people adapt it, people fix bugs and this can happen
at a speed that, if one is used to the slow pace of conventional software
development, seems astonishing.
๏ We in the open source community have learned that this rapid
evolutionary process produces better software than the traditional closed
model, in.
๏ Which only a very few programmers can see the source and everybody
else must blindly use an opaque block of bits.
๏ Open Source Initiative(OSI) exists to make this case to the commercial
world.
Prof. Jayakumar Sadhasivam, VIT, Vellore. 40

Copyright
vs
Copyleft

Copyright vs Copyleft
๏ Software Copyright is commonly used by proprietary software
companies to prevent the unauthorized copying of their software.
๏ Copyleft gives the legal right to everyone to use, edit, and redistribute
programs or program's code.
๏ Copyleft is a general method for making a free software and requiring
all modified and extended versions of the program to be a free software.
๏ The concept of copyleft licensing has been around for a long time.
Some of the most popular open source development projects employ
copyleft licenses:
✓ The Linux Kernel (GPL)
✓ Mozilla Firefox (MPL, GPL and LGPL -detailed s/w licence)
✓ OpenSolaris(CDDL)
Prof. Jayakumar Sadhasivam, VIT, Vellore. 42

Copyright vs Copyleft
๏ Copyright is the most usual method of protection for software
products.
๏ In fact, open source use, copyright law.
๏ Copyright law, by default, do not allow for redistribution of
software.
๏ The only way that redistribution can be done is by granting
specific permission in a licence and that license can force the
redistributor to fulfill certain conditions. This is how open source
licenses work.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 43


License
What is a license ?
๏ Grants permission to use a copyrighted work
๏ Can grant any or all of the rights associated with copyright
๏ Can impose other restrictions, such as type or place or usage, or
duration of the license
๏ Does not transfer ownership of the copyright
๏ The license is what determines whether software is open source.
๏ The license must be approved by the Open Source Initiative
(ww.opensource.org)
๏ All approved licenses meet their Open Source Definition.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 45


Some License
๏ The following OSI-approved licenses are popular, widely used,
or have strong communities
✓ Apache License 2.0
✓ Berkeley Software Distribution (BSD)
✓ GNU General Public License (GPL)
✓ GNU Library or "Lesser" General Public License (LGPL)
✓ MIT License
✓ Mozilla Public License 2.0 (MPL)
✓ Common Development and Distribution License (CDDL)
✓ Eclipse Public License (EPL)

Prof. Jayakumar Sadhasivam, VIT, Vellore. 46


Creative Commons (CC)


๏ Creative Commons (CC) is an American non-profit organization
devoted to expanding the range of creative works available for
others to build upon legally and to share.
๏ Provide Creative Commons licenses and public domain tools that
give every person and organization in the world a free, simple,
and standardized way to grant copyright permissions for creative
and academic works; ensure proper attribution; and allow others
to copy, distribute, and make use of those works.
๏ The organization was founded in 2001 by Lawrence Lessig, Hal
Abelson, and Eric Eldred with the support of Center for the Public
Domain.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 47


Creative Commons (CC) License Element

Prof. Jayakumar Sadhasivam, VIT, Vellore. 48


Creative Commons (CC) License Element

Prof. Jayakumar Sadhasivam, VIT, Vellore. 49


Public Domain
๏ CC0 is the "no copyright reserved" option in the Creative
Commons toolkit. It effectively means relinquishing all copyright
and similar rights that you hold in a work and dedicating those
rights to the public domain.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 50


Creative Commons (CC) License Element

Prof. Jayakumar Sadhasivam, VIT, Vellore. 51


Types of License

Prof. Jayakumar Sadhasivam, VIT, Vellore. 52


License

Prof. Jayakumar Sadhasivam, VIT, Vellore. 53


GNU Free Documentation License (GNU FDL)
๏ Shorter, clearer and more concise than the software General
Public License (GPL).
๏ Right to copy and distribute the work in any medium, either
commercially or non-commercially, provided that the licence is
included and © notices kept.
๏ Viral: all derived works must be licensed using the GNU FDL.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 54


Apache License
๏ Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
✓ Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
✓ Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
✓ The end-user documentation included with the redistribution, if any,
must include the following acknowledgment:
"This product includes software developed by the Apache Software
Foundation (http://www.apache.org/)."

Prof. Jayakumar Sadhasivam, VIT, Vellore. 55


Apache License
๏ Public Domain:
✓ A public-domain program is one upon which the author has
deliberately surrendered his copyright rights.
✓ It can't really be said to come with a license; it's your personal
property to use as you see fit.
✓ Because you can treat it as your personal property, you can do
what you want with a public-domain program.
✓ You can even re-license a public-domain program, removing
that version from the public domain, or you can remove the
author's name and treat it as your own work .

Prof. Jayakumar Sadhasivam, VIT, Vellore. 56


General Public License (GPL)


๏ General Public License : It is a license that requires that the
product derived from the original open-source software must also
be distributed under the same licensing as the original. Thus it
cannot be turned into a closed-source product.
✓ Copy, modify, distribute
✓ Distribution conditions
✓ Source code
✓ Derivative works-source code
✓ Attribution
✓ License
✓ Warranty and liability
Prof. Jayakumar Sadhasivam, VIT, Vellore. 57

MIT License
๏ Massachusetts Institute of Technology (MIT)
๏ As a permissive license, it puts only very limited restriction on
reuse and has, therefore, an excellent license compatibility.
๏ The MIT license permits reuse within proprietary software
provided that all copies of the licensed software include a copy of
the MIT License terms and the copyright notice
๏ Notable projects that use one of the versions of the MIT License
include Ruby on Rails, Node.js, jQuery, and the X Window
System.

Prof. Jayakumar Sadhasivam, VIT, Vellore. 58


Top 20 licenses
Rank Open Source License %
1 MIT License 38%
2 GNU General Public License (GPL 2.0) 14%
3 Apache License 2.0 13%
4 ISC License (Internet Software/System Consortium) 10%
5 GNU General Public License (GNU) 3.0 6%

6 BSD License 2.0 (3-clause, New or Revised) License 5%


7 Artistic License (Perl) 3%
8 GNU Lesser General Public License (LGPL) 2.1 3%

9 GNU Lesser General Public License (LGPL) 3.0 1%


10 Eclipse Public License (EPL) 1%

Prof. Jayakumar Sadhasivam, VIT, Vellore. 59


Top 20 licenses
Rank Open Source License %
11 Microsoft Public License 1%
12 Simplified BSD License (BSD) 1%
13 Code Project Open License 1.02 < 1%
14 Mozilla Public License (MPL) 1.1 < 1%
15 GNU Affero General Public License v3 or later < 1%

16 Common Development and Distribution License (CDDL) < 1%


17 Do What The Fuck You Want To Public License < 1%
18 Microsoft Reciprocal License < 1%

19 Sun GPL with Classpath Exception v2.0 < 1%


20 zlib/libpng License < 1%

Prof. Jayakumar Sadhasivam, VIT, Vellore. 60


Linux
๏ A Linux distribution has thousands of software Free!
๏ Linux is a complete, stable and reliable operating system
๏ Linux is powerful
๏ Linux has a complete development environment
๏ Linux is an ideal environment for servers
๏ It is easily upgradable
๏ It has lots of documentation
๏ More than 90% of current Linux source code is written by other
developers.
๏ Even Microsoft Contributes to Linux Kernel Development

Prof. Jayakumar Sadhasivam, VIT, Vellore. 62


Linux

Prof. Jayakumar Sadhasivam, VIT, Vellore. 63


Content Source: Internet

ank You !!
😎
Th
!

You might also like