Free software – wolne oprogramowanie
Free software (po polsku: wolne oprogramowanie) to rodzaj oprogramowania, którego użytkownicy mają prawo do swobodnego używania, badania, modyfikowania oraz rozpowszechniania zarówno w formie oryginalnej, jak i zmienionej. Definicja ta została sformułowana w latach 80. przez Richarda Stallmana i jest podstawą ruchu Free Software.
Historia
Ruch wolnego oprogramowania wyłonił się w 1984 roku, kiedy to Stallman założył projekt GNU – kompletny, wolny system operacyjny. W 1991 roku Linus Torvalds udostępnił kod jądra Linux na licencji GPL, co umożliwiło połączenie go z komponentami GNU i powstanie w pełni wolnego systemu operacyjnego.
Podstawowe zasady – cztery wolności
Wolne oprogramowanie definiuje się poprzez cztery podstawowe wolności, które użytkownik musi mieć:
- Wolność uruchamiania programu w dowolnym celu (wolność 0).
- Wolność badania działania programu i dostosowywania go do własnych potrzeb (wolność 1).
- Wolność rozpowszechniania kopii programu (wolność 2).
- Wolność udostępniania zmodyfikowanych wersji (wolność 3).
Spełnienie wszystkich tych warunków jest niezbędne, aby oprogramowanie mogło być uznane za wolne.
Licencje
Wolne oprogramowanie jest rozpowszechniane na podstawie licencji, które gwarantują powyższe wolności. Najbardziej rozpoznawalne licencje to:
- GNU General Public License (GPL) – licencja kopyleftowa, wymuszająca, aby pochodne dzieła również były udostępniane na tych samych warunkach.
- Lesser GPL (LGPL) – łagodniejsza forma GPL, umożliwiająca łączenie wolnego kodu z zamkniętym oprogramowaniem.
- MIT License oraz licencje BSD – licencje o otwartym charakterze, które nie narzucają obowiązku udostępniania kodu pochodnych wersji.
Kluczowym elementem licencji wolnego oprogramowania jest zasada copyleft, czyli mechanizm prawny zapewniający, że wszystkie modyfikacje pozostają wolne.
Różnice między "free software" a "open source"
Choć pojęcia free software i open source są często używane zamiennie, to ich filozofia się różni:
- Ruch free software koncentruje się na etycznym aspekcie wolności użytkownika.
- Ruch open source podkreśla korzyści praktyczne wynikające z dostępności kodu źródłowego, takie jak szybszy rozwój i lepsza jakość.
Oba ruchy współpracują ze sobą, ale ich główne manifesty (np. definicja wolnego oprogramowania vs. Definicja Open Source) podkreślają inne priorytety.
Przykłady wolnego oprogramowania
Do najważniejszych projektów zaliczają się:
- System operacyjny Linux.
- Środowisko graficzne i biblioteki GNU (kompilatory, edytory, powłoka Bash).
- Przeglądarka Firefox (wydanie oparte na kodzie Mozilla, dostępne na licencji MPL).
- Pakiet biurowy LibreOffice.
- System zarządzania bazą danych PostgreSQL.
Organizacje i inicjatywy
Najważniejsze organizacje promujące wolne oprogramowanie to:
- Free Software Foundation (FSF) – fundacja założona przez Stallmana, odpowiadająca za rozwój i ochronę licencji GPL.
- Open Source Initiative (OSI) – organizacja certyfikująca licencje jako open source (choć nie jest bezpośrednio zaangażowana w ruch free software).
- Linux Foundation – promuje ekosystem Linux i projekty otwarto‑źródłowe.
Znaczenie i wpływ
Wolne oprogramowanie zmieniło sposób, w jaki powstaje i jest rozpowszechniane kod źródłowy. Dzięki modelowi otwartego dostępu:
- Umożliwiono szybki rozwój technologii informatycznych, co przyczyniło się do powstania nowych branż (np. chmura obliczeniowa, IoT).
- Wzrosło bezpieczeństwo i przejrzystość systemów – każdy może zweryfikować kod pod kątem luk i błędów.
- Ułatwiono edukację – studenci i hobbystów mają dostęp do pełnych, współczesnych systemów bez konieczności płacenia za licencje.
Przyszłość
W miarę rosnącej roli oprogramowania w społeczeństwie, dyskusje o prawach użytkowników i oprogramowaniu wolnym stają się coraz ważniejsze. Projekty takie jak GNU nadal rozwijają nowe narzędzia, a inicjatywy edukacyjne podkreślają znaczenie wolności cyfrowej i ochrony prywatności.
Warto zaznaczyć, że termin free software nie oznacza „darmowego” w sensie kosztu, lecz „wolnego” w sensie swobód użytkownika – stąd w języku polskim często używa się określenia wolne oprogramowanie.