Das Konzept der freien Software wurde von Richard Stallman im Jahr 1983 erstmals klar definiert, bis dahin war es schlicht das einzige, weil naheliegendste Entwicklungsmodell. Das Grundprinzip ist die Wahrung der öffentlichen Verfügbarkeit des Quellcodes, um einer möglichst breiten Entwicklerbasis die Prüfung des Codes zu ermöglichen. Diese Ziele konnten durch ein spezielles Copyright erreicht werden, das die Nutzerrechte nicht beschneidet, sondern explizit schützt und deshalb in der schärfsten Form auch als Copyleft bezeichnet wird.
Der Begriff "frei" im Kontext freier Software soll wie in "freie Rede" verstanden werden, nicht wie in "Freibier". Freie Software bedeutet die Freiheit des Nutzers, die Software zu verwenden, sie zu kopieren, weiterzuverteilen, zu studieren, sie zu ändern und zu verbessern. Genauer, sie beinhaltet vier Freiheiten des Nutzers:
Damit Software in diesem Sinne frei ist, muss ihr Source Code ohne Restriktionen verfügbar sein.
Freie Software unterscheidet sich von proprietärer Software also hauptsächlich durch unterschiedliche Vertriebsbedingungen. Eine ganze Reihe von "Nebeneffekten", z.B. der breite Peer-Review-Prozess, führen dazu, dass freie Software oft von sehr hoher Qualität, Stabilität und großem Pragmatismus geprägt ist.