introduction to foss
DESCRIPTION
Introductory session for Free and Open Source SoftwareTRANSCRIPT
1 | Internal use only
Introduction to FOSS
Presented By: Islam Wazery
2 | Internal use only
Agenda
• What's FOSS?
• Pre-history
• History
• GNU Project
• FSF and FOSS Licences
• OSI Licences
• Free software vs. Open Source
• Why use FOSS?
• Famous FOSS projects
• FOSS in the Industry
• Why people contribute to FOSS?
3 | Internal use only
What is FOSS?
• FOSS stands for Free and Open Source Software
• Free as in freedom, not necessarily price
• FOSS is an inclusive term which covers both free software
and open source software which are usually the same,
but the motivations are different, we will discuss the
difference later on.
• Their are alot of Alternative terms for free software like
FOSS or F/OSS or FLOSS.
4 | Internal use only
Pre-history
• In the early days of computing, software was free.
• Free as in freedom, not necessarily price
• Source code was easily accessible.
• A “Hacker” is:
– Someone who loves to program and enjoys being clever
about it.
• In the early eighties, software companies began to restrict
access to the source code of their software.
5 | Internal use only
How it was all started?
• No restrictions on software till late 1970s
• Angry with the increased restrictions imposed on access to
source code, Richard Stallman, an engineer at MIT AI
lab, decided to take action.
• Stallman wanted to preserve what he believed is a natural
human right: freedom.
• The GNU Project was born. Richard Stallman founded the
Free Software Foundation and the GNU project in 1983.
6 | Internal use only
The GNU Project
• Stallman decided to build a new operating system that mimics the functionality of UNIX, but with one
major difference, it will stay free!
• The new OS name was derived from a hacker tradition: “GNU is Not Unix”.
• Development of GNU was initiated by Richard Stallman in 1983.
• An OS contains several components: Kernel, Text Editors, Compilers, etc.
• In September 1984, Stallman started the development of the Emacs text editor.
• GDB debugger was first written by Richard Stallman in 1986 as part of his GNU system
• GCC 1.0 was released in 1987, and the compiler was extended to compile C++ in December of that year.
• GNU Hurd kernel: which has been under development since 1990!
GNU
EmacsGCCHurd GDB
Result
7 | Internal use only
The Free Software Foundation (FSF)
• The GNU Project was growing, many people started to
participate and to develop free software.
• The growth required funding to keep the momentum going.
• The Free Software Foundation (www.fsf.org) was established in
1985.
• FSF employees have written a number of GNU software
packages.
• In 1990, GNU was almost complete, the only missing
component was the kernel!
8 | Internal use only
Alix, Hurd and Linux
• Stallman intended to develop a kernel for the GNU operating system
which was to be named after his sweetheart at the time: Alix.
• However, it was agreed that Hurd would be a more suitable name.
• Hurd stands for HIRD of Unix-replacing daemons, where HIRD stands for
HURD of interfaces representing depth!!
• During the early stages of the kernel development, another event was
underway in a different part of the world: Linus Torvalds was building
the Linux kernel.
9 | Internal use only
Linux Kernel
• In 1991, Linus Torvalds, a student at the University of Helsinki in
Finland, released the source code for a very simple OS kernel
he developed under the GPL.
• Shortly after, many developers showed interest in the new born
kernel and started contributing to its development.
• But remember, Linux is only a kernel!
• Stallman and the folks at the FSF decided to adopt Linux as the
kernel of the GNU OS, which will be known from now on as
GNU/Linux.
10 | Internal use only
FOSS Licences
• What grants that GNU will be free?– To preserve the freedoms that accompany any piece of free software, and to prevent the
misuse of these software, a legal structure was required. So, we need licences that
grants that.
• Hundreds of licences are available for FOSS
• FSF-approved licenses:
http://www.gnu.org/licenses/license-list.html
• OSI-approved licneses: http://opensource.org/licenses
• Most licences are approved by both.
• We'll concentrate on GPL, LGPL, and BSD licences
11 | Internal use only
FSF Licence: GPL
• GPL stands for General Public License
• The GPL is a smart hack to use the traditional copyright
law to serve an opposite purpose.
• This method is called “Copyleft”.
– Most famous, and most commonly used
– Grants most freedoms for users
– Most demanding in terms of guaranteeing those freedoms
– Not very enterprise-friendly
– Guarantess project-viability nevertheless
– There are alot of versions for GPL; 1.0, 2.0, 3.0, LGPL, AGPL
12 | Internal use only
GPL Freedoms
• Basic freedoms in Free Software:
– Freedom 0 to run the program, for any purpose.
– Freedom 1 to study how the program works, and change it to make it
do what you wish. Access to the source code is a precondition for
this.
– Freedom 2 to redistribute copies so you can help your neighbour.
– Freedom 3 to improve the program, and release your improvements
(and modified versions in general) to the public, so that the whole
community benefits. Access to the source code is a precondition
for this.
13 | Internal use only
FSF Licence: LGPL
• LGPL stands for Lesser General Public Licence
– Modified version of GPL
– Almost the same as GPL with less restrictions
– Designed mainly to be a licence for libraries
– Allows non-free applications to link against the LGPL-
licences software
14 | Internal use only
Free Beer vs. Free Speech
• "Free software is a matter of liberty, not price. To understand the
concept, you should think of free as in free speech, not as in free
beer."
– —Richard Stallman
• Free Beer is just like the freware which is given to you at no cost; like
Adobe Flash. But you can't access its source code.
• Free Speech is the free software which usually is licensed under GPL
and the libre part of it is that you must have the 4 freedoms.
15 | Internal use only
The Open Source Initiative (OSI)
• The semantic confusion implicit in the use of the term “Free”
scared businesses and software companies as they believed
that it means “No Cost” or “Free Beer”.
• This was considered a hindrance to the growth and potential of
Free Software.
• In 1998, Linus Torvalds, with a handful of other prominent Free
Software developers (including Eric Raymond and Bruce
Perens, decided to address this issue.
• The Open Source Initiative was born.
16 | Internal use only
The Open Source Initiative (OSI) (2)
• The Open Source Initiative (www.opensource.org) is based
on a bill of rights for computer users called the Open
Source Definition (OSD).
• OSI reviews different licenses for compliance with the
OSD, and if compliant, the licenses will be approved as
Open Source licenses. Examples: MPL, BSD, MIT.
• As of the 1st of May 2007, OSI has approved 58 licenses.
17 | Internal use only
OSI licence: BSD Licence
• BSD Licence was first used by BSD OSs
– Less restriction on derived works
– BSD network stack modified and closed by Microsoft in
NT systems due to the relaxed restrictions
– Can be regarded as more enterprise-friendly
– Not FSF-approved but OSI-approved
18 | Internal use only
Dual Licencing
• Some companies choose to release their software
with multiple licences
• This way they can leverage having a diverse developer
community, yet also have the perceived benefits of
closed-source distribution and licencing
• Example– Until recently, Qt – a C++ GUI library – had an open source edition released under the GPL,
and a commercial edition that contains additional libraries -e.g. Libraries to access
commercial DBs such as Oracle and MS SQL, which are not covered under the GPL.
19 | Internal use only
Open Source Licenses• Educational Community License
• Eiffel Forum License
• Eiffel Forum License V2.0
• Eclipse Public License
• GNU General Public License (GPL)
• GNU Library or "Lesser" General Public License
(LGPL)
• Historical Permission Notice and Disclaimer
• IBM Public License
• Intel Open Source License
• Jabber Open Source License Lucent Public License
(Plan9)
• Lucent Public License Version 1.02
• MIT license
• MITRE Collaborative Virtual Workspace License
• Mozilla Public License 1.0 (MPL)
• Mozilla Public License 1.1 (MPL)
• NASA Open Source Agreement 1.3
• Naumen Public License
• Nethack General Public License
• Nokia Open Source License
• OCLC Research Public License 2.0
• Open Group Test Suite License
• PHP License
• Python license (CNRIPython License)
• Qt Public License (QPL)
20 | Internal use only
Free vs. Open Source
• The distinction between Free Software and Open Source Software should be clearly
noted.
• Free Software is any software that is distributed under the GNU General Public
License (GPL).
– Free software movement (Free software foundation) is more concerned with
user's freedoms.
• Open Source is any software that is distributed under any of the licenses approved
by the OSI, including the GPL.
– Open Source is more about the shareability of the code. More enterprise-
friendly.
• The Open Source initiative allows more flexibility in defining the licensing terms.
• BSD license is regarded as non-free, yet open source. So that BSD is not FSF-
approved but OSI-approved.
21 | Internal use only
Free vs. Open Source (2)
• Open Source Definition– Free Redistribution
– Access to source code
– Permitting Derived Works
– Integrity of The Author's Source Code
– No Discrimination Against Persons or Groups
– No Discrimination Against Fields of Endeavor
– Distribution of License
– License Must Not Be Specific to a Product
– License Must Not Restrict Other Software
– License Must Be Technology-Neutral
22 | Internal use only
Distributions
• A Linux distribution is a collection of the Linux kernel, one or more of the desktop
environments available like Gnome and KDE styled in a specific way, some pre
installed packages … etc.
• Such distributions (often called distros for short)
• Because most of the kernel and supporting packages are free and open source
software, Linux distributions have taken a wide variety of forms
• Each distro have a goal; some want to be simple, some are made for server … etc.
• Ubuntu is JUST a Linux distro which its goal is: ”To create an easy-to-use (freedom
for users rather than freedom for programmers) Linux desktop with new releases
scheduled on a predictable six-month basis, resulting in a more frequently
updated system.”
• For Comparison on Linux distros see: http://bit.ly/NsfuQ
23 | Internal use only
Famous FOSS projects
• Linux kernel
– 4 March 2011 - Linux 2.6.38 was released (14,294,439 lines of code).
Source: http://bit.ly/eEyWe2
• Apache Web server
– As of February 2011 Apache served over 59.13% of all websites and more
than 66.62% of the million busiest. Source: http://bit.ly/fOjC0M
• OpenJDK
• BSD operating systems (not Free but Open Source)
• Eclipse
• PHP
• Mozilla Firefox
24 | Internal use only
Why use FOSS?
• The availability of the source code.
• The right of code modification, improvement and redistribution.
• No black box.
• Have an alternative.
• Low cost software (TCO).
• Free marketing and support for your project.
• Quick improvement.
• Large base of developers and users.
• Decreased number of open defects. (We should report bugs)
25 | Internal use only
Why use FOSS? (2)
For you - as a student - FOSS is an immensly benficial educational tool.
Suggestion: A good idea is to integrate it within our educational curricula.
26 | Internal use only
FOSS in The Industry
• Linux represents 12.7% of the overall server market share.
Source: http://bit.ly/ffcOQN
• Other estimates 60% share of the server market Source: http://bit.ly/9544md
• Netcraft reported in September 2006 that eight of the ten
most reliable internet hosting companies ran Linux
distributions on their web servers.
• Nevertheless, Linux has a great market share of
Supercomputers, cloud computing providers, and embedded
devices
27 | Internal use only
FOSS in The Industry (2)
• Mozilla Firefox has celebrated a billion downloads on July
2009.
• Reported to have more than 20% of the market share
– Source: http://bit.ly/X1eL
28 | Internal use only
Why people contribute to FOSS
• Most of OSS developers are paid, one way or another.
• Peer-recognition
• Personal Learning
• Use in personal projects
• Companies invest in the project to deliver it to a customer
• Provide training and support.
29 | Internal use only
Why people contribute to FOSS
You should contribute too! ;)
30 | Internal use only
Questions?
31 | Internal use only
Thank You! :)