Free software licenses are a natural choice
in a research environment. In the following, we will try to back this
simple statement with some considerations and examples, in an effort to
analyse the significant interactions between free software and research.
An appendix lists and describes the most
common terms used when speaking about software licenses and suggests
guidelines for choosing a free license.
Keywords: free software; research; academy; software licenses.
Free software is rooted in the concepts of freedom of speech and free exchange of information. In scientific environments, the latter concept is especially prized. Free and easy diffusion of information is generally regarded as one of the main forces behind the exceptionally fast growth of scientific knowledge over the last three centuries.
However, the freedom of exchanging ideas is not simply a practical matter: it lies at the base of the concepts of freedom of thought and freedom of expression. Just like ideas, software is immaterial, and can be easily reproduced and transmitted. Just like ideas, its growth and evolution benefit from free diffusion. And just like ideas, more and more software is involved in society, producing effects that are ethical, economical, political and in a general sense, cultural.
During the Eighties, Richard Stallman formalised the concept of free software for the first time. Stallman's definition [FSF] is widely recognised as the canonical definition of free software. It consists of four rules, the four freedoms:
Freedoms 1 and 3 require access to the source code. A program
released with a software license that grants the four freedoms is said
to be free software. Notice that
free in free
software refers to freedom, not price.
A software license is a legal document that accompanies a program. Without a software license, according to the provisions laid down within the Berne copyright convention, a program cannot be copied or modified without the explicit permission of the authors [Tem]. A free software license, on the other hand, allows you to study, copy, modify and release the modified program.
Most of the commonly used software licenses are proprietary licenses, i.e., they do not grant the four freedoms. They do not usually allow users to freely copy or modify the program. Often they do not even allow you to keep separate copies of the program on your desktop and laptop computers, make a trial copy on a colleague's computer, or keep a complete backup installation in case your main computer crashes. Since proprietary programs are typically distributed without the source code, they do not allow you to study how they work, improve them or adapt them to your needs.
Free licenses, on the other hand, do grant the four freedoms. Free licenses may be copyleft or non-copyleft.
A copyleft license is a free license that uses the copyright laws to do the opposite of what proprietary licenses usually do. While proprietary licenses prevent you from copying or modifying the program, a copyleft license is a free license that uses copyright laws to keep the program free. This can be explained by saying that the license is persistent. If you get a copylefted program and you want to redistribute it, either in modified or unmodified form, you must give the recipients the same rights you acquired when you received the program. A prerequisite for this is that you distribute the source code along with the program. The most widespread copyleft license is the GNU GPL.
A non-copyleft license is a non-persistent free license. If you get a non-copylefted program and you want to redistribute it, you are not bound to give the recipients the same rights you acquired when you received the program. Most non-copyleft free licenses allow you to make proprietary versions of the program, or even to just redistribute it verbatim using a different license, even a proprietary one. The most widespread non-copyleft license is the BSD license.
While the keywords free software and open source have gained widespread popularity, they are often misrepresented, giving rise to many false beliefs, even in specialised press and among technical experts. Here we will try to highlight and correct just a few of these.
From a practical standpoint Open Source and Free Software are one
and the same thing. In fact, apart from some minor licenses, the
open source licenses identified by the
Definition [OSI] are the same as the free
software licenses identified by the Free Software definition [FSF].
The difference lies in the principles that gave
rise to the two definitions: while free software is defined on the basis
of ethical and political reasons, open source is defined on the basis of
practicalities and convenience. In this document,
free software are used interchangeably, but the latter is
preferred because its definition is clearer and more concrete.
Strictly speaking, open source is a licensing model, not a development
method. Many open source advocates claim that the two are linked, but
this remains an opinion, and as such is debatable [Bez99]. Eric Raymond's famous essay
and the bazaar [Ray98] tries to draw a clear
line between centralised and distributed development methods. The
former is used for Emacs, the main editor of the GNU project, while the
latter is used for the Linux kernel. Raymond's conclusion is that the
distributed development method is inherently superior as far as big
projects are concerned, and that if you want to use distributed
development with a large scale project, you need an open source license.
However, the license and the development method used are largely independent issues, and they should not be confused. In fact, while it is true that distributed development methods can naturally be applied to open source projects, they are also used in the big software firms for developing proprietary programs. On the other hand, since centralised development is almost always easier to manage, it is widely used for open source projects, and is no stranger to proprietary programs.
Both statements are false, in general: there is no established
relationship between the license used and the quality of the software.
Free software has the potential for greater reliability because anyone
can study the source code, and
all bugs are shallow to a million
eyes, but this potentiality does not necessarily translate into
reality. The only case where a strong point can be made about the
technical superiority of free software is when dealing with security
software, such as cryptography or signature programs.
Neither of these statements in generally true, because, in most cases, the cost of software depends only partially on the license fees. Installation, training, maintenance, upgrading and customisation typically constitute a much greater portion of software costs, and there is no direct relationship between the license used and the expense needed. It is easy to name cases where free software can cost much more or much less than comparable proprietary solutions.
Neither is ever true. Free software must be distributed along with a software license that releases the standard copyright restrictions, that is, those established by the Berne international copyright convention. A copyleft license is a kind of free software license, and is founded on the copyright law.
No free software license forces you to do this. If you write free software for release to a restricted number of recipients, neither you nor the recipients are forced to release it further, whether modified or not. However, you cannot prevent the recipients from releasing the software, if they so wish.
Creating a community around a program requires much more than releasing it publicly as free software. On the one hand you are not obliged to manage a community every time you release a free program; on the other if you want to create a community you must build and nourish it: this is usually a difficult and time-consuming task, though it may be well worth the effort. Note than you can build a community around a proprietary program, but this is generally much more difficult.
Modern science is connatural with the free exchange of knowledge. All scientific research today relies heavily on a free and flowing exchange of information, in all possible forms: congresses, conferences, magazines, web sites, professor invitations, seminars, remote and face-to-face cooperation, common research projects are all considered essential features of the modern scientific environment. They enable the cross-fertilisation of ideas, open the minds of researchers, contribute significantly to the birth of new concepts, and form the foundations for the incremental improvement of results. Moreover, these features create a peer-to-peer network of mutual control that makes advancement of science outstandingly reliable — and nonetheless efficient — among the complex processes created by human civilisation.
Free software is a natural product of a research environment [Kel01]. The birth and development process of software has much in common with that of scientific ideas. Just like scientific research, software is improved by learning from others' results, a process which is much more efficient if the software source code is disclosed, similarly to disclosing the details of scientific findings.
Growth through the accumulation of results is common to scientific research and software. Isaac Newton said that if he had seen further, it was by standing on the shoulders of giants. Software development shows a similar pattern: most successful programs grow with time, they evolve and improve incrementally. Both in the research and software fields, open knowledge greatly helps the process, and this is only possible if modification is allowed.
Science is credible because in principle everyone can check its results. In order to make this principle applicable, researchers are encouraged to publish their results in a form that allows complete and accurate scrutiny by any independent third party, usually in the form of scientific papers detailing all the relevant points. This is similar to the way free software programs can gain credibility: by making their source code available, thus opening up to scrutiny by any third party.
Credibility and reliability come hand in hand. Scientific results are reliable because they are independently repeatable. A good scientific paper makes it possible to reproduce the results of an experiment, be it physical or conceptual, by disclosing enough details for independent researchers to reproduce the experiment and verify that the results are the same. Something similar happens for software, where the reliability of a program can be tested by making the source code available for inspection and recompilation on different machines and architectures.
With scientific research, cooperation is the name of the game. Research languishes without cooperation: it is a mental habit for researchers, who should, and generally do, find it natural to exchange ideas and results. A cooperative environment is as fertile for software development as it is for research: software developers find it easy and natural to exchange pieces of code and ideas, and can benefit from the work of others.
The production of free software can bring advantages in academia and generally in research environments, from a purely scientific production viewpoint in terms of published papers, from an image standpoint and from a business application perspective in terms of development.
Scientific research works involving or including free software implementations are naturally suited for publication, because:
Sporting a corpus of developed and published free software is convenient for research institutions because:
It is a common belief that, when going commercial, proprietary software is the safest option. However, free software offers many advantages with regard to the relationship between academia and business:
We argue that research institution involved in writing software should encourage researchers to use a free software license when releasing software written as part of their research.
In particular, publicly funded research should, as a general rule, disseminate the results produced in software form by publishing them with a free license, so that they can be freely studied, copied and modified. Such a policy would have a positive effect on some of the main objectives of publicly funded research by:
There are several ways to encourage free software production in scientific research institutions.
First and foremost, research project financing should normally require that the results of the research be published with a free software license. If no requirement is possible, the financing institution should clearly point out that the aim of the project is the advancement of public knowledge, and consequently the use of free software licenses is encouraged.
In addition to project financing institutions, all scientific institutions should have a policy that software produced with public funding should remain free. Whether the license should be persistent or not (copyleft or not) is a matter of discussion. Generally speaking, the advantage of a non-copyleft license is that it does not prevent embedding free software in a proprietary program, which makes things easier for the software industry, while the advantage of a copyleft license is that it forces the release of improvements as free software, thus enlarging the base of available free software.
When a research institution has a policy of financing and encouraging spinoffs, those who base their business on free software should be favoured with respect to the others, because business based on free software creates a healthy software business environment and promotes locally-based work.
From a purely academic point of view, writing and publishing free software should be regarded as a research achievement per se, analogous to publishing a research work by means of a paper in a journal. In order to make this possible, a network of software peer reviewing should be created, similarly to the current procedure adopted with the publishing of scientific papers. We advocate the setup of such a network, and we claim that published free research software should be peer reviewed in the same way that research articles are reviewed, and consequently should be similarly considered a research achievement.
Just as diffusing one's findings is highly prized in research community, diffusing software should also be equally valued. Research institutions should encourage this cultural process, by openly stating that publishing free software is as important as publishing other research results, and by using internal evaluation processes accordingly.
Just as authors and readers of scientific papers recognise the great value of disclosing the exact procedures described, they should recognise the need for reading and modifying the source of software described in such documents. This should be considered by publishers, editors and reviewers of scientific journals when evaluating a contribution.
I'd like to thank Prof. Piero Maestrini for his continued support and his ideas on advocating peer reviewing of software. I also thank Associazione software libero (<http://softwarelibero.it/>), for discussions and encouragement.
[Bez99] Open source development as a special type of academic research (critique of vulgar Raymondism), Nikolai Bezroukov, October 1999, First Monday, Vol. 4, N. 10.
[FSF] The Free Software Definition, Free Software Foundation, 1985 and continuously updated, <http://gnu.org/philosophy/free-sw.html>.
[Kel01] Free software/free science, Christopher M. Kelty, November 2001, First Monday, Vol. 6, N. 12.
[OSI] The Open Source Definition, Open Source Initiative, 1998 and continuously updated, <http://opensource.org/docs/osd>.
[Ray98] The cathedral and the bazaar, Eric S. Raymond, March 1998, First Monday, Vol. 3, N. 3.
[Tem] 10 Big Myths about copyright explained, Brad Templeton, 1994 and continuously updated, <http://www.templetons.com/brad/copymyths.html>.
Copyright © 2003,2005 Francesco Potortì
The most recent hypertext version with pointers to relevant web documents is available at <http://fly.isti.cnr.it/sl/fs-and-research> together with a PDF and a Postscript version.
Verbatim copying and distribution of this entire article is permitted in any medium, provided that this notice is preserved.