You are on page 1of 60

Free and Open Source

Software
BASED ON THE BOOK “ UNDERSTANDING FREE AND OPEN SOURCE ”
AND WEB-BLOG “FREE AND OPEN SOURCE SOFTWARE, TOOLS &
CASE STUDIES”

UNDERSTANDING FREE AND OPEN SOURCE


Software Categorization
▪Free Software
▪ Respects and values users' freedom and community
▪ Freedom to run, copy, distribute, study, change and improve the software
▪ Source code available

▪Open Source Software


▪ Follow “open” standards of development and has its source code available to users.
▪ Focuses mainly on software’s betterment

▪Closed Source Software


▪ Source code readily available
▪ Development and modification done by a closed group of programmers

UNDERSTANDING FREE AND OPEN SOURCE


Software Categorization [Contd.]
▪Proprietary Software
▪ Privately owned
▪ Owner holds all the rights exclusively

▪Private Software
▪ Used by a closed group of users

▪Commercial Software
▪ Intended to earn monetary benefits to its owner

▪Public Domain Software


▪ Without any exclusive rights to anyone
▪ Equal rights are been given to anyone and everyone
▪ Can use in any ways without any restrictions and/or permissions

UNDERSTANDING FREE AND OPEN SOURCE


Software Categorization [Contd.]
▪Shared Source
▪ Sharing of the source code of the software, only

▪Freeware
▪ Distributed and used at free of cost and also allows free redistribution

▪Shareware
▪ Redistribution of the software but requires that certain fees to be paid to use it

▪ FOSS stands for Free and Open Source Software and is a mixture of concepts of Free Software and Open
Source software. It includes all that is either Free software or an Open Source software.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Philosophy

UNDERSTANDING FREE AND OPEN SOURCE


Problems With Traditional Commercial
Software
▪Source Code unavailability
▪Architectural support limitations
▪Rigid binaries with sub-optimal performance
▪Limited testing prone to bugs
▪Over-design flaws with inefficient execution flow
▪Product locking
▪Costly
▪Reduced competition and choice limitation.

UNDERSTANDING FREE AND OPEN SOURCE


Why Use Free And Open Source
Software?
▪Lower Cost
▪No Vendor/Product Lock-In
▪Faster Development
▪Flexibility
▪Stability
▪Security

UNDERSTANDING FREE AND OPEN SOURCE


FOSS History
▪1950s – Sharing of source code
▪1960s – Dedicated software development teams
▪ Cost included in hardware
▪ Closed source software due to competition

▪17 January 1969 , the turning point - the US government charged that bundled software was
anti-competitive
▪ Independent Companies started selling software directly
▪ Software remained closed source

▪1980 - The copyright law was extended to computer programs in the United States

UNDERSTANDING FREE AND OPEN SOURCE


FOSS History [Contd.]
▪1983 – GNU project by Richard Stallman
▪October 1985 - Free Software Foundation (FSF) started
▪1991 - Linus Torvalds released the Linux kernel, with its source code
▪1993 - FreeBSD and NetBSD were released as Free software
▪1995 - OpenBSD forked from NetBSD
▪1997 - Eric Raymond published an essay titled - The Cathedral and the Bazaar, which detailed
Free software models and its philosophies
▪1998 - Netscape Communicator Internet suite as Free software. The Open Source Initiative was
founded

UNDERSTANDING FREE AND OPEN SOURCE


Debian Free Software Guidelines
▪Free redistribution.
▪Inclusion of source code.
▪Allowing for modifications and derived works.
▪Integrity of the author's source code (as a compromise).
▪No discrimination against persons or groups.
▪No discrimination against fields of endeavor like commercial use.
▪The license needs to apply to all to whom the program is redistributed.
▪License must not be specific to a product.
▪License must not restrict other software.

UNDERSTANDING FREE AND OPEN SOURCE


