What is Free Software?
Free software is a question of freedom, not price. To understand this concept, we must think in the meaning of free as in freedom of expression and not as in open bar of beer. By free software we mean the freedom of users to run, copy, distribute, study, change and improve the software. We are referring especially to four kinds of freedom for software users.
The four basic freedoms are:
Freedom 0: the freedom to run the program, whatever our purpose.
Freedom 1: the freedom to study how the program works and adapt it to your needs — access to the source code is a prerequisite for this.
Freedom 2: the freedom to redistribute copies to help your neighbor.
Freedom 3: the freedom to improve the program and then publish it for the good of the whole community — access to the source code is a prerequisite for this.
Free software is any program whose users enjoy these freedoms. So you should be free to redistribute copies with or without modifications, free of charge or for a fee, to anyone and anywhere. Enjoying this freedom means, among other things, not having to ask for permission or pay for it. Also, you should be free to make changes and use them privately, either at work or in your free time, without even having to mention their existence. If you decide to post these changes, you should not be obliged to notify any person or in any particular way. The freedom to use a program means that any individual or organization may run it from any computer system, for any purpose, and without the obligation to subsequently communicate it to the developer or to any specific entity.
Types of Licenses
A free software license is a document that gives software extensive rights to modify and redistribute that software. These actions are normally prohibited by copyright laws, but the one who owns the rights, usually the creator of the software, can remove those restrictions by accompanying the software with a software license that grants the recipient of these rights. The software that uses such licenses is called free software, and those freedoms are granted by the copyright owner. Free software licenses apply to both software in source code form or binary object code, since copyright law recognizes both forms.
Some free software licenses include copyleft, and this requires that all future versions also be distributed with these freedoms. Other “permissive” software licenses are typically a few lines containing the assignment of rights and a guarantee of disclaimer. This allows distributors to add restrictions for future receivers.
While historically the most widely used FOSS license has been the GPL version 2, in 2015 and according to Black Duck Software20 and GitHub statistics, the permissive license MIT license dethroned the GPLv2 to second place while the Apache permissive license is still in third place.
Copyleft and the GNU GPL
The goal of GNU was to provide freedom for users, not simply to be popular. So we needed to come up with distribution terms that would prevent GNU software from becoming proprietary software. The method we used was called copyleft. Copyleft uses copyright law, but by turning it around to serve an opposite purpose than usual: instead of privatizing software, it helps preserve it as free software. The fundamental idea of copyleft is that the execution of the program, its copying, modification and distribution of modified versions is authorized, provided that no kind of restriction is added a posteriori. In this way, the crucial freedoms that define “free software” are guaranteed to anyone who owns a copy; these freedoms become inalienable rights.
The Cathedral and the Bazaars
The Cathedral and the Bazaars, an essay on open source software, written by hacktivist Eric S. Raymond in 1997. It has had two sequels, titled Colonizing the Noosphere and The Magic Cauldron.
The essay analyzes two distinct software production models. On the one hand, the cathedral, which represents the most hermetic and vertical development model characteristic of proprietary Software; and on the other, the bazaar, with its horizontal and “bustling” dynamics, which characterized the development of the Linux kernel and other free software projects that were promoted by community work through the open source Internet.
I look at a successful free software project (fetchmail), which was done to deliberately test some surprising ideas about software engineering suggested by the history of Linux. I discuss these theories in terms of two fundamentally opposite styles of development: the cathedral model of most commercial software makers versus the bazaar model of the Linux world. I show that these models start from conflicting views about the nature of the software debugging task. Subsequently, I make an argument, from the Linux experience, of the following sentence: “if you have enough looks, all the fleas will jump at the sight.” In the end, I suggest some fruitful analogies with other self-regulating systems of agents I conclude with a cursory exploration of the implications this approach may have for the future of software. 1. The Cathedral and Bazaar Linux is subversive. Who would have thought just five years ago that a world-class operating system would emerge, As if by magic, thanks to the hacker activity deployed in spare time by several thousand programmers scattered throughout the planet, connected only by the tenuous threads of the Internet? What is certain is that I did not. When Linux appeared in My path, in early 1993, I had invested in UNIX and free software development for about ten years. I was one of the first to contribute to GNU in the mid-eighties, and I’ve been bringing a good deal of free software to the net, developing or collaborating on various programs (NetHack, Emacs VC and GUD modes, xlife, and others) that are still widely used. I thought you knew how things should be done.