Next: Case study of a
Up: What is open source
Previous: General idea of open
  Contents
Open source software licences
With the current legal framework, the licence under which a program
is distributed defines exactly the rights which its users have over
it. For instance, in most proprietary programs the licence withdraws
the rights of copying, modification, lending, renting, use in
several machines, etc. In fact, licences usually specify that the
proprietor of the program is the company which publishes it, which
just sells restricted rights to use it.
In the world of open source software, the licence under which a program is
distributed is also of paramount importance. Usually, the conditions
specified in licences of open source software are the result of a
compromise between several goals which are in some sense
contradictory. Among them, the following can be cited (see
[2] for a more
complete discussion on this topic):
- Guarantee some basic freedoms (redistribution, modification, use)
to the users.
- Ensure some conditions imposed by the authors (citation of the author
in derived works, for instance).
- Guarantee that derived works are also open source software.
Authors can choose to protect their software with different licences
according to the degree with which they want to fulfill these
goals, and the details which they want to ensure. In fact,
authors can (if they desire)
distribute their software with different licences through different
channels (and prices)9Therefore, the author of a program usually chooses very carefully
the licence under which it will be distributed. And users, especially
those who redistribute or modify the software, have to carefully
study its licence.
Fortunately, although each author could use a different licence for
her programs, the fact is that almost all open source software uses one of
the common licences (GPL, LGPL, Artistic, BSD-like,
MPL, etc.), sometimes with slight variations. To simplify
things even more, some organizations have appeared recently
which define which characteristics a software licence should
have to qualify as an open source software licence. Amongst them, the two most
widely known are the Debian Project, which defines the Debian Free
Software Guidelines (DFSG, see
appendix A.1), and the Open Source
Initiative (OSI),
which defines ``open source''
licences[10], and is
based on the DFSG.
The GNU Project also provides its own definition of
free software[4].
It is easy to see from the DFSG that price or availability of source code in
itself is not enough to characterize a product as ``open source software''. The
significant point lies in the rights given to the community, to freely
modify and redistribute the code or modifications of them, with only the
restriction that these rights must be given to all and must be non-revocable.
The differences between open source licences lie usually in the
importance that the author gives to the following issues:
- Protection of openness. Some licences insist in that any
redistributor maintains the same licence, and hence, recipient's
rights are the same, whether the software is received directly from
the author, or from any intermediary part.
- Protection of moral rights. In many countries, legislation
protects some moral rights, like acknowledgement of authorship. Some
licences also provide protection for these matters, making them
immune to changes in local legislation.
- Protection of some proprietary rights. In some cases, the
``first author'' (the party that originally made the piece of
software) have some additional rights, which in some sense are a
kind of ``proprietary'' rights.
- Compatibility with proprietary licences. Some licences are
designed so that they are completely incompatible with proprietary
software. For instance, it can be forbidden to redistribute any
software which is a result of a mix of software covered
by the licence with any kind of proprietary software.
- Compatibility with other open source licences. Some open source
licences are not compatible with each other, because the conditions of
one cannot be fulfilled if the conditions imposed by the other are
satisfied. In this case, it is usually impossible to mix software
covered by those licences in the same piece of software.
Some of the more common open source software licences are as follows:
- BSD (Berkeley Software Distribution). The
BSD licence covers, among other
software, the BSD (Berkeley
Software Distribution) releases. It is a good example
of a ``permissive'' licence, which
imposes almost no conditions on what a user can do with the
software, including charging clients for binary distributions, with
no obligation to include source code. In summary, redistributors
can do almost anything with the software,
including using it for proprietary products. The authors only want
their work to be recognized. In some sense, this restriction ensures
a certain
amount of ``free marketing'' (in the sense that it does not cost
money). It is important to notice that this kind of licence does not
include any restriction oriented towards guaranteeing that derived works
remain open source. This licence is included verbatim in
appendix A.2.
- GPL (GNU General Public License). This is the
licence under which the software of the GNU project
is distributed. However, today we can find a great deal of software
unrelated to the GNU project, but nevertheless distributed under GPL (a notable
example is
the Linux kernel). The GPL was carefully designed to promote the production
of more free software, and because of that it explicitly forbids
some actions on the software which could lead to the integration of
GPLed software in proprietary programs. The GPL is based on the
international legislation on copyright10, which ensures its enforceability.
The main characteristics of the GPL are the following:
it allows binary redistribution, but only if source code
availability is also guaranteed;
it allows source redistribution (and enforces it in case of
binary distribution);
it allows modification without restrictions (if the derived work is
also covered by GPL); and
complete integration with other software is only possible if that
other software is also covered by GPL.
This is not the case with LGPL (GNU Lesser General Public
License), also used in the GNU project, which allows for integration
with almost any kind of software, including proprietary software.
The GPL is included verbatim in appendix A.4.
More details about the reasons and implications of the GPL are
available in [23].
- MPL (Mozilla Public License). This is the licence made
by Netscape to distribute the code of Mozilla, the new version of it
network navigator. It is in many respects similar to the GPL, but
perhaps more ``enterprise oriented''.
Other well-known licences are the Qt licence (written by Troll-Tech, the
authors of the Qt
library), the Artistic licence (one of the licences under which Perl
is distributed), and the X Consortium licence (see
appendix A.3).
Footnotes
- ... prices)9
-
For instance, there are authors that decide to distribute their
software under a licence which guarantees the derived works will
be open source software too. However, in some cases, they sell that same
software to companies interested in keeping derived works
proprietary under a different licence which allows it.
- ... copyright10
-
This is the case of all software licences, including open source
licences. However, the GPL makes an
interesting use of this legislation, since it is here used to promote
the distribution of software
which guarantees far more freedom to the user than usual copyrighted
works do. Therefore, some times the software covered by GPL is said
to be ``copylefted'', an interesting word game.
Next: Case study of a
Up: What is open source
Previous: General idea of open
  Contents
Jesus M. Gonzalez-Barahona
2000-04-24