W poprzednim felietonie tej serii opisałem historię powstania i rozwoju systemu UNIX. System ten był przez długi okres rozwijany (powstawały kolejne wersje) i udostępniany za darmo. Skończyło się to na wersji nr 7 udostępnionej w 1979 r., natomiast po „wyprostowaniu” pewnych kwestii prawnych firma AT&T, do której należała „wylęgarnia” UNIX-a – Bell Labs, zaoferowała w 1982 r. płatny program o nazwie System III (po ulepszeniach wszedł na rynek pod nazwą System V). Jak opisałem w poprzednim odcinku, doprowadziło to do gigantycznej awantury, bo użytkownicy UNIX-a (zwłaszcza wywodzący się z kręgów akademickich) przyzwyczaili się do darmowego oprogramowania, a w odpowiedzi na wypuszczenie na rynek programu System V stworzyli na Uniwersytecie Berkeley wersję UNIX-a pod nazwą BSD (Berkeley Software Distribution), która była od Systemu V lepsza.

Potomkowie UNIX-a 

Mimo wspomnianych awantur (które z reguły kończyły się w sądzie) na bazie UNIX-a powstało wiele systemów operacyjnych pracujących do dziś. Bardziej znane z nich to AIX (na komputerach IBM), MacOS X (na komputerach Apple) oraz IRIX (na komputerach Silicon Graphics).

Na osobną wzmiankę zasługuje Xenix – wersja UNIX-a dla mikrokomputerów klasy IBM PC, opracowana przez firmę Santa Cruz Operations (SCO) na zlecenie firmy Microsoft. Prace rozpoczęto w SCO 25 sierpnia 1980 r., w roku 1983 system był gotowy, ale Microsoft odstąpił od projektu i pod swoją marką nigdy systemu Xenix nie sprzedawał. Jednak firma SCO zachowała prawa do systemu i sprzedawała ten program przez szereg lat – od 1983 r. dla mikrokomputerów z procesorem Intel 8086, od 1985 r. w wersji dla procesora Intel 80286, a od 1987 r. – dla procesora Intel 80386. Nawiasem mówiąc, w 1987 r. był to pierwszy i przez pewien czas jedyny system działający na mikrokomputerach z 32-bitowym procesorem. Xenix cieszył się pewną popularnością w Polsce, ale era dominacji UNIX-a skończyła się w latach 90. XX wieku, ponieważ – jak wiadomo z moich felietonów o rozwoju sprzętu komputerowego – w tym mniej więcej okresie era minikomputerów zakończyła się na skutek pojawienia się i rozpowszechnienia mikrokomputerów osobistych, dla których systemy operacyjne produkowano według nieco odmiennych zasad.

Powstanie ruchu wolnego oprogramowania

Awantury o UNIX-a sprawiły, że środowisko informatyków uznało, iż nie wszystko w tej dziedzinie powinno się odbywać wyłącznie pod dyktando dużych firm każących sobie słono płacić za udostępniane oprogramowanie. Powstał społeczny ruch wolnego oprogramowania. Za początek tego ruchu uważa się dzień 27 września 1983 r., bo właśnie wtedy „guru” tego ruchu, Richard M. Stallman, ogłosił projekt budowy systemu operacyjnego o nazwie GNU, wyraźnie kontestacyjnego w stosunku do UNIX-a. Już sama nazwa zawierała w sobie tę kontestację, bo opierała się na rekurencyjnej (czyli powtarzanej w kółko) formule: „GNU is not UNIX”.

Warto dodać, że historia wolnego oprogramowania (free software) jest w istocie historią powrotu do korzeni. Gdy powstawały pierwsze komputery, to pisane dla nich programy były dostępne dla użytkowników zarówno w postaci wykonywalnej, jak i w formie kodu źródłowego (tekstu programu napisanego w jednym z języków programowania), dzięki czemu użytkownik – jeśli chciał i jeśli potrafił – mógł program dostosować do swoich potrzeb, zmodyfikować, poprawić błędy itp. Potem jednak firmy produkujące oprogramowanie (na czele z Microsoftem) zaczęły propagować oprogramowanie własnościowe (proprietary software), którego po zakupie można było używać, ale „bez zaglądania do środka”. Należy podkreślić, że właśnie na tej dostępności kodu źródłowego opiera się główna różnica między free software a proprietary software. Osoby mniej obeznane z tą problematyką zwykle koncentrują się na innej różnicy, mianowicie free software można (najczęściej) dostać za darmo, podczas gdy za proprietary software trzeba płacić, i to często bardzo dużo. Tymczasem to nie do końca prawda. Niektóre elementy free software wygodniej jest czasem kupić w formie dającej się łatwiej zainstalować na komputerze i łatwiejszej w użytku, natomiast wielu dostawców proprietary software udostępnia swoje produkty za darmo (np. komunikatory albo przeglądarki), żeby zarabiać na reklamach.

