Unveiling Design Patterns: A Visual Guide with UML Diagrams
The Free Software Movement
1. The Free Software Movement
Efstathios Foulidis
Ioannis Tsiombikas
akis@member.fsf.org
nuclear@member.fsf.org
The Free Software Movement – p. 1
2. The Free Software Movement
Topics:
• The GNU Project
• Free Software Definition
• Software Categories
• Licenses - Copyleft - GNU GPL
• Ethical Issues and Technical Advantages
The Free Software Movement – p. 2
3. The GNU Project
What’s GNU? GNU’s NOT UNIX!
History Background:
The Free Software Movement – p. 3
4. The GNU Project
What’s GNU? GNU’s NOT UNIX!
History Background:
• The First Software-Sharing Community
The Free Software Movement – p. 3
5. The GNU Project
What’s GNU? GNU’s NOT UNIX!
History Background:
• The First Software-Sharing Community
• GNU Software and the GNU System
The Free Software Movement – p. 3
6. The GNU Project
What’s GNU? GNU’s NOT UNIX!
History Background:
• The First Software-Sharing Community
• GNU Software and the GNU System
• Copyleft and the GNU GPL
The Free Software Movement – p. 3
7. The GNU Project
What’s GNU? GNU’s NOT UNIX!
History Background:
• The First Software-Sharing Community
• GNU Software and the GNU System
• Copyleft and the GNU GPL
• The Free Software Foundation
The Free Software Movement – p. 3
8. GNU and Linux
Many users run actually a GNU system on their
computer without realizing it.
Linux is not an operating system, is a kernel. A
program that allocates resources for other programs to
run.
Be fully aware of the distinction between the kernel,
which is Linux, and the whole system, which is the
“GNU/Linux”.
The Free Software Movement – p. 4
9. Free Software Definition
‘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”.
Free Software is a matter of the users freedom to run,
copy, distribute, study, change, and improve the
software.
Sometimes companies use the term “free software” to
refer to price. Always check the distribution terms of
the product.
The Free Software Movement – p. 5
11. Free Software Definition
A program is free software when you have:
• The freedom to run the program, for any purpose
The Free Software Movement – p. 6
12. Free Software Definition
A program is free software when you have:
• The freedom to run the program, for any purpose
• The freedom to study how the program works, and
adapt it to your needs (Access to the source code
is a precondition for this)
The Free Software Movement – p. 6
13. Free Software Definition
A program is free software when you have:
• The freedom to run the program, for any purpose
• The freedom to study how the program works, and
adapt it to your needs (Access to the source code
is a precondition for this)
• The freedom to redistribute copies so you can help
your neighbor
The Free Software Movement – p. 6
14. Free Software Definition
A program is free software when you have:
• The freedom to run the program, for any purpose
• The freedom to study how the program works, and
adapt it to your needs (Access to the source code
is a precondition for this)
• The freedom to redistribute copies so you can help
your neighbor
• The freedom to improve the program, and release
your improvements to the public, so that the whole
community benefits (Access to then source code is
a precondition for this)
The Free Software Movement – p. 6
15. Software Categories
• GPL-Compatible Free Software Licenses
• GPL-Incompatible, Free Software Licenses
• Non-Free Software Licenses
The Free Software Movement – p. 7
16. Free Software and Open Source
The Free Software movement and the Open Source
movement are two seperate movements. The term
“open source” has different approach and philosophy.
The fundamentals differences between the two
movements is in their values. For the Open Source
movement, the issue of whether software should be
open source is a practical question and not an ethical
one.
People should distinguish those two terms. Avoid
using the word “open” to describe free software.
The actual enemy is proprietary software.
The Free Software Movement – p. 8
17. Copyleft
What is Copyleft ?
Copyleft is a method for making the program free, and
requiring all modified versions to be free as well. Is a
general concept. The GNU Project uses the GNU
General Public License to describe the terms under
the software will be, and remain free.
Instead of putting software in the public domain,
“copyleft” it.
Copyleft guarantees that all the users have freedom
when the software is being redistributed.
The Free Software Movement – p. 9
18. GNU GPL
GNU General Public License, or GNU GPL, is a free
software license.
GPL is intended to guarantee your freedom to share
and change free software, and to make sure the
software will remain free for all the users.
GPL is designed to make sure that you have the
freedom to distribute copies of free software (and
charge for this service if you wish), that you receive
source code or can get it if you want it, that you can
change the software or use pieces of it in new free
programs.
The Free Software Movement – p. 10
19. GNU LGPL and GNU FDL
The GNU Lesser General Public License, formerly
called Library GPL, is used by a few GNU libraries.
Using the LGPL license you permit usage of a library
from a proprietary program. It is a matter of strategy
and it depends from the situation.
The GNU Free Documentation License is a form of
copyleft intended for use on a manual, textbook or
other document to assure everyone the effective
freedom to copy and redistribute it.
The Free Software Movement – p. 11
20. GNU GPLv3
The 3rd version of the GNU Geleral Public License is
expected to be released at January of 2007.
Major Changes:
• Protection for redistributing software
• DRM protection - Ensure Modification
• Compatibility with other free software licenses
Visit http://gplv3.fsf.org/ to contribute and make
comments on GPLv3, and also receive information on
the GPLv3 drafting process.
The Free Software Movement – p. 12
21. Ethical Issues
Why software should be free?
Restrictions on the distribution and modification of the
program cannot facilitate its use.
• Fewer people use the program
• None of the users can adapt or fix the program
• Other developers cannot learn from the program,
or base new work on it
Programming is fun.
The Free Software Movement – p. 13
22. Ethical Issues
Why software should not have owners?
The system of copyright gives the software programs
“owners”, most of whom aim to withhold software’s
potential benefit.
Several kinds of arguments from owners like, “piracy”,
“intellectual property”, “theft” etc., is way for giving
them the power to control how we can use information.
Society needs programs that people can read, fix,
adapt and improve and not just operate. When a
program has an owner, the users lose freedom.
The Free Software Movement – p. 14
23. Technical Advantages
Free Software is more reliable!
Free software gets the whole community involved in
working together to fix problems. Users not only report
bugs, they even fix bugs.
Developers really care about reliability. Free software
packages compete for a good reputation. Also, a
programmer who makes the source code available for
all to see, puts his reputation on the line.
The Free Software Movement – p. 15
24. The Free Software Movement
http://www.fsf.org
http://www.gnu.org
Thank you.
The Free Software Movement – p. 16