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:
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.