Jak nauczyliśmy maszyny liczyć i myśleć za nas? Część 27: Open source

Ruch open source zapoczątkował wydany w 1997 r. artykuł Erica Stevena Raymonda zatytułowany „The Cathedral and the Bazaar”. Raymond przedstawił w nim idealistyczną wizję tworzenia programów jako swoistą misję.

Publikacja: 07.07.2022 21:06

Eric Steven Raymond przemawia na Disruptive Innovation Awards w ramach Tribeca Film Festival. Nowy J

Eric Steven Raymond przemawia na Disruptive Innovation Awards w ramach Tribeca Film Festival. Nowy Jork, 25 kwietnia 2011 r.

Foto: Slaven Vlasic/Getty Images

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.

„Wolne oprogramowania” i „otwarte źródła” obecnie wspierają się wzajemnie, chociaż nadal nie doszło do połączenia obu inicjatyw i do całkowitej likwidacji zauważalnych różnic.

Jak wyglądało to wcześniej?

Opisując aktywność Richarda Stallmana z 1984 r. i Erica Raymonda z 1997 r., przedstawiałem ich działania jako kontestację sytuacji na rynku oprogramowania, który w tamtym czasie był zdominowany przez duże firmy software’owe tworzące i sprzedające różne programy bez prawa kontrolowania ich budowy przez użytkowników. Ta sytuacja utrwalona w latach 80. i 90. XX wieku budziła sprzeciw i prowadziła do powstania inicjatyw opisanych wyżej (i w poprzednim felietonie cyklu), mających swoje konsekwencje także w sytuacji obecnej. Warto jednak zauważyć, że na początku rozwoju informatyki zasady tworzenia i udostępniania programów bardziej przypominały free software i open source niż późniejsze monopolistyczne praktyki IBM czy Microsoft.

W latach 50. i 60. ubiegłego wieku znaczna część oprogramowania tworzona była przez naukowców albo badaczy zatrudnionych w korporacjach, którzy nie wyobrażali sobie innej formy rozpowszechniania płodów swojej pracy, jak udostępnianie za darmo działających programów i publikowanie ich kodów źródłowych. Tego wymaga do dziś kultura akademicka. Kroniki odnotowują, że pierwszym powszechnie dostępnym wolnym i otwartym programem był system operacyjny A-2, opracowany w oddziale UNIVAC firmy Remington Rand w 1953 r., udostępniany wszystkim chętnym wraz z kodem źródłowym, każdy więc mógł go przerabiać, dostosowując do swoich potrzeb. Podobnie było z systemem operacyjnym SHARE, opracowanym w 1959 r. w firmie General Motors dla komputerów IBM 709 i IBM 7090.

Pod koniec lat 60. XX wieku początkowa sielanka zaczęła się psuć. Powstawały nowe systemy operacyjne, nowe języki programowania i nowe programy użytkowe, których posiadanie warunkowało możliwość sensownego użytkowania komputerów. Większość z nich jednak wiązana była z konkretnymi komputerami na takiej zasadzie, że użytkownik w cenie zakupu komputera płacił także za zainstalowane na nim oprogramowanie. Po prostu cena komputera była wyższa. Użytkownikom to nawet odpowiadało – kupowali komplet, a jak chcieli coś więcej, to sami sobie pisali potrzebne im programy, którymi dzielili się z innymi użytkownikami takich samych maszyn. Natomiast armaty wytoczyli wytwórcy oprogramowania, którzy nie byli równocześnie producentami samych komputerów. Zaskarżyli wytwórców komputerów, w tym głównie firmę IBM, o naruszenie zasad swobodnej konkurencji – bo te programy sprzedawane wraz z komputerami rywalizowały z ich produktami z uprzywilejowanej pozycji: użytkownik już je miał wraz z komputerem, a programy produkowane przez innych producentów musiałby dopiero kupić.

17 stycznia 1969 r. ruszył proces „USA kontra IBM” napędzany ideologią antymonopolistyczną. IBM i inni producenci komputerów przegrali i musieli od tej pory osobno sprzedawać sprzęt (komputery), a osobno oprogramowanie – które w ten sposób stało się towarem – trzeba za nie płacić bez względu na to, od kogo się je kupuje.

