Document from the Free Software Foundation:

''Free software'' is a matter of liberty, not price. To understand the concept, you should think of ''free speech'', not ``free beer.''

''Free software'' refers to the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3). Access to the source code is a precondition for this.

A program is free software if users have all of these freedoms. Thus, you should be free to redistribute copies, either with or without modifications, either gratis or charging a fee for distribution, to anyone anywhere. Being free to do these things means (among other things) that you do not have to ask or pay for permission.

You should also have the freedom to make modifications and use them privately in your own work or play, without even mentioning that they exist. If you do publish your changes, you should not be required to notify anyone in particular, or in any particular way.

In order for the freedom to make changes, and to publish improved versions, to be meaningful, you must have access to the source code of the program. Therefore, accessibility of source code is a necessary condition for free software.

You may have paid money to get copies of GNU software, or you may have obtained copies at no charge. But regardless of how you got your copies, you always have the freedom to copy and change the software.

In order for these freedoms to be real, they must be irrevocable as long as you do nothing wrong; if the developer of the software has the power to revoke the license, even though you have not given cause, the software is not free.

However, certain kinds of rules about the manner of distributing free software are acceptable, when they don't conflict with the central freedoms. For example, copyleft (very simply stated) is the rule that when redistributing the program, you cannot add restrictions to deny other people the central freedoms. This rule does not conflict with the central freedoms; rather it protects them.

Rules about how to package a modified version are acceptable, if they don't effectively block your freedom to release modified versions. Rules that ``if you make the program available in this way, you must make it available in that way also'' can be acceptable too, on the same condition. (Note that such a rule still leaves you the choice of whether to make the program available or not.)

In the GNU project, we use ``copyleft'' to protect these freedoms legally for everyone. But non-copylefted free software also exists. We believe there are important reasons why it is better to use copyleft, but if your program is non-copylefted free software, we can still use it.

Categories of Free Software (18k characters) for a description of how ``free software,'' ``copylefted software'' and other categories of software relate to each other.

Sometimes government export control regulations and trade sanctions can constrain your freedom to distribute copies of programs internationally. Software developers do not have the power to eliminate or override these restrictions, but what they can and must do is refuse to impose them as conditions of use of the program. In this way, the restrictions will not affect activities and people outside the jurisdictions of these governments.

When talking about free software, it is best to avoid using terms like ``give away'' or ``for free'', because those terms imply that the issue is about price, not freedom. Some common terms such as ``piracy'' embody opinions we hope you won't endorse. See Confusing Words and Phrases that are Worth Avoiding for a discussion of these terms. We also have a list of translations of "free software" into various languages.


Another group has started using the term open source to mean something close (but not identical) to "free software".
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.


See http://www.fsf.org/licensing/essays/free-sw.html or http://www.gnu.org/philosophy/free-sw.html.

frednet = F = freeware

free software n.

As defined by Richard M. Stallman and used by the Free Software movement, this means software that gives users enough freedom to be used by the free software community. Specifically, users must be free to modify the software for their private use, and free to redistribute it either with or without modifications, either commercially or noncommercially, either gratis or charging a distribution fee. Free software has existed since the dawn of computing; Free Software as a movement began in 1984 with the GNU Project.

RMS observes that the English word "free" can refer either to liberty (where it means the same as the Spanish or French "libre") or to price (where it means the same as the Spanish "gratis" or French "gratuit"). RMS and other people associated with the FSF like to explain the word "free" in "free software" by saying "Free as an speech, not as in beer."

See also open source. Hard-core proponents of the term "free software" sometimes reject this newer term, claiming that the style of argument associated with it ignores or downplays the moral imperative at the heart of free software.

--The Jargon File version 4.3.1, ed. ESR, autonoded by rescdsk.

Free Software

By Tom Adams, 2006-12-07.

Free Software

Introduction

Free software refers to software which may be run, studied, copied, and modified freely. The word free refers to liberty as opposed to a lack of cost. The opposite of free software is proprietary software - that which may not be freely used, distributed, modified, or studied.

In this short essay I will define free software a little more fully, explain why it came to be, and how software is made free. I will then go on to explain one of free software's best points from the point of view of the user.

Definition

The Free Software Foundation describes four fundamental freedoms for software to be considered free:[free-sw]

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

History

Probably the most important figure where free software is concerned is Richard Stallman, the originator of the term free software. He is also responsible for GNU Emacs, most of the GNU core utilities, and the founding of the Free Software Foundation.

