po drugie, wolności modyfikowania programu wedle własnego uznania, dzięki pełnemu dostępowi do kodu źródłowego. Poza tym można studiować źródło i uczyć się jak program został napisany. Można go wówczas portować, ulepszać i dzielić się swoimi zmianami z innymi.

Współczesna definicja składa się z czterech punktów, numerowanych od zera do trzech. Definiuje ona Wolne Oprogramowanie poprzez udzielanie odbiorcom następujących wolności: wolność uruchamiania programu, w dowolnym celu (wolność 0) wolność analizowania, jak program działa, i dostosowywania go do swoich potrzeb (wolność 1) wolność rozpowszechniania kopii, byście mogli pomóc sąsiadom (wolność 2) wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność (wolność 3).

Jako warunek konieczny wolności 1 i 3 jest wymieniony dostęp do kodu źródłowego.

Tylko jeżeli program spełnia wszystkie cztery wolności jednocześnie, wówczas, według FSF, może być uznany za wolne oprogramowanie.