DFSG Compatibility Tests
▪The Desert Island Test: Allows to legally change software and share the modifications
▪The Dissident Test: Any modifications done can be kept private and need not be shared with
anyone including the original developers
▪The Tentacles Of Evil Test: License must not take away any rights granted to its users under any
circumstances.

UNDERSTANDING FREE AND OPEN SOURCE


Software Freedom
▪Freedom to Use: A user should be allowed to use the software as she intends to
▪Freedom to Modify: Allows user to change the code of the software thereby modifying how
software works
▪Freedom to Distribute: A user may create copies of the software and distribute it.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Does Not Mean No-cost
▪FOSS can be sold commercially
▪FOSS supplementary services can be offered for certain fees
▪Revenue can be obtained from FOSS support services
▪Various FOSS business models that generate revenue

UNDERSTANDING FREE AND OPEN SOURCE


Zero marginal cost in FOSS
▪FOSS can be easily copied, reproduced, and transmitted over network allowing easy distribution
of the same.
▪FOSS sites and user communities allow easy sharing of FOSS works.

UNDERSTANDING FREE AND OPEN SOURCE


The Cathedral And The Bazaar
▪The Cathedral and the Bazaar, initially an essay and later a book, was written by Eric Raymond. It
depicts and compares two models of development - one which is privately developed and other
publicly.
▪It also argues why the publicly developed model is the better model of development in terms of
reliability and robustness under fast-changing conditions
▪The main observation by Raymond is referred to by him as Linus's Law which is "given enough
eyeballs, all bugs are shallow".
▪Raymond has identified such 19 rules from various software development efforts, each
describing attributes associated with good practice in open source software development.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS And Ethics - Personal Freedom
▪Freedom of choice
▪Right to make and control his personal choices and cannot be dictated for the same
▪FOSS allows users to control the software they use
▪FOSS allows the software to be modified and executed in any way possible
▪FOSS allows users to switch among different products of same software
▪FOSS conform to open standards

UNDERSTANDING FREE AND OPEN SOURCE


FOSS And Ethics - Education Ethics
▪Education is primarily meant to impart knowledge. Such education should not be incomplete, or
should allow ways for further exploration
▪Education is also meant to create free, strong, capable and an independent individual and
thereby free and strong society
▪Education using FOSS allows students to look into things and analyze things more deeply
▪FOSS creates an open mindset of sharing and co-operating
▪FOSS is that as such software are generally monetarily cheap or come at no-cost

UNDERSTANDING FREE AND OPEN SOURCE


FOSS And Ethics - State Ethics
▪State is of the people and by this very virtue should be controlled and managed by its people,
directly or indirectly. This extends to every aspect of the state including any hardware, software
and data of the state.
▪FOSS allows services to be created without any restrictions providing full control over the
resources of the state.
▪FOSS allows data to be easily transferred and processed in other software and their formats.
▪FOSS software can also be easily localized
▪Procured at very low cost to the public exchequer
▪FOSS software being open in nature, reveal what they do and what they do not

UNDERSTANDING FREE AND OPEN SOURCE


FREE SOFTWARE

UNDERSTANDING FREE AND OPEN SOURCE


Introduction
▪Free Software expression was coined by Free Software Foundation (FSF) which promotes the
universal freedom to study, distribute, create, and modify software.
▪It has permission for anyone to use, copy, and/or distribute, either verbatim or with
modifications.
▪The conditions mean that source code of the software should also be available with the
software.

UNDERSTANDING FREE AND OPEN SOURCE


Four Essential Freedoms
▪Freedom 0: The Freedom To Run The Program As You Wish, For Any Purpose.
▪Freedom 1: The Freedom To Study How The Program Works, And Change It So It Does Your
Computing As You Wish.
▪Freedom 2: The Freedom To Redistribute Copies So You Can Help Your Neighbour.
▪Freedom 3: The Freedom To Distribute Copies Of Your Modified Versions To Others.

UNDERSTANDING FREE AND OPEN SOURCE