The MIT Artificial Intelligence Lab, where Stallman worked, was in possession of a printer from Xerox. It was set up such that people would be alerted when their print jobs were complete, or when there was a paper jam.[shouldbefree]

The AI Lab later received a new printer from Xerox. This printer came with a separate, dedicated computer running proprietary software which was required to operate the printer. It was possible to send a notification when a print job was accepted, but it was not possible to send notifications when print jobs finished, or when there was a paper jam.

Of course it was frustrating for the programmers at the AI Lab to suffer with poor quality software and to have no way of improving it. So Stallman decided to change that by creating free software which couldn't be made proprietary, and he started work on the GNU operating system.

My Story

As a personal example of where the lack of freedom to modify software is a problem, I offer my own story of SuSE[suse] 9.0 and YaST2.

My first GNU/Linux installation was SuSE 9.0, purchased in a box from Amazon for what now seems like an awful lot of money to pay for software - but alas I was still on dial-up and didn't know of the existence of magazines with cover discs. I managed to wipe my OEM installation of Windows XP, and many other things I didn't intend to delete. For a week I went without Internet access on my own machine. Until I purchased a hardware modem, I spent many hours using my mother's computer to read HOWTOs on The Linux Documentation Project[tldp] and other sites.

I was enjoying playing with my new toy, but eventually I found a problem with YaST2, SuSE 9.0's graphical package manager, configuration utility, and general do-everything tool. The problem was that sometimes there were updates marked as critical which were very large (for a dial-up connection which was automatically cut-off every two hours), and downloads could not be resumed. These critical downloads could not be ignored. If you wanted to install any other software, or any other updates, you absolutely had to install the critical updates.

I searched for a solution to this problem and discovered that YaST2 was the very thing that I was trying to get away from by using GNU/Linux - proprietary. At the time I doubt I could have compiled YaST2 if it was free, let alone modify it to allow critical updates to be disabled, but I could have installed a patched version of YaST2, presumably distributed by somebody who also had a slow connection. But due to it being closed source the only person able to fix the bug was the vendor.

