The Free Software Definitionwriting

ethicsphilosophyfree-softwaredefinitionfour-freedoms
1996-01-01 · 2 min read · Edit on Pyrite

The Free Software Definition is stallman's canonical statement of what "free software" means — the document that formally specifies the four-freedoms that a program must respect for its users to count as free software. First published on the free-software-foundation website in the mid-1990s (with origins in formulations from the late 1980s), it has been updated iteratively and remains the authoritative reference. It is, alongside gnu-manifesto, the most frequently cited document in free software philosophy.

The definition specifies four freedoms, numbered from zero to reflect programming convention:

  • Freedom 0: The freedom to run the program as you wish, for any purpose.
  • Freedom 1: The freedom to study how the program works, and change it so it does your computing as you wish. (Access to the source code is a precondition for this.)
  • Freedom 2: The freedom to redistribute copies so you can help others.
  • Freedom 3: The freedom to distribute copies of your modified versions to others. (Access to the source code is a precondition for this.)
  • The numbering from zero was added later; earlier formulations numbered from one. The zero-indexing signals that freedom to use is foundational — prior to any other freedoms.

    The definition is designed to be non-negotiable and non-gradable. A program either satisfies all four freedoms or it is not free software; there are no "mostly free" or "partially free" programs in stallman's framework. This absolutism is deliberate and reflects his conviction that freedoms are not amenable to trade-offs: restricting any of the four freedoms harms users in ways that matter.

    The free-software-definition stands in direct contrast to the Open Source Definition that bruce-perens drafted for the open-source-initiative in 1998. Both definitions overlap substantially in what they permit and require, but they differ in framing: the Free Software Definition is explicitly ethical ("This is a matter of freedom, not price"), while the Open Source Definition is framed in practical and developmental terms. stallman argues in why-open-source-misses-the-point that this framing difference reflects a deeper philosophical disagreement: the open source movement deliberately omitted the ethical argument to make the case more palatable to business.

    The definition has spawned extensive commentary on edge cases: Can free software include DRM mechanisms? (No, per the definition's requirement that modifications be distributable.) Can a free program include advertising clauses? (With caveats, depending on implementation.) Can it restrict certain uses? (No — freedom 0 requires the freedom to run "for any purpose.") These edge cases reveal the definition's sharp edges and make it a living document that stallman continues to annotate and clarify.

    The free-software-foundation's work evaluating licenses as "free" or "non-free" is grounded in this definition, and its list of approved licenses is an application of these criteria to specific license texts.