Free Software Definition
▪Specifies the criteria for whether a particular software program qualifies as Free software and is
provided by the Free Software foundation.
▪The definition is specified in series of versions, each version detailing on a particular aspect of
Free software.

UNDERSTANDING FREE AND OPEN SOURCE


Free Software Foundation
▪It is a non-profit organization that champions for software freedoms of users and defend their
rights on software usage.
▪The FSF believes in users having control over technologies and the software that run these
technologies.
▪It was founded by Richard Stallman on 4th October 1985 in Massachusetts, USA, where it is also
currently based.
▪FSF promotes development and use of Free Software to secure the rights of computer users.

UNDERSTANDING FREE AND OPEN SOURCE


Free Software Foundation [Contd.]
▪The other main tasks of FSF include:
▪Maintains historic articles on Free software philosophy
▪Maintains Free Software Definition – a criteria for Free software
▪Sponsor the GNU Project – an endeavor to create and provide a Free operating system.
▪Promote important Free software development and provide development systems for GNU
software maintainers, including full email and shell services and mailing lists.
▪Sponsor Savannah - the source code repository and center for Free software development.
▪Maintains and defends copyrights over majority of the GNU operating system, and other Free
software.
▪Collect copyright assignments from individual software developers and corporations

UNDERSTANDING FREE AND OPEN SOURCE


Free Software Foundation [Contd.]
▪Maintains and publishes Free software licenses such as GNU General Public License (GNU GPL),
GNU Lesser General Public License (GNU LGPL), etc.
▪Campaigns for use Free software adoption and against proprietary software and related threats
to Free software such as Digital Restrictions Management (DRM), Software Patents and
Treacherous Computing.
▪Provide useful resources to the Free software communities such as FSF/UNESCO Free software
directory.

UNDERSTANDING FREE AND OPEN SOURCE


OPEN SOURCE
SOFTWARE

UNDERSTANDING FREE AND OPEN SOURCE


Introduction
▪The term "open source" was coined by Open Source Initiative (OSI) and refers to something that
is publicly available and can be modified by anyone.
▪Open Source software promotes the idea that all these should be publicly available and should
be developed in a collaboratively way.
▪Open source does not hide things and therefore allows independent unrelated entities to
develop in a collaborative way.
▪It is not just way of development but also an approach to development with an inclusive
attitude that encourages transparency.

UNDERSTANDING FREE AND OPEN SOURCE


Open Source Software
▪Open-source software (OSS) is computer software with its source code made available with a
license in which the copyright holder provides the rights to study, modify, and enhance the
software for any purpose.
▪The concept Open Source was introduced by Open Source Initiative (OSI), an organization
dedicated to open source development. It defines Open Source Software (OSS) as software with:
▪ Its source code available in the human readable format,
▪ Its development possible in collaborative way,
▪ Its distribution license complaint with OSI’s Open Source Definition (OSD)

▪The Open Source Definition is a document published by the Open Source Initiative, to decide
whether a software license can be labeled with the open-source certification mark

UNDERSTANDING FREE AND OPEN SOURCE


Open Source Distribution Criteria
▪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.
▪Source Code: The program must include source code, and must allow distribution in source code
as well as compiled form.
▪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.
▪Integrity of the Author's Source Code: The license may require derived works to carry a different
name or version number from the original software.
▪No Discrimination Against Persons or Groups: The license must not discriminate against any
person or group of persons.

UNDERSTANDING FREE AND OPEN SOURCE


Open Source Distribution Criteria
[Contd.]
▪No Discrimination Against Fields of Endeavor: The license must not restrict anyone from making
use of the program in a specific field of endeavor.
▪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.
▪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
▪License Must Not Restrict Other Software: The license must not place restrictions on other
software that is distributed along with the licensed software.
▪License Must Be Technology-Neutral: No provision of the license may be predicated on any
individual technology or style of interface.

UNDERSTANDING FREE AND OPEN SOURCE


