2011-02-27
Open Source is more than having access to the source code, and Free Software is more than getting it for free - but just what is it? :)
There are several definitions [note A] but it can be summarized in four basic principles:
Applications that matches these 4 principles are free software/open source. Applications that do not match any of these 4 principles are proprietary (you can also find "privative" and "non-free").
We can deduce a few immediate consequences: it can be used
commercially (P0); the user cannot be denied a
specific use (P0 - e.g. Oracle could not forbid people from
publishing benchmark results as it currently does [note B]);
spyware and trojans are much more difficult to hide (P1); copies
can be made at any price (P2 - but nobody can forbid people from
distributing cheaper or gratis copies).
Point (3) is quite interesting, because this fosters
collaboration and team work, resulting in a
win-win situation (you share yours improvements with other
contributors, and you get other contributors improvements as
well).
So what about the "source"? The "source code" (see wikipedia) is a requirement for points 1 and 3. It is strictly necessary for studying or improving an application. Without the source code, an application is essentially a black box - what ex-RedHat's CEO Bob Young called "a car with the hood welded shut".
Of course, the user may not have the technical skills to the
changes directly - but (s)he can hire a programmer to do the job,
or even team up with other users to share the cost. The difference
with proprietary applications is that users can
choose any programmer or company - not only the
original author.
Also, skilled people may inspect the source code and warn all
other users if they find a security or privacy issue. By analogy,
not everybody is an accountant, yet it's important that State
accounts are made public.
A simple access to the source code is not enough though: it
comes with a copyright license. There are lots of
licenses, in 2 big families.
Permissive licenses (such as the Modified BSD and the Apache Software
License) match the 4 points above, but derived versions may be
non-free. This means there's a risk that a person or company turn
an open source project into a proprietary one. For instance, IBM
HTTP Server is proprietary and derived from the open source Apache
HTTP Server [note C]. Other examples include the X11 window system
(X11 license) and the Symphony framework (MIT license).
Copyleft licenses (such as the GNU GPL
and the Mozilla Public License) also match the 4 points above,
and derived versions must remain open source. For instance, the GCC
/ GNU Compiler Collection, which is one reason why Apple's
"Objective C" addition to GCC was made open source [note D]. Let's
also name the Linux kernel (GPL), Firefox (GPL/LGPL/MPL
tri-license) and the Drupal CMS (GPL).
Once you have the source code for an application and the freedoms to use, modify and redistribute it, this application is truly open source / free software with its benefits of sustainability, security and free market.
Notes:
[A] The most well-known definitions are:
[B] See:
[C] IBM HTTP / Apache Server - "Unlike Apache, IBM does not ship the source code for the IBM HTTP Server"
[D] Copyleft: Pragmatic Idealism - GNU
Project
Copyright (C) 2011 Sylvain Beucler
Copying and distribution of the file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.