These days I no longer use SuSE, and YaST2 is no longer proprietary (although I don't know if critical updates can be ignored in the vanilla distribution).

Rationale

Apart from technical and economic reasons to use free software, there may be many reasons for people to use and contribute to free software.

The philosophy of the GNU Project is that free software is better than proprietary software simply because it is free. As such, many people interested in political freedom as well as computers are likely to be drawn to free software.

With free software, it is likely that a capable user will contribute patches and bug reports to a software project if they have time (I know I do). This allows for a sort of community that isn't possible with proprietary software - a community where the end-users can be the programmers isn't possible without access to the source code. This kind of community lends itself to users helping each other. That is to say that there are many Web sites, forums, and non-Internet organisations aimed at all ability ranges from neophyte to wizard.

Licenses

Most free software does not come about by the work being placed in the public domain, although that is a possibility. The most common way of making software free is to apply a license to it.

Microsoft, probably one of the most well-known vendors of proprietary software, uses an End-User License Agreement to agree with an end-user that Microsoft will take their rights away from them (and assign Microsoft some additional rights) in exchange for the user being able to use the software. This is not a license, it is a contract because there is an agreement between two or more parties (if the end-user accepts the terms of the contract). In a license, the holder of the copyright assigns additional rights to the recipient of the license. The additional rights may be granted conditionally, but no rights can be removed by a license.

There are two main types of free software license: those that simply allow the next person who comes along to do what they like (permissive), and those that require that the software remain free (restrictive).

The former category's most popular license is known as the revised BSD license[freebsd-license], which states that redistributed source code, binaries, and documentation must contain the text of the license and the copyright notice. This means that the software could be improved, compiled, and then just the binaries could be distributed - thus the software could become proprietary.

The most popular restrictive free software license is the GNU General Public License[gpl]. This license states that if the programme is modified and distributed, source code must be provided along with the license. Thus if the software was improved, compiled, and only the binaries were distributed, the person doing this would have broken the law.

There is constant debate (usually known as flame wars) on the topic of whether permissive[bsdl-gpl] or restrictive licenses are better. While there are practical factors to be considered, the biggest factor in choosing a license is the developer's personal beliefs.

In recent news, the GPL Violations Project[gpl-violations] won a case in a German court against D-Link who were distributing parts of the Linux kernel and other GPL-licensed software in a way which violated the GPL. D-Link claimed that they [did] not consider the GPL as legally binding[dlink-judgement], but were eventually forced to refrain from further distribution.

The Debian project[debian] specifies a number of guidelines known as the Debian Free Software Guidelines[dfsg], which are used by the Debian legal team to judge whether a license is free or not. Very rarely do the FSF's four fundamental freedoms mentioned above and the DFSG disagree on a license's freeness. A notable exception is the FSF's GNU Free Documentation License[fdl] which the FSF describes as free, but the DFSG classifies it as non-free due to invariant sections[dfsg-gfdl].

Hacking

Many non-professional users of free software are attracted by the hackability of such systems†. It's rather hard to hack on a system that doesn't even ship with a single compiler or interpreter. Through simply exploring a system, one can learn a great deal about how it and similar systems work. Free software is often easy to explore and understand because for the most part it is made by hackers for hackers.

I recall the days when computers came with BASIC interpreters‡. I never got much out of BASIC because I was too young to really appreciate programming at the time and the only computer I had with BASIC was a children's toy with just volatile memory, but writing BASIC programmes on text-only interfaces was much more fun than anything I ever did on an operating system without a compiler or interpreter.

Conclusion

Free software as a movement was started due to a frustration with a new culture of proprietary software that was seen as a negative force. The means by which software is usually made free is through licensing additional rights to users of the software. Finally, free software is often popular with hobbyists due to it being very easy to explore and change to one's liking.

Overall, free software is a good thing from the point of view of the end-users and developers simply because it is free, and because it is easy to hack. It may or may not be a good thing for businesses, but that is not the subject of this essay.

References

[free-sw]
The Free Software Definition [Internet]. Available from http://www.gnu.org/philosophy/free-sw.html [Accessed 2006-11-18].
[shouldbefree]
Stallman, R. M. (1992) Why Software Should Be Free [Internet]. Available from http://www.gnu.org/philosophy/shouldbefree.html [Accessed 2006-11-18].
[suse]
openSUSE [Internet]. Available from http://www.opensuse.org/ [Accessed 2006-12-05].
[tldp]
The Linux Documentation Project [Internet]. Available from http://tldp.org/ [Accessed 2006-12-05].
[freebsd-license]
(1994) The FreeBSD Copyright [Internet]. Available from http://www.freebsd.org/copyright/freebsd-license.html [Accessed 2006-12-05].
[gpl]
(1991) GNU General Public License [Internet]. Available from http://www.gnu.org/copyleft/gpl.html [Accessed 2006-12-05].
[bsdl-gpl]
Montague, B. Why you should use a BSD style license for your Open Source Project [Internet]. Available from http://www.freebsd.org/doc/en\_US.ISO8859-1/articles/bsdl-gpl/ [Accessed 2006-12-07].
[gpl-violations]
GPL Violations homepage [Internet]. Available from http://www.gpl-violations.org/ [Accessed 2006-12-05].
[dlink-judgement]
(2006) gpl-violations.org project prevails in court case on GPL violation by D-Link [Internet]. Available from http://gpl-violations.org/news/20060922-dlink-judgement\_frankfurt.html [Accessed 2006-12-05].
[debian]
Debian [Internet]. Available from http://www.debian.org/ [Accessed 2006-12-05].
[dfsg]
(2004) The Debian Free Software Guidelines (DFSG) [Internet]. Available from http://www.debian.org/social\_contract.en.html\#guidelines [Accessed 2006-12-05].
[fdl]
(2002) GNU Free Documentation License [Internet]. Available from http://www.gnu.org/licenses/fdl.html [Accessed 2006-12-05].
[dfsg-gfdl]
Srivastava, M. Draft Debian Position Statement about the GNU Free Documentation License(GFDL) [Internet]. Available from http://people.debian.org/~srivasta/Position_Statement.xhtml [Accessed 2006-12-05].
[jargon]
The Jargon File [Internet], version 4.4.7. Available from http://catb.org/jargon/ [Accessed 2006-12-06].

In case there is any confusion, the verb to hack is defined by the Jargon File[jargon] as follows: 6. vi. To interact with a computer in a playful and exploratory rather than goal-directed way. Whatcha up to? Oh, just hacking.
Or rather, I recall using computers from those days - I'm not quite that old.

Node your homework. This essay is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (version 2 or above).

Log in or registerto write something here or to contact authors.