Open Standards Requirement For
Software
▪No intentional secrets: The standard must not withhold any details necessary for interoperable
implementation
▪Availability: The standard must be freely and publicly available (e.g., from a stable web site)
under royalty-free terms at reasonable and non-discriminatory cost.
▪Patents: All patents essential to implementation of the standard must be licensed under royalty-
free terms for unrestricted use
▪No Agreements: There must not be any requirement for execution of a license agreement, Non-
disclosure agreement, grant, click-through, or any other form of paperwork to deploy
conforming implementations of the standard.
▪No OSR-Incompatible dependencies: Implementation of the standard must not require any
other technology that fails to meet the criteria of this requirement.

UNDERSTANDING FREE AND OPEN SOURCE


Open Source Initiative (OSI)
▪Open Source Initiative is an organization that promotes development and use of open source
software.
▪OSI encourages use of open source software by offering policy suggestions to politicians,
background to media, and business case-studies to executives.
▪The organization was founded in February 1998 by Bruce Perens and Eric S. Raymond.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS DEVELOPMENT

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Development Model
FOSS development model is similar to software development life cycle and happens in different
phases, viz., design, coding, building, and testing.
Each phase of development proceeds as follows:-
▪Design phase: Creates the blueprint and consequently architecture of the software product to
be developed.
▪Coding phase: Implements the software design to create running software.
▪Building phase: Links together compiled programs.
▪Testing phase: The code is inspected for bugs that may lead to errors.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Versioning
▪In FOSS, version number is made of three parts – major, minor and micro or patch and in this
order. The syntax of a software release title is:
<software-name>.<major-version-number>.<minor-version-number>.<micro-version-
number>.<file-extension>

UNDERSTANDING FREE AND OPEN SOURCE


Issue Handling In FOSS
The issue handling process or its lifecycle proceeds as follows:
▪Issue reporting by recording it in an issue tracking database; issue status - “opened”
▪Issue solving ; issue status - “working”
▪Committing changes; issue status - “delivered”
▪Integrating changes; issue status - “integrated”
▪Changes verified; issue status - “validated”
▪The issue raiser can now verify the solution and if not acceptable, may reopen the issue and
then the cycle is repeated

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Community Development
▪Development is generally done by a group of people who do not belong to or work for single
organization
▪Group of people collaborate over Internet via forums, discussion groups or special development
communication platforms
▪FOSS development thus follows a community driven development model
▪The community members can be divided into two broad categories of core and peripherals

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Project Role Types
The roles generally seen in communities are:
▪Project Leader / Lead developer
▪Designers
▪Programmers
▪Builders
▪Testers
▪Document Writers
▪Interface creators
▪Release managers
▪Active users

UNDERSTANDING FREE AND OPEN SOURCE


Participating In FOSS Development
To participate one has to do the following:
▪Identify a FOSS project or community to work with.
▪ Use the actual software if there is any working version available to understand its working,
operations and features.
▪ Read various manuals, documentation, FAQs, guidelines related to the project or the community.
▪ Browse related websites, discussion forums, wikis, etc.
▪Understand the code, or a part of it.
▪Know how a new member can contribute to it.
▪Identify a feature that needs to be added or a bug that needs correction.
▪ Connect with project members and communicate with them to identify where one can contribute.

UNDERSTANDING FREE AND OPEN SOURCE


Requirements For New FOSS Project
▪Specify well-defined, achievable objectives for the project.
▪ Create a strategy to accomplish these objectives.
▪Find like-minded members and create a community.
▪Place in necessary resources – hardware and software, rules and guidelines to work in project.
▪Establish communication channels to enable efficient communication among various project
contributors. This includes creating an official-website, mailing-list, chat rooms, blogs,
discussion- forum, etc.
▪Define roles and assign individuals to at least the senior position roles to have an organizational
set-up. The appointments should be on the basis of knowledge, experience and interests.
▪Select and apply appropriate FOSS license for the project.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS ECONOMICS AND
BUSINESS MODELS

UNDERSTANDING FREE AND OPEN SOURCE


