2. 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?
2 | Internal use only
3. 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.
3 | Internal use only
4. 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.
4 | Internal use only
5. 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.
5 | Internal use only
6. 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!
Hurd GCC GDB Emacs
Result
GNU
6 | Internal use only
7. 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!
7 | Internal use only
8. 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.
8 | Internal use only
9. 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.
9 | Internal use only
10. 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
10 | Internal use only
11. 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
11 | Internal use only
12. 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.
12 | Internal use only
13. 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
13 | Internal use only
14. 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.
14 | Internal use only
15. 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.
15 | Internal use only
16. 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.
16 | Internal use only
17. 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
17 | Internal use only
18. 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.
18 | Internal use only
19. Open Source Licenses
• Educational Community License • Mozilla Public License 1.0 (MPL)
• Eiffel Forum License
• Mozilla Public License 1.1 (MPL)
• Eiffel Forum License V2.0
• Eclipse Public License • NASA Open Source Agreement 1.3
• GNU General Public License (GPL)
• Naumen Public License
• GNU Library or "Lesser" General Public License
(LGPL) • Nethack General Public License
• Historical Permission Notice and Disclaimer • Nokia Open Source License
• IBM Public License
• OCLC Research Public License 2.0
• Intel Open Source License
• Jabber Open Source License Lucent Public License • Open Group Test Suite License
(Plan9)
• PHP License
• Lucent Public License Version 1.02
• Python license (CNRIPython License)
• MIT license
• MITRE Collaborative Virtual Workspace License • Qt Public License (QPL)
19 | Internal use only
20. 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.
20 | Internal use only
21. 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
21 | Internal use only
22. 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
22 | Internal use only
23. 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
23 | Internal use only
24. 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)
24 | Internal use only
25. 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.
25 | Internal use only
26. 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
26 | Internal use only
27. 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
27 | Internal use only
28. 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.
28 | Internal use only