W poprzednim felietonie z tego cyklu (do którego zapraszam, bo jest dostępny w internecie) opisałem wydarzenia, które zapoczątkowały ruch tzw. wolnego oprogramowania (free software). Opisałem inicjatywę Richarda Stallmana z 1984 r. tworzącego inicjatywę GNU i rozwój systemu Linux wprowadzonego w 1991 r. przez Linusa Torvaldsa. Wspomniane działania były bardzo ważne i w istocie przyczyniły się do przezwyciężenia przekonania, że program musi być wykonany przez specjalistyczną firmę, a użytkownik może go kupić i używać, ale nie może go zmieniać. Stallman i Torvalds zainicjowali aktywność ogromnej liczby programistów na całym świecie, którzy zbiorowo doskonalili tworzone programy, nie żądając w zamian żadnego wynagrodzenia.
Idea otwartego kodu
Działania entuzjastów free software dotyczyły głównie oprogramowania systemowego – ważnego, ale dla większości użytkowników komputerów raczej abstrakcyjnego. Natomiast nieco później (w 1998 r.) powstała inicjatywa „otwartego kodu” (open source), której inicjatorem był Eric Steven Raymond. W ramach tej inicjatywy tworzone są dziś na całym świecie programy użytkowe (np. gry komputerowe, edytory tekstów, arkusze kalkulacyjne, programy obsługi internetu), których kod źródłowy – np. tekst programu w języku C – jest publicznie dostępny. Ruch otwartego kodu ma trochę inne zasady działania niż ruch wolnego oprogramowania, ale cel jest taki sam: użytkownik programu ma prawo wiedzieć, jak ten program jest zbudowany, a jeśli potrafi, to może go na swój użytek (albo na sprzedaż!) ulepszać, modyfikować, zmieniać.
Ruch open source zapoczątkował wydany w 1997 r. artykuł Raymonda zatytułowany „The Cathedral and the Bazaar” (pol. Katedra i bazar). Raymond przedstawił w nim trochę idealistyczną wizję tworzenia programów jako swoistą misję. Wydawało się, że w na wskroś skomercjalizowanym świecie informatyki idea Raymonda nie ma żadnych szans powodzenia. A tymczasem mnóstwo znakomitych programistów przyjęło tę ideę jako drogowskaz swojego działania i w lutym 1998 r. powołano organizację Open Source Initiative oraz Radę Starszych, która miała inicjować i koordynować działania w ramach tego ruchu. Pierwszymi członkami Rady Starszych byli: John Maddog Hall, Larry Augustin i Bruce Perens. Ten ostatni opracował dokument regulujący zasady pod nazwą „Definicja otwartego źródła” (Open Source Definition). Definicja składa się z 10 punktów i została powszechnie zaakceptowana. Pomimo częstych (ale drobnych) modyfikacji – ostatnia wersja ma numer 1.9 i była opublikowana w kwietniu 2004 r. – jest do dziś chętnie wykorzystywana.
Relacje „wolnego oprogramowania” i „otwartych źródeł”
W odróżnieniu od tzw. wolnego oprogramowania Stallmana ruch open source nie zmierza do rywalizacji czy konfrontacji z oprogramowaniem firmowym, tylko dąży do doskonalenia programów poprzez eliminację błędów. Raymond założył, że jeśli tysiąc oczu obejrzy tekst programu, to każdy ewentualny błąd zostanie wykryty i usunięty, dlatego zasada „otwartego źródła” jest gwarancją wysokiej jakości oprogramowania. Stallman wypowiadał się początkowo o open source dość sceptycznie, podkreślając różnice w filozofii obu ruchów, ale ostatecznie uznał, że cele są wspólne, a różnice drugorzędne. Przypieczętował to Linus Torvalds, wstępując do Rady Starszych Open Source Initiative.
Trzeba przyznać, że zwolennicy „otwartych źródeł” dostali na początku piękny prezent. Otóż współpracująca z Raymondem firma Netscape Communications Corporation udostępniła pełny kod przeglądarki Netscape Communicator. Dzisiejszym użytkownikom komputerów i smartfonów zapewne ta nazwa nic nie mówi, ale w latach 90. ubiegłego wieku przeglądarka Netscape była zdecydowanie najlepszym narzędziem do korzystania z internetu, był to więc naprawdę królewski dar.