Fakt, że niektóre elementy wolnego oprogramowania są jednak przedmiotem handlu, budzi niekiedy oburzenie nabywców, którzy słowo free w nazwie free software odczytują jako „darmowe”. Rzeczywiście, słowo free ma w języku angielskim także i takie znaczenie, ale w nazwie free software oznacza ono „wolne” (swobodne). Dlatego na stronach organizacji Free Software Foundation (Fundacja Wolnego Oprogramowania), zajmującej się od daty swojej rejestracji (4 października 1985 r.) promocją wolnego oprogramowania, można znaleźć często powtarzane wyjaśnienie, że słowo „free” w  nazwie free software należy rozumieć następująco: „free” as in „free speech” not as in „free beer” (wolne jak „wolne słowo”, a nie jak „darmowe piwo”).

Pionierem wolnego oprogramowania był niewątpliwie wymieniony Richard M. Stallman, który 5 stycznia 1984 r. ogłosił dokument „O projekcie GNU”, w którym deklarował, że zamierza całkowicie się poświęcić sprawie „stworzenia nowej społeczności dzielącej się oprogramowaniem”. Zasady funkcjonowania tej społeczności zostały zawarte w opublikowanym w marcu 1985 r. „Manifeście GNU”. Stallman zdefiniował też zasadę copyleft, która jest odwróceniem używanej przez wydawców i firmy komputerowe znanej zasady copyright. Klasyczna zasada głosi: „All rights reserved” (wszystkie prawa zastrzeżone), natomiast Stallman napisał: „All rights reversed” (wszystkie prawa odwrócone).

Najważniejszy twór wolnego oprogramowana

Stallman w ramach projektu GNU stworzył różne pożyteczne programy, ale prawdziwego systemu operacyjnego zbudować nie zdołał, bo brakowało najważniejszego elementu – jądra. To znaczy miał namiastkę jądra o nazwie Hurd, ale był to niezbyt udany program. Natomiast znakomite jądro systemu zdołał stworzyć w 1991 r. fiński programista Linus Torvalds. Jądro owo (nazwane później Linux) było w całości oparte na zasadzie, że jest darmowe i można dokonywać jego inspekcji wewnętrznej. To ostatnie powoduje, że Linux praktycznie nie zawiera błędów (które bywały zmorą użytkowników innych systemów, np. Windows), ponieważ każdą kolejną jego wersję oglądają „od środka” setki programistów na całym świecie i każdy błąd zostaje szybko wykryty i usunięty.

Inicjatywa Torvaldsa wywołała żywą reakcję sympatyków, którzy ulepszali system, ale dodatkowo przysparzali mu elementów, które go popularyzowały. Przykładem może być nazwa. Torvalds nazwał swój system Freax, ale jeden z jego fanów, Ari Lemmke, zaproponował i rozpropagował nazwę Linux, w której zawarł część imienia twórcy oraz nawiązał fonetycznie do UNIX-a, do którego Linux jest rzeczywiście podobny. Inny sympatyk tego systemu, Larry Ewing, zaproponował bardzo udane logo Linuxa w postaci zabawnego pingwina, któremu nadał imię Tux. Też się przyjęło!

Pierwszą wersję systemu Linux udostępniono publicznie 17 września 1991 r. Było to jednak samo jądro systemu, czyli jego najważniejsza część, ale niewystarczająca do używania tego programu jako samodzielnego pełnowartościowego systemu. Do jądra dołączono narzędzia – Development Kit – pozwalające na takie obudowanie jądra programami pisanymi przez samego użytkownika, które łącznie z jądrem tworzyły na komputerze użytkownika system unikatowy, jedyny w swoim rodzaju. Na początku nie był to zatem jeden Linux na różnych komputerach, tylko cała rodzina różnych Linuxów, które na każdym komputerze mogą mieć inny wygląd (zależało to od pisanej przez użytkownika „powłoki” – części systemu odbierającej polecenia użytkownika i przekazującej mu informacje o funkcjonowaniu komputera). Taki sposób korzystania z systemu operacyjnego powodował, że użytkownik mógł za pomocą Linuxa robić rzeczy, których by w żaden sposób nie mógł robić w żadnym innym systemie, co podobno wykorzystywali hakerzy. Ale być może ta pogłoska o hakerach jako pierwszych zwolennikach Linuxa jest rozpowszechniana przez przeciwników tego systemu, który dawał użytkownikom za darmo to, za co firmy produkujące oprogramowanie kazały sobie słono płacić.