Income Generation Opportunities
The possible ways of getting money from open source include:
▪Providing support services such as setup, customizing software.
▪ Selling a product under dual licenses – one commercial and other open-sourced.
▪ Selling accessories for open source products such as books, t-shirts, etc.
▪ Allowing trademarks FOSS products to be used by third party and earning from royalties.
▪ Creating certification programs for FOSS products and charging for same.
▪ Charging for regular updates to FOSS products.
▪ Providing training to staff to use FOSS products.
▪ Selling hardware with FOSS products.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Business Models
▪Support Sellers
▪ In this model the company open-sources its product but sells distribution, branding, and after-sale
services.
▪ Revenue is earned from media distribution, branding, training, consulting, custom development, and
post-sales support and other professional services.
▪Loss Leader
▪ A loss leader (also leader) is a pricing strategy where a product is sold at a price below its market cost to
stimulate sales of other more profitable goods or services.
▪Widget Frosting
▪ This model is followed by companies that sell hardware but use this open-source model for developing
software such as driver and interface code for their hardware.
▪ Revenue is generated from selling of hardware while software is open source to reduce its development
cost and time.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Business Models [Contd.]
▪Accessorizing
▪ In this model, the company generates revenues by selling accessories such as books, compatible
hardware, and other related physical items.

▪Software Franchising
▪ In this model a company sells franchisee license to allow others to create products and sell them under
the company’s brand name.

▪Software As A Service
▪ Here software is provided as a service to customers, the software itself is not distributed

▪“Sell It, Free It”


▪ In this model the company, initially distributes the product as proprietary and closed, but later converts
it to open-source.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS Business Models [Contd.]
▪Brand Licensing
▪ In this model, the company charges for the right to use its brand names and trademarks in derivative
products sold by other companies.

▪Partnering Funding Organization


▪ The company can have contractual arrangements with organization which can finance the open source
development.

▪Accepting Donations
▪ Here the company accepts voluntary donations for development and maintenance of open source
works.

UNDERSTANDING FREE AND OPEN SOURCE


Internationalization
▪Internationalization is a design process for creating constructs or structures that can be suitably
adapted to non-native environments.
▪It is not, however, the actual transformation to a foreign or non-native environment.
▪It provides only the framework for adaptation and not an adaptation by itself.

UNDERSTANDING FREE AND OPEN SOURCE


Localization
▪Localization is the process of actual adaptation of a software or product to a foreign or non-
native environment.
▪Thus localization embeds locale-specific or transforms components so that the software or
product is suited to work in a foreign or non-native environment.
▪Localization makes a product market ready.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS LICENSING

UNDERSTANDING FREE AND OPEN SOURCE


Copyright
▪It is a legal construct that grants exclusive rights, including intellectual rights of an original work,
to the creator or owner of the product.
▪These rights are generally guaranteed and protected by the copyright laws of land where the
work was created.
▪The rights remains granted with the owner unless explicitly granted or transferred to any other
entity.
▪And as the rights are “exclusive”, no other entity can exercise these rights on the said work
without obtaining the permission for the same from the owner.

UNDERSTANDING FREE AND OPEN SOURCE


Copyright [Contd.]
▪Several exclusive rights typically attach to the holder of a copyright are:
▪ to produce copies or reproductions of the work and to sell those copies including, electronic copies
▪ to create derivative works (works that adapt or modify the original work)
▪ to perform or display the work publicly
▪ to transmit or display by radio or video
▪ to import or export the work
▪ to sell or cede these rights to others

UNDERSTANDING FREE AND OPEN SOURCE


Copyleft
▪Copyleft is a concept of making any work Free and requiring all modified and extended versions
of the work to be Free as well.
▪Copyleft grants rights to other people such that those rights are not subsequently taken away
from the grantor.
▪It guarantees that if a copylefted work is redistributed (after modifications), then the creator of
original work gets the same rights on the redistributed work as granted with the copyleft license
of the original work.

UNDERSTANDING FREE AND OPEN SOURCE