Warto przypomnieć, że jeszcze w 1970 r. najpierw autorzy, a potem firma AT&T rozpowszechniali system UNIX (o którym pisałem w jednym z wcześniejszych felietonów) całkiem za darmo. Ale już w 1979 r. za ten system trzeba było płacić – i to sporo. W roku 1976 Bill Gates, twórca firmy Microsoft przynoszącej mu miliardy dolarów zysku, napisał słynny list otwarty, w którym rozdawanie programów za darmo określił jako niemoralne. Gwóźdź do trumny wbiła firma IBM: 8 lutego 1983 r. w liście otwartym ogłosiła, że nie będzie już udostępniać kodów źródłowych sprzedawanych przez siebie programów. Powstanie ruchu free software, a potem open source było bezpośrednim następstwem wymienionych zdarzeń.

Końcowa ciekawostka

Na zakończenie tego felietonu przytoczę pewną mało znaną historię dotyczącą odległej od informatyki dziedziny, jaką jest produkcja samochodów. Otóż na początku XX wieku dobrze się zapowiadający rozwój przemysłu samochodowego w USA został zahamowany przez ­George’a Baldwina Seldena, ponieważ w 1895 otrzymał on... patent na samochód. Od tej pory ktokolwiek chciał w USA wyprodukować samochód, musiał płacić Saldenowi tantiemy, co podrażało końcowy produkt i hamowało popyt na samochody. Stowarzyszenie Licencjonowanych Producentów Samochodów potulnie płaciło ten haracz, dopóki w 1903 r. Henry Ford (ten słynny potem producent samochodu Ford T, który zmotoryzował Amerykę) nie złożył do sądu pozwu przeciwko takiemu postępowaniu. Proces trwał osiem lat i był dokładnie relacjonowany przez prasę. Dokumentacja procesu liczy 14 tys. stron! Salden proces wygrał, ale Ford złożył odwołanie od tego wyroku. Żeby móc to zrobić, musiał wpłacić gigantyczną kaucję 350 tys. USD. W tamtych czasach to był ogromny majątek!

Niespodziewanie dla wszystkich 19 stycznia 1911 r. Ford wygrał i produkcja samochodów została w USA odblokowana. Producenci samochodów w USA, świadomi tego, jak szkodliwe bywają prawa patentowe, stworzyli Stowarzyszenie Producentów Pojazdów Silnikowych, w którym obowiązywała zasada, że wynalazca nowego rozwiązania technicznego ma prawo go opatentować (żeby chronić swą myśl techniczną przed producentami spoza stowarzyszenia), natomiast wewnątrz stowarzyszenia wszystkie innowacje są dostępne dla wszystkich bezpłatnie. W ten sposób własnością publiczną (w stowarzyszeniu) stały się 92 patenty Forda i 515 patentów innych firm.

Tę bardzo owocną dla amerykańskiego przemysłu samochodowego praktykę przerwała II wojna światowa, ale na ten właśnie przykład powoływali się twórcy ruchu free software oraz open source, wskazując, że ich inicjatywa przyczyni się do znaczącego rozwoju oprogramowania. Mieli rację!

Autor jest profesorem AGH w Krakowie

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.

Pozostało 92% artykułu
2 / 3
artykułów
Czytaj dalej. Subskrybuj
Historia świata
Pasażerowie "Titanica" umierali w blasku gwiazd
Materiał Promocyjny
Wykup samochodu z leasingu – co warto wiedzieć?
Historia świata
Odzwierciedlają marzenia i aspiracje panny młodej. O symbolice dywanu posagowego
Historia świata
Bezcenne informacje czy bezużyteczne graty? Kapsuły czasu trwalsze od fundamentów
Historia świata
Ludobójstwo w Rwandzie – szczyt obłędu
Historia świata
Prezydent, który zlecił jedyny atak atomowy w historii. Harry S. Truman, część III