Linux plus GNU to wreszcie komplet

Torvalds miał jądro systemu, ale bez obudowy. Stallman miał w projekcie GNU programy, które mogły pełnić rolę tej obudowy, ale nie miały jądra. Połączenie tych obu części było naturalnym i bardzo korzystnym krokiem. Stallman dał dużo: zestaw kompilatorów GNU Compiler Collection, narzędzia programistyczne GNU Binary Utilities, powłokę bash, bibliotekę standardowych funkcji języka C GNU C Library i narzędzia GNU Coreutils. Torvalds tylko jądro. A jednak wszyscy nazywali powstały twór Linuxem, co Stallmana złościło!

Nawet w połączeniu z oprogramowaniem GNU zainstalowanie i uruchomienie Linuxa wymagało sporej wiedzy informatycznej. Wprawdzie składniki systemu udostępniano za darmo, ale ich połączenie i ustalenie parametrów gwarantujących efektywną pracę pozostawało trudne. Systemy komercyjne (np. Windows) były dla amatora wygodniejsze: wystarczyło je kupić i wgrać do komputera, a cała reszta dokonywała się automatycznie.

Znaleźli się jednak producenci, którzy postanowili połączyć wygodę łatwej instalacji z zerowym kosztem podstawowych składników systemu i stworzyli cały szereg tzw. dystrybucji Linuxa, to znaczy pakietów oprogramowania, które na wybranym komputerze same tworzą wykonywalny (gotowy do użytku) system, nie wymagając zbyt wiele od użytkownika. Jednak tworzenie dystrybucji i pomoc w ich instalowaniu nie było już darmowe.

Kto zarabiał na Linuxie?

Pierwsza dystrybucja Linuxa nazywała się SLS (Softlanding Linux System). Wprowadził ją na rynek w 1992 r. Peter MacDonald. Użytkownicy zaopiniowali ją bardzo pozytywnie. Udoskonaloną wersję systemu SLS stworzył Patrick J. Volkerding, który nazwał ją Slackware. Dystrybucja ta miała swój debiut 16 lipca 1993 r. i od tego czasu do dziś jest stale dostępna i stale popularna. Oczywiście jak większość długo „żyjącego” oprogramowania – dystrybucja Slackware ma kolejne wersje. Powstają tak szybko, że w jednym roku (1999) pojawiły się kolejno wersje o numerach: 4, 5, 6 i 7.

Inna znana (i lubiana!) dystrybucja Linuxa to Debian. Pierwszą jej wersję stworzył i ogłosił (16 sierpnia 1993 r.) Ian Murdock, wówczas student Uniwersytetu Purdue. Nazwę dystrybucji stworzył z połączenia fragmentu imienia swojej dziewczyny (Debory) i swojego imienia. Nazwa się przyjęła i jest pozytywnie odbierana do dziś. Użytkownicy Debiana cenią go ze względu na dostępność w tej dystrybucji zawsze najnowszych wersji oprogramowania poszczególnych elementów składowych systemu (które są stale doskonalone) oraz ze względu na stabilną pracę. Początkowo system zmieniał się powoli i nieznacznie, ale w 1996 r. Iana Murdocka zastąpił Bruce Perens, a po nim w 1998 r. liderem projektu został Ian Jackson. Nowe wersje Debiana posypały się jak z rogu obfitości.

Na osobną wzmiankę zasługuje dystrybucja Red Hat Linux, wprowadzona po raz pierwszy 3 listopada 1994 r. Rozwijano ją potem w dwóch kierunkach. Na potrzeby różnych przedsiębiorstw ceniących system Linux za jego stabilną pracę rozwijano wersję komercyjną nazwaną Red Hat Enterprise Linux. Wydzielono też część niekomercyjną o nazwie Fedora, przeznaczoną głównie dla amatorów, którzy z upodobaniem zmieniali i modyfikowali system, w związku z czym system Fedora miał rekordowo dużo wersji.

Dla porządku dodajmy, że jest jeszcze dużo innych dystrybucji Linuxa, np. Gentoo, Mandriva, SuSE czy Ubuntu – ale ich już nie będziemy tu omawiali.

Autor jest profesorem AGH w Krakowie