Free Software Foundation

from the Free Software FoundationFree Software Foundation
We maintain this free software definition to show clearly what must be true about a particular software program for it to be considered free software. From time to time we revise this definition to clarify it. If you would like to review the changes we’ve made, please see the History section below for more information.

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

Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program’s users have the four essential freedoms:

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it to make it do what you wish (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 (and modified versions in general) 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.

The freedom to run the program means the freedom for any kind of person or organization to use it on any kind of computer system, for any kind of overall job and purpose, without being required to communicate about it with the developer or any other specific entity. In this freedom, it is the user’s purpose that matters, not the developer’s purpose; you as a user are free to run a program for your purposes, and if you distribute it to someone else, she is then free to run it for her purposes, but you are not entitled to impose your purposes on her.

Related Post:  Linux Logical Volume Manager

The freedom to redistribute copies must include binary or executable forms of the program, as well as source code, for both modified and unmodified versions. (Distributing programs in runnable form is necessary for conveniently installable free operating systems.) It is ok if there is no way to produce a binary or executable form for a certain program (since some languages don’t support that feature), but you must have the freedom to redistribute such forms should you find or develop a way to make them.

In order for the freedoms 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.

Freedom 1 includes the freedom to use your changed version in place of the original. If the program is delivered in a product designed to run someone else’s modified versions but refuse to run yours — a practice known as “tivoization” or (through blacklisting) as “secure boot” — freedom 1 become a theoretical fiction rather than a practical freedom. This is not sufficient.

One important way to modify a program is by merging in available free subroutines and modules. If the program’s license says that you cannot merge in a suitably-licensed existing module, such as if it requires you to be the copyright holder of any code you add, then the license is too restrictive to qualify as free.

In order for these freedoms to be real, they must be permanent and irrevocable as long as you do nothing wrong; if the developer of the software has the power to revoke the license, or retroactively change its terms, without your doing anything wrong to give cause, the software is not free.

Related Post:  Guide to disks and disk partitions in Linux

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.

Free software does not mean non-commercial. A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important. You may have paid money to get copies of free 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, even to sell copies.

Whether a change constitutes an improvement is a subjective matter. If your modifications are limited, in substance, to changes that someone else considers an improvement, that is not freedom.

However, rules about how to package a modified version are acceptable, if they don’t substantively limit your freedom to release modified versions, or your freedom to make and use modified versions privately. Rules that if you make your version 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 publish your version at all.) Rules that require release of source code to the users for versions that you put into public use are also acceptable. It is also acceptable for the license to require that, if you have distributed a modified version and a previous developer asks for a copy of it, you must send one, or that you identify yourself on your modifications.

Share:

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn

Hola! Did you notice that LinuxBSDos.com no longer runs network ads?  Yep, no more ads from the usual suspects that track you across the Internet.  But since  I still need to pay to keep the site running, feel free to make a small donation by PayPal.

Subscribe for updates. Trust me, no spam!

Mailchimp Signup Form

Sponsored links

1. Attend Algorithm Conference, a top AI and ML event for 2020.
2. Reasons to use control panel for your server.
3. DHgate Computers Electronics, Cell Phones & more.

33 Responses

  1. Unfort. is gOS dead!

    i would recommend for starters:

    Ubuntu 11.xx (Unity may for some ppl be annoying, tho its easy as an Iphone)

    LinuxMint 12.x very nice usability i tested Gnome edition and must say its easy to handle.

    Mandriva nice too, didn’t have as much time to test is as the other 2 but its very intuitive and nice looking, tho i think i would rather start with the upper 2

    Debian 6.x i am really new to Linux and i tried many Distributions and i liked Debian from the start. Some will say its not user friendly, i must admit its not as user friendly as Ubuntu or LinuxMint but if you know what you need and if you know where to search, its as easy as the other 2 and somehow i liked Debian most, very stable, everything worked (skype, Webcam, drivers, just anything) Ubuntu was a bit tricky for me so i needed a script to get my camera started on Skype, i got the script from youtube.

    I would recommend those 4 to everyone, its just my 5 cents.

  2. Slackware is perfect and don’t have a graphical installer. To be honest, I don’t think that yours pre-requisits are valid to chose a “perfect distro”.

  3. I have had opportunity of using GNU/Linux professionally, including in teaching and providing small business services for more than fifteen years.

    During that time, many distributions have come and gone, but fortunately the better quality, more stable distos have endured, all of which I have thoroughly evaluated and tested.

    One recommendation not often mentioned that is suitable for the person writing seeking Distro for Linux beginner is G/OS – http://www.thinkgos.com – which ran reliably and succesfully on many Netbooks early on, before Microsoft subverted the Linux Netbook market.

    It is Ubuntu LTS based, with Google apps to simplify task like Mail, News, docs, etc. and has been a absolute success on fourty plus PCs on which I have installed it, from 80+ years of age PC first timers to small businesses and schools.

    W. Anderson

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest

On social media
Via my newsletter
Mailchimp Signup Form

Partner links

1. Attend Algorithm Conference, a top AI and ML event for 2021.
2. Reasons to use control panel for your server.
3. DHgate Computers Electronics, Cell Phones & more.
Hacking, pentesting distributions

Linux Distributions for Hacking

Experts use these Linux distributions for hacking, digital forensics, and pentesting.

Categories
Archives

The authors of these books are confirmed to speak during

Algorithm Conference

T-minus AI

Author was the first chairperson of AI for the U.S. Air Force.

The case for killer robots

Author is the Director of the Center for Natural and Artificial Intelligence.

Why greatness cannot be planned

Author works on AI safety as a Senior Research Scientist at Uber AI Labs.

Anastasia Marchenkova

An invitation from Anastasia Marchenkova

Hya, after stints as a quantum researcher at Georgia Tech Quantum Optics & Quantum Telecom Lab, and the University of Maryland Joint Quantum Institute, I’m now working on superconducting qubit quantum processors at Bleximo. I’ll be speaking during Algorithm Conference in Austin, Texas, July 16 – 18, 2020. Meet me there and let’s chat about progress and hype in quantum computing.