License
▪License is the permission or right granted to engage in some act without which the act might be
considered unlawful.
▪It also refers to the document that specifically describes these permissions and rights.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS License
▪A Free and open-source license is a type of license for computer software and other products
that allows the source code, blueprint or design to be used, modified and/or shared under the
defined terms and conditions.
▪This allows end users to review and modify the source code, blueprint or design for their own
customization, curiosity or troubleshooting needs.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS License - BSD license
▪The BSD license is actually a family of permissive Free software licenses and imposes minimal
restrictions on the redistribution of covered software.
▪It is unlike a copyleft license that requires same rights to be extended in any derivation of the
licensed software.
▪A BSD license begins as
“Copyright (c) <YEAR>, <OWNER>
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:”

UNDERSTANDING FREE AND OPEN SOURCE


FOSS License - Apache License
▪The Apache License is a permissive Free software license written by the Apache Software
Foundation and was first published in 2004.
▪It allows the user rights to use the software for any purpose, modify, distribute, under the terms
of the license.
▪The distribution can be without having to pay any royalties to the original work creators. It is
however not a copyleft license - it does not require that rights granted by the original open
source work are also extended as it is, in any of its derived works.
▪The license is similar to BSD license. The license begins as
“Copyright (c) 2000 The Apache Software Foundation.
All rights reserved.”

UNDERSTANDING FREE AND OPEN SOURCE


FOSS License - GNU General Public
License
▪The GNU General Public License (GNU GPL or GPL) is a Free software license (or series of it)
published by the Free Software Foundation (FSF).
▪Use of this license, guarantees user of the licensed program the rights define in Free Software
Definition, i.e., - to run, study, share (copy), and modify the software. It protects the three main
articles of software freedom.
▪It allows developers to share their work with others and continue development of it even after
sharing it, without fear of their work getting “privatized”.

UNDERSTANDING FREE AND OPEN SOURCE


FOSS License - GNU Lesser General
Public License
▪The GNU Lesser General Public License (LGPL) is a Free software license published by the Free
Software Foundation (FSF).
▪It allows proprietary code to be integrated with the LGPL code without having to release the
source code of proprietary works.
▪A LPGL licensed Application Programs Interface (API) library or Dynamic Linked Library (DLL)
could be integrated with a proprietary application.

UNDERSTANDING FREE AND OPEN SOURCE


Patent
▪A patent is a limited exclusive right that the government gives inventors in exchange for their
agreement to share details of their inventions with the public.
▪Patents are granted with intent to prevent others from commercially making, or selling, a
patented entity without the permission of the patent holder.
▪This is done to allow inventor or patent holder to reap benefits and/or generate profits out of
efforts, and resources invested in creating the patented invention.
▪If such rights not protected by law, then any other entity can copy works of publicize works and
generate profit without any efforts, discouraging any further inventions; this could be
detrimental to the growth of society.

UNDERSTANDING FREE AND OPEN SOURCE


Trademark
▪A trademark is a recognizable sign, design, or expression which identifies products or services of
a particular source (generally owner of trademark).
▪A trademark is generally a name, word, phrase, logo, symbol, design, image, or a combination of
these.
▪A trademark may be located on a package, a label, a voucher, on the product itself or on
company buildings.
▪The trademark owner can be an individual, business organization, or any legal entity.
▪Trademarks used to identify a service are usually called service marks.

UNDERSTANDING FREE AND OPEN SOURCE


Understanding Free and Open Source
Notes of these presentation are from the book “Understanding Free and Open Source” and blog
http://fossw.blogspot.com/
The book “Understanding Free and Open Source” is intended to provide basic understanding of
what is Free and Open Source. It explains the fundamental terms and theory of variety of Free
and Open Source domains such as software, hardware, education, media, government etc. Free
and Open Source philosophy, development models, licenses and business models are also
covered in the book.
The book “Understanding Free and Open Source” is available to buy on Amazon here

UNDERSTANDING FREE AND OPEN SOURCE

You might also like