Is there a difference between free software and open source software?
I am a bit confused about these two terms. Are there differences between them?
Solution 1:
The terms free software and open source software do mean different things, though the categories of software they refer to are almost exactly the same.
What is free software?
Free software is defined in terms of freedom (not price), and is not the same thing as freeware. The idea is that there are certain freedoms on the part of users that free software respects (but which non-free software, also called proprietary software, does not respect). This includes the freedom to use and study the software, as well as to distribute and improve it.
The Free Software Foundation is an advocacy and activist organization for free software, funds and otherwise supports the GNU project (which develops a significant fraction of the software that goes into GNU/Linux distributions such as Ubuntu) and is the organizational author of many of the most popular free software licenses including the GNU General Public License. The FSF defines free software as software that respects the four freedoms, which I quote here [linkifications mine]:
(0) The freedom to run the program, for any purpose (freedom 0).
(1) The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
(2) The freedom to redistribute copies so you can help your neighbor (freedom 2).
(3) The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
Another useful and important source about what does and does not constitute free software is the Debian Free Software Guidelines (from the Debian project, the GNU/Linux distribution from which Ubuntu is derived, see also this article).
One need not subscribe to any particular ideology to use and advocate for free software. But the ideological basis of free software is the idea that these freedoms are inherently good (or at least good for important political reasons external to technical questions of software quality and profitability), that people have the obligation to respect these freedoms, and that software should be judged in significant part by whether or not it respects these freedoms. Not all users of free software are adamant about these freedoms, and some believe in their importance but only to a limited extent, but many users are dedicated to them, and comprise the free software movement.
What is Open Source?
Some proponents of free software thought it was good for other reasons -- specifically, the idea that, because of the way freedom facilitates collaboration, free software has an advantage over proprietary software and often tends to be technically superior. Some thought that freedom is inherently important but not as important as developing technically good software, or that freedom is as important or more important than developing technically good software but that it was important to advocate for the adoption of free software on other grounds in order to be effective.
Thus, the open source movement was born. One of the ideas that went into this movement is the notion that advocacy targeted at businesses should emphasize the technical merits and profitability of open (free) development models, rather than talking about ethical or political issues. The Open Source Initiative was formed as an advocacy organization for the open source movement and to identify and formally approve licenses as open source. The OSI's Open Source Definition is based directly on the Debian Free Software Guidelines, which should be no surprise, as the actual category of software that is considered free is almost exactly the same as the actual category of software that is considered open source.
The old Open Source Initiative FAQ expresses both the substantial similarities and differing viewpoints between free software and open source ideologies:
The Open Source Initiative is a marketing program for free software. It's a pitch for "free software" on solid pragmatic grounds rather than ideological tub-thumping. The winning substance has not changed, the losing attitude and symbolism have.
How do the ideologies of free software and open source compare/contrast in practice?
While the ideologies behind free software and open source software are different--or are at least stated quite differently -- identifying specifically how the terms differ as they are practically used in communities is a bit more complicated. Since they refer to almost exactly the same category of software, people tend to choose whichever term they think is best, whether that be for reasons of clarity, ideology, social approval, habit, or other reasons. Furthermore, while free software and open source ideologies are distinct, there are also viewpoints that seem to bridge the two, or at least to blur where one ends and the other begins. For example, in his foreword to the paperback compendium edition of Eric S. Raymond's The Cathedral and the Bazaar (ISBN 0-596-00108-8
), Bob Young wrote:
Freedom is not an abstract concept in business.
The success of any industry is almost directly related to the degree of freedom the suppliers and the customers of that industry enjoy. Just compare the innovation in the U.S. telephone business since AT&T lost its monopoly control over American consumers with the previously slow pace of innovation when those customers had no freedom to choose.
This arguably does not make direct reference to ethical and political issues. But consider one of the somewhat similar considerations cited by Peruvian Congressman Edgar Villanueva in explaining his push for the the state to use free rather than proprietary software (English translation by Graham Seaman, also hosted here, with original here):
In respect of the jobs generated by proprietary software in countries like ours, these mainly concern technical tasks of little aggregate value; at the local level, the technicians who provide support for proprietary software produced by transnational companies do not have the possibility of fixing bugs, not necessarily for lack of technical capability or of talent, but because they do not have access to the source code to fix it. With free software one creates more technically qualified employment and a framework of free competence where success is only tied to the ability to offer good technical support and quality of service, one stimulates the market, and one increases the shared fund of knowledge, opening up alternatives to generate services of greater total value and a higher quality level, to the benefit of all involved: producers, service organizations, and consumers.
Since the practical consequences of adopting free software include political and moral ramifications (in this case, Villanueva argues, the intellectual and economic empowerment of the Peruvian people), there is some overlap in free software and open source thinking (as well as almost complete overlap in software recommendations).
One of the initial, explicit goals of the open source movement was de-emphasizing explicitly pro-liberty advocacy, as articulated early in this article:
The implication of this label is that we intend to convince the corporate world to adopt our way for economic, self-interested, non-ideological reasons.
But another original motivating reason for adopting an alternative term was the idea that the term open source was less confusing than the term free software, since the English word "free" can also mean "gratis," i.e., "having a price of zero". See this foundational essay. That attracted some people who were themselves more drawn to free software for ethical or political reasons than out of the belief that it was a better development model or business model, but who agreed that the term "free software" was lacking and ought to be replaced. While this term has proven confusing, the term "open source" has proven confusing as well, and Richard Stallman (founder of the Free Software Foundation) has argued that the term "open source" is inherently more confusing and less adequately descriptive.
What term should I use?
As I (start to) write this, there are five answers already posted to this question. Two of them (this and this) are basically correct in their characterizations of open source, and one of them is basically correct in its characterization of free software and another one almost correct. (Please note that these answers may have been edited, so this should not be taken as judgment of them in their present state.) While I admit that the sampling here is hardly conclusive, I would suggest that each of us should use whichever term s/he prefers for reasons other than clarity, since both terms are surrounded by substantial confusion.
For situations where it is desirable to refer simultaneously to the (already overlapping) concepts of free software and open source software, there exist the synonymous terms F/OSS (Free / Open Source Software), FOSS (Free [and] Open Source Software) and FLOSS (Free / Libre / Open Source Software). See this article on those terms, as well as this article on the more general topic of alternative terms for free software.
Is there free software that is not open source?
Probably not. Going by the Free Software Definition and the Open Source Definition, freedom 0 probably requires OSD criteria 5, 6, 7, 8, 9, and 10; freedom 1 requires OSD criterion 2 (and possibly 7); freedom 2 probably requires OSD criteria 1, 7, 8, and 9; and freedom 3 probably requires OSD criteria 1, 2, 3, 4, 7, 8, and 10.
Is there open source software that is not free?
Going by the definitions, yes, because with the exception of the requirement to provide source code, the Open Source Definition concerns itself only with what a license may require. In contrast, as per the Free Software Definition, for software to be free it must actually be possible to exercise the four freedoms.
Practically speaking, the vast majority of open source software is also free software. However, the phenomenon of tivoization renders some open-source software non-free, at least in practice. When software is designed to run on a particular device, and that device is designed to prevent modified versions from actually working, users are not able to exercise freedom 1.
The relatively recent issue of devices running open source software that is in practice not free has reignited disagreement between proponents of open source and free software concepts. The open source movement touts FOSS's technical merits. But what about when software's functionality is not actually under the control of its user? Richard Stallman writes [ellipsis mine]:
Under pressure from the movie and record companies, software for individuals to use is increasingly designed specifically to restrict them. This malicious feature....is the antithesis in spirit of the freedom that free software aims to provide. And not just in spirit: since the goal of DRM is to trample your freedom, DRM developers try to make it hard, impossible, or even illegal for you to change the software that implements the DRM.
Yet some open source supporters have proposed “open source DRM” software. Their idea is that, by publishing the source code of programs designed to restrict your access to encrypted media and by allowing others to change it, they will produce more powerful and reliable software for restricting users like you. The software would then be delivered to you in devices that do not allow you to change it.
This software might be open source and use the open source development model, but it won't be free software since it won't respect the freedom of the users that actually run it.
There are divergent ideas about precisely what freedoms software must respect in practice in order to be free. But disputes over whether or not tivoization makes software non-free are still disputes about freedom. For example, Linus Torvalds thinks tivoization (a term he dislikes) of Linux should not be prohibited, but this is out of the belief that it does not actually prevent people from freely using the software (on another device).
How do free software and open source apply to Ubuntu?
Most of the software in Ubuntu is free software and open source software. A fraction of the software in Ubuntu is neither. (None is one but not the other.) The Ubuntu project aims to produce a system that is as free as possible while still fully usable by as many users as possible.
When you install Ubuntu, you are given the option to install non-free software to perform functionality like playing MP3 files. In Ubuntu, Additional Drivers suggests and facilitates installation of non-free drivers for some devices like video and network cards. Non-free software (like Adobe Flash and Skype) is also available in the multiverse and partner repositories. Furthermore, depending on one's definition of "includes," Ubuntu might be considered to include non-free software in that the Software Center provides the ability to install proprietary payware.
While these and other factors render Ubuntu (and most other highly popular GNU/Linux distributions) not completely free, and arguably there are distributions that are more thoroughly free, Ubuntu and its community have brought free software--and support for it--to thousands (if not millions) of people who would otherwise likely never have used it, and has contributed positively to the spread of free software around the world, and to people's ability to use free software in their own language. The Ubuntu philosophy is stated in terms of freedom and in terms of users' capabilities:
We believe that every computer user:
- Should have the freedom to download, run, copy, distribute, study, share, change and improve their software for any purpose, without paying licensing fees.
- Should be able to use their software in the language of their choice.
- Should be able to use all software regardless of disability.
Our philosophy is reflected in the software we produce, the way we distribute it and our licensing terms, too - Ubuntu Licence Policy.
Install Ubuntu and you can rest assured that all our software meets these ideals. Plus, we are continually working to ensure that every piece of software you could possibly need is available under a licence that gives you those freedoms.
It then goes on to discuss and praise both the free software and open source movements and to say:
Although some people regard ‘free’ and ‘open source' as competing movements with different ends, we do not. Ubuntu proudly includes members who identify with both.
Whether you consider your goals to be aligned with free software, with open source, with both, or even with neither, you are encouraged to use Ubuntu if it serves your needs. And so long as you are willing to practice humanity toward others by following the code of conduct, you are encouraged to participate in the Ubuntu community!
Solution 2:
"Free" can mean one (or both) of two things: "free" as in "costs nothing" ("gratis," "free as in beer"), or "free" as in "free to be modified" ("libre," "free as in speech").
"Open source" merely means that the source code is made available by developers, and is not necessarily "free as in beer" nor "free as in speech" (although it can be either or both).
Here's a useful Venn diagram: http://www.gnu.org/philosophy/categories.html