Wstęp
Odnoszę wrażenie, iż dla wielu osobom pewną trudność stanowi zrozumienie różnić między dwoma bliskimi sobie koncepcjami - Free Software (Wolne Oprogramowanie) oraz Open Source Software (Otwarte Oprogramowanie). Z tego też powodu uznałem, iż udostępnię to, co jakiś czas temu stworzyłem, a co przeznaczone jest dla mniej doświadczonych i obeznanych z tematem użytkowników komputera.
Poniżej znajdziecie odpowiedź na pytania dot. tego, dlaczego powstały ruchy Otwartego i Wolnego Oprogramowania (w skrócie WiOO, lub FOSS) oraz czym się różnią między sobą. Zapraszam do lektury.
Idea Free/Open Source Software
Program komputerowy składa się najczęściej z dwóch części: z kodu programu napisanego w języku wyższego poziomu (bliższego j. naturalnemu) oraz z binariów, czyli kodu maszynowego stworzonego dla konkretnego komputera. Zależność między kodem programu, a jego binarną wersją jest stosunkowo prosta - binarna wersja programu powstaje po kompilacji, czyli przetworzeniu przez kompilator danego języka programowania, kodu programu. Z punktu widzenia użytkownika współczesnych systemów operacyjnych kompilacja to skomplikowany proces, którego nie chcieliby samodzielnie przeprowadzać. Z punktu widzenia programisty binarna wersja programu to czarna skrzynka, której poznanie, wykorzystanie w innym programie, czy też modyfikacja graniczy z niemożliwością. W przypadku posiadania kodu programu możliwe jest jego poznanie jeszcze przed uruchomieniem jego skompilowanej wersji. Natomiast w momencie obcowania z binarną jego wersją o wiele prościej jest uruchomić program, niż analizować kod maszynowy w nim zawarty.
Sytuację tę można porównać do procesu pieczenia ciasta. Kucharz chcąc upiec ciasto (odpowiednik binarnej wersji programu) przygotowuje wcześniej niezbędne składniki oraz przepis (odpowiednik kodu źródłowego). Przepis bezproblemowo może być poddawany zmianom, czy też przekazywany innym kucharzom — będzie on dla nich zrozumiały i stosunkowo prosty do wykonania. Natomiast samo ciasto, chociaż gotowe do zjedzenia, jest zagadką dla kucharza. Dopiero jedząc je jest w stanie określić jego przybliżony skład (np. ilość dodanej mąki), co wymaga od niego doświadczenia i wysokich umiejętności. Próba stwierdzenia, czy zawiera arszenik (odpowiednik złośliwego kodu w oprogramowaniu), mogłaby być problematyczna. Również modyfikacja już upieczonego ciasta jest mocno utrudniona — trudno byłoby zmienić jego nadzienie, czy też aromat.
Historia Free Software, czyli ruchu Wolnego Oprogramowania, rozpoczęła się właściwie z początkiem istnienia komputerów i programistów, których zadaniem było ich oprogramowanie. Pierwsze programy powstawały, jako programy z dostępnym kodem źródłowym i w takiej też formie były rozprowadzane. Użytkownik, chcąc je uruchomić, był zobowiązany do jego skompilowania. Należy jednak pamiętać, iż w tamtych czasach użytkownicy komputerów mieli zazwyczaj znacznie wyższą wiedzę na temat funkcjonowania komputera, niźli współczesny przeciętny użytkownik. Operacja ta nie stanowiła dla niego większego problemu, a on sam mógł dzięki temu samodzielnie usuwać błędy w oprogramowaniu (tzw. bugi), czy też rozwijać je i rozszerzać o interesującą go funkcjonalność. Oprogramowanie z początków istnienia komputerów było wolne (od wolności).
Dopiero w latach 80 ubiegłego wieku pojawiła się tendencja (m.in. za sprawą firmy Microsoft) do „zamykania” oprogramowania. Czynność ta sprowadzała się do udostępniania użytkownikowi jedynie binarnej, czyli skompilowanej, wersji programu oraz zobligowania go do zgodzenia się z licencją. Licencje te zawierały najczęściej obostrzenia i zobowiązania, których musiał przestrzegać użytkownik - zabraniały modyfikacji programu, czy też jego kopiowania i rozpowszechniania. Wtedy też pojawił się, za sprawą hackera Richarda Matthewa Stallmana, ruch Free Software. Propagowanie Wolnego Oprogramowania, czyli takiego, które może być swobodnie kopiowane, modyfikowane i dystrybuowane, stało się celem jego uczestników. Dzięki jego działaniom powstały szeroko stosowane licencje wolnego oprogramowania m.in. GNU Public License.
Pod koniec lat 90 ubiegłego wieku pojawił się odłam ruchu Wolnego Oprogramowania. Mowa o ruchu Open Source, czyli Otwartego Oprogramowania. Ruch ten nie tylko starał się zmniejszyć nacisk na ideologiczny aspekt Wolnego Oprogramowania, ale również zauważył, że z oprogramowaniem z dostępnym kodem źródłowym wiążą się też inne pozytywne aspekty związane m.in. z procesem jego tworzenia oraz skupioną wokół niego społecznością. Pragmatyzm, efektywność i nowe modele biznesowe stały się głównymi elementami ruchu Open Source. Zauważono, że wolne i otwarte oprogramowanie to wolność, nonkonformizm oraz ludzie zmotywowani potrzebą prestiżu, samorozwoju oraz chęcią poznania i stworzenia czegoś nowego.
Z ruchów Free Software oraz Open Source wywodzi się również idea Wolnej Kultury, otwartych standardów i wielu innych, wolnościowych koncepcji.
Porównanie Free Software z Open Source
„Nie zgadzamy się w kwestiach zasadniczych, ale mniej więcej zgadzamy się w praktyce. Tak więc możemy wspólnie pracować i pracujemy wspólnie nad wieloma projektami.”
Richard Matthew Stallman, założyciel Free Software Foundation, o ruchu Open Source
Koncepcje Wolnego i Otwartego Oprogramowania często są ze sobą mylone. Pomimo stosunkowo subtelnych różnic między nimi są one podkreślane zarówno przez zwolenników jednego, jak i drugiego ruchu. Z tego też względu, dla osób mniej zorientowanych, stworzono neutralny termin FOSS, czyli Free/Open Source Software mający się odnosić do całości wolnego i otwartego oprogramowania.
Poniżej znajduje się porównanie dwóch podobnych, ale odmiennych spojrzeń na wolność i otwartość w świecie oprogramowania komputerowego.
|
Free Software
|
Open Source
|
-
oprogramowanie Free Software jest równocześnie oprogramowaniem Open Source,
-
prezentuje bardziej radykalne, ideologiczne podejście, niż Open Source,
-
idea i etyka są jego głównymi aspektami,
-
Free Software Foundation oraz Richard Matthew Stallman, jako centrum ruchu.
|
-
pragmatyzm,
-
nacisk na otwartość kodu, a nie jego wolność,
-
specyficzny model pracy i biznesowy,
-
styl bazarowy ponad styl katedralny,
-
Open Source Initiative, Eric Raymond oraz Linus Torvalds, jako organizacje i osoby utożsamiane z Open Source.
|
Co ważne, w przypadku Free Software istnieją cztery warunki (składowe wolności), które musi spełniać oprogramowanie, aby być wolnym. Oto i one:
- wolność do uruchomienia programu w każdym celu (wolność 0),
- wolność poznania, jak program działa i możliwość jego modyfikacji wedle uznania (wolność 1),
- wolność do redystrybucji programu (wolność 2),
- wolność do poprawiania programu i redystrybucji poprawek tak, aby skorzystała na tym cała społeczność (wolność 3).
W przypadku oprogramowania Open Source musi ono spełniać 10 warunków określonych przez Open Source Initiative.
Podsumowanie
To, co zawarłem powyżej jest tylko i wyłącznie mocnym skrótem historii związanej z wolnym oraz otwartym oprogramowaniem. Na temat ten można byłoby jeszcze wiele napisać, ale uważam, że zawarłem tutaj najważniejsze fakty, które powinien znać „świadomy” użytkownik komputera.
Co do samej idei to w moim mniemaniu jedno i drugie podejście jest wartościowe pomimo tego, iż skupiają się na nieco innych aspektach oprogramowania i procesów z nim związanych. Różnice są subtelne, ale warto je znać i świadomie używać pojęć z ruchami tymi związanymi.
Jeżeli ktoś z Was jest mocniej zainteresowany tematyką FOSS to polecam, oprócz zajrzenia na Wikipedię, również lekturę takich esejów i książek, jak np. „Katedra i bazar” Erica Raymonda, „W obronie wolności” Sama Williamsa oraz „Wolna Kultura” autorstwa Lawrence Lessiga. Są one bezpłatnie dostępne w Sieci. Warto się z nimi zapoznać!