Historia WiOO

Profile picture
Michał Rzeszutek

Początków ruchu wolnego i otwartego oprogramowania należy doszukiwać się w latach 80-tych XX wieku, jednak sama idea otwartych źródeł oraz nieskrępowanej wymiany wiedzy pojawiła się znacznie wcześniej. Jednym z ważniejszych wydarzeń w historii ruchu open source było uformowanie się w 1911 roku w USA Stowarzyszenia Producentów Pojazdów Motorowych (ang. Motor Vehicle Manufacturers Association) oraz przyjęcie przez niego porozumień o wolnej wymianie licencji (ang. cross-licensing agreement), ułatwiających modyfikowanie i wymianę patentów bez ponoszenia kosztów między członkami stowarzyszenia.

Dzięki uproszczeniu procedur możliwe było zaangażowanie w kosztowne projekty większej grupy inżynierów opracowujących nowe rozwiązania, wyszukujących i usuwających znane błędy techniczne. Redukcja kosztów w połączeniu z przyśpieszeniem prac nad doskonaleniem technologii umożliwiła szybkie upowszechnienie się motoryzacji w Stanach Zjednoczonych oraz na świecie.

Podobną sytuację można zaobserwować w przypadku oprogramowania komputerowego. W latach 50-tych z elektrycznych maszyn obliczeniowych korzystało głównie wojsko oraz uniwersytety, prowadząc własne badania rozwojowe. Wysokie koszty eksploatacji, problemy natury technicznej oraz problemy logistyczne związane z wagą, a także wielkością pierwszych komputerów uniemożliwiały opracowanie wersji maszyn przeznaczonych na użytek domowy. Pierwszy komputer elektroniczny ENIAC pobierał 200 kW energii elektrycznej oraz ważył 30 ton. Problemem był także brak uniwersalnych języków programowania. Tworzenie specyficznego kodu dla każdej maszyny, a nawet konieczność przepisywania całego systemu przy aktualizacji sprzętu, połączona z każdorazowym szkoleniem personelu obsługującego maszyny, zwiększała drastycznie i tak wysokie koszty produkcji. Specyfika wczesnych komputerów zmuszała producentów do rozpowszechniania produktów wraz z oprogramowaniem nieobjętym restrykcyjnymi licencjami, umożliwiając tym samym doskonalenie i przystosowywanie go do potrzeb użytkowników. By usprawnić i ułatwić pracę nad poprawkami, dostosowywaniem i wymianą oprogramowania tworzono grupy dyskusyjne lub całe sieci zrzeszające zarówno indywidualnych użytkowników, deweloperów, instytucje badawcze, jak i firmy komercyjne. Najważniejszymi przedsięwzięciami tego typu była grupa użytkowników DECUS (ang. Digital Equipment Computer User Society) działająca w ramach Digital Equipment Corporation oraz SHARE, grupa użytkowników komputerów IBM 701 założona w 1955 roku.

Próbę rozwiązania problemu braku jednolitego systemu podjęli w 1965 roku pracownicy Bell Labs, General Electricy Company oraz Massachusetts Institute of Technology, rozpoczynając pracę nad projektem Multics (ang. Multiplexed Information and Computing Service), będącym rozwinięciem systemu CTTS, Fernando Corbató. Celem tych prac było optymalne wykorzystanie mocy obliczeniowej maszyny, umożliwiające dostęp, przechowywanie i współdzielenie danych kilku użytkownikom jednoczenie. Zakończony w 1969 roku projekt Multics nie odniósł większego sukcesu i został oficjalnie porzucony. Nad jego rozwojem postanowił pracować samodzielnie jeden z inżynierów, Ken Thompson. Owocem jego prac była gra Space Travel funkcjonująca pod kontrolą systemu Multics na komputerze GE635. Niewystarczająca moc obliczeniowa maszyny wymusiła przepisanie aplikacji dla komputera PDP-7. W migracji pomógł Thompsonowi Dennis Ritchie. Dalsza współpraca tych inżynierów doprowadziła do powstania systemu UNIX, Unix Time-Sharing System. Po opracowaniu przez Dennisa Ritchie języka C, Ken Thompson postanowił przepisać w nim całe jądro UNIX, umożliwiając tym samym wykorzystanie systemu w komputerach o zróżnicowanej architekturze. Niskie wymagania sprzętowe systemu oraz rozwój komputerów trzeciej, a następnie czwartej generacji wpłynęły znacząco na popularność Uniksa, dostrzeżonego zarówno przez jednostki badawcze, jak i organizacje komercyjne widzące w nim spore oszczędności.

Pomimo zakończenia przez firmę IBM w 1965 roku rozpowszechniania kodu źródłowego systemów operacyjnych wraz ze sprzedawanym sprzętem, udostępnianie źródeł programów było nadal zjawiskiem powszechnym, a samo oprogramowanie traktowano jako produkt drugorzędny w stosunku do sprzętu. W latach 70-tych system UNIX rozprowadzany był bezpłatnie wraz z kodem źródłowym. Miało to przynieść producentowi korzyści w postaci szybkiego rozwoju systemu, rozprzestrzenienia na rynku oraz przyszłych korzyści płynących z wykorzystujących system instytucji. Powstawały nowe dystrybucje dostosowane do potrzeb organizacji oraz programy. Wraz z rosnącym wykorzystaniem komputerów przez firmy komercyjne oraz rozwojem komputerów osobistych, warunki licencji na system UNIX zaostrzały się. Umożliwienie zakupu programu wraz z kodem źródłowym rozpoczęło proces zamykania oprogramowania stającego się coraz cenniejszym dobrem. Podział koncernu AT&T w 1984 roku na regionalne firmy wymusił pobieranie opłat licencyjnych od użytkowników Uniksa oraz instytucji rozwijających system, co zamknęło wolny dostęp do źródeł.

Głównym czynnikiem odpowiedzialnym za rozpad dotychczasowej polityki rozwoju i dystrybucji oprogramowania był postęp technologiczny. Rosnąca ilość użytkowników komputerów, rozwijający się rynek urządzeń osobistych oraz gwałtowny wzrost zapotrzebowania na oprogramowanie, którego budowa umożliwiałaby wykorzystanie przez niewykwalifikowanych użytkowników, wymagały znacznego zwiększenia środków wydatkowanych na zaspokojenie tego sektora. Decydującą rolę zaczęły odgrywać rosnące w siłę firmy i koncerny, których siła wytwórcza przewyższała znacznie możliwości środowiska akademickiego czy też hakerskiego. Wskaźnikiem zmian na rynku oprogramowania komputerowego jest opublikowany w 1976 roku na łamach Homebrew Computer Club Newsletter list otwarty Billa Gatesa do hobbystów. Autor publikacji broniąc jednocześnie praw producentów, zauważa znaczne różnice w rzeczywistej liczbie użytkowników interpretera Altair BASIC, a wartością wskazywaną prze wyniki sprzedaży.

Jak większość hobbystów pewnie wie, wielu z was kradnie oprogramowanie. Za sprzęt trzeba zapłacić, ale oprogramowanie to coś, czym można się dzielić. Czy kogoś obchodzi, czy ludzie, którzy nad nim pracowali, dostaną wypłatę? […] Jedyne co robicie, to powodujecie, że dobre oprogramowanie nie będzie tworzone.

Bill Gates

Treść listu obrazuje sytuację panującą na rynku oprogramowania u schyłku lat 70-tych. Dotychczasowe zasady rozwoju programów kierujące do ich darmowego rozpowszechniania wraz z kodem źródłowym, zaczęły być wypierane przez umowy licencyjne oraz patenty chroniące własność producentów. Zaczęto także aktywnie walczyć o przestrzeganie tych praw. W związku z zmianami na rynku IT oraz panującym w grupie fascynatów przyzwyczajeniem do otwartego i ogólnie dostępnego oprogramowania, określanym w latach 80-tych mianem kradzieży, społeczność hakerska, będąca dotąd główną grupą rozwijającą oprogramowanie, zaczęła powoli obumierać. Brak możliwości kontynuowania prac w związku z coraz popularniejszym oprogramowaniem własnościowym, często rozprowadzanym wraz z sprzętem komputerowym, podpisywanie umów o zachowaniu poufności lub przejęcia przez firmy komercyjne znacznej grupy hakerów rozwijających dany projekt skutecznie uniemożliwiały dalszą grupową współpracę.

Zróżnicowane nastawienie do oprogramowania na początku lat 80-tych pokazuje przypadek umowy zawartej w 1981 roku pomiędzy czołowym producentem sprzętu komputerowego, firmą IBM, a małą i dopiero rozwijającą się firmą Micro-soft. Poza zapisami dotyczącymi dostarczenia przez producenta systemu operacyjnego dla maszyn wytwarzanych przez IBM, umożliwiała ona także dystrybucje programów na rynku którego firma nie kontrolowała. Brak zrozumienia i docenienia oprogramowania komputerowego przez ówczesne kierownictwo firmy ułatwił rozwój obecnie największego na świecie producenta programów komputerowych, jakim jest firma Microsoft.

Dynamiczne zmiany na rynku oprogramowania nie odpowiadały wszystkim. W 1979 roku firma Xerox podarowała uczelni MIT najnowszy model swojej kserokopiarki, umożliwiającej pracę w sieci oraz cechującej się dziesięciokrotnie wyższą wydajnością niż dotychczasowo użytkowany na uczelni model. Niestety urządzenie często się zacinało uniemożliwiając dalszą eksploatację. Założony przez inżynierów Xeroksa sposób użytkowania sprzętu, przy którym bez przerwy przebywałaby osoba mogąca zdiagnozować usterkę, nie sprawdził się. Pracownicy MIT przesyłając dokumenty do drukarki znajdującej się na innym piętrze, wykorzystywali sieć lokalną, ponieważ oprogramowanie urządzenia nie posiadało funkcji diagnostycznych personel, nie mógł na miejscu ocenić jego aktualnego stanu. Problem zdecydował się rozwiązać jeden z pracowników Laboratorium Sztucznej Inteligencji MIT, Richard Stallman. Haker zamierzał zmodyfikować sterownik kserokopiarki, dodając niezbędne funkcje, podobnie jak uczynił to w przypadku poprzednio wykorzystywanego na uczelni modelu. Tym razem jednak próba nie powiodła się gdyż producent nie dostarczył kodu źródłowego oprogramowania wykorzystywanego przez sprzęt. Odmowa pracowników Xeroksa na prośbę dostarczenia niezbędnego kodu oraz nieudana próba uzyskania go od profesora Roberta Sproulla, byłego pracownika Xeroksa, którego obowiązywała tajemnica handlowa, uświadomiły Stallmanowi, że rynek oprogramowania opierający się od czasu II Wojny Światowej na zasadach wolnej dystrybucji kodu źródłowego, zaczyna się zmieniać.

Zdecydowany sprzeciw hakera przyniósł późniejszy konflikt z zarządcą systemu wykorzystywanego na uczelni. Prośbę skierowaną do wszystkich pracowników Massachusetts Institute of Technology’s Artificial Intelligence Laboratory o podpisanie umowy zabraniającej ujawniania kodów źródłowych wykorzystywanego przez nich oprogramowania, Richard Stallman, mający w pamięci swoje problemy z firmą Xerox oraz będący stanowczym zwolennikiem wyznawanych dotąd wartości, odrzucił, stwierdzając później:

Już wtedy doświadczyłem, co znaczy być odbiorcą umowy o nieujawnianiu, kiedy ktoś odmówił mi oraz Laboratorium MIT kodu źródłowego do programu kontrolującego drukarkę (brak pewnych możliwości tego programu czynił korzystanie z drukarki zajęciem ogromnie frustrującym.) Tak więc nie mogłem sobie powiedzieć, że umowy o nieujawnianiu są nieszkodliwe. Byłem rozzłoszczony, kiedy odmówiono nam udostępnienia kodu; nie mogłem obrócić się na pięcie i zacząć robić to samo innym.

Richard Stallman

Odmowa Stallmana wiązała się jednocześnie z odsunięciem go od większości projektów. Połączenie problemów zawodowych z rozpadem społeczności hakerskiej, przejęciem większości pracowników IA MIT przez firmę Symbolic oraz wyznawane przez hakera wartości zmusiły go do porzucenia pracy w instytucie. Nie chcąc jednocześnie rezygnować ze sprawiającego mu radość zawodu oraz marnować swoich umiejętności, postanowił rozpocząć własny projekt mający na celu wskrzeszenie dawnych społeczności hakerskich. W 1983 roku powiadomił na grupie dyskusyjnej o rozpoczęciu przez siebie prac nad nowym systemem operacyjnym opartym na Uniksie. W 1984 roku porzucił stanowisko w macierzystej instytucji, uniemożliwiając jednoczenie jej ingerencje w nowy projekt określony akronimem GNU od GNU is Not Unix. Założenia projektu zostały sformułowane w dokumencie GNU – Manifesto opublikowanym oficjalnie w czasopiśmie dla programistów Dr. Dobb’s Journal w marcu 1985 r. Plan Stallmana zakładał stworzenie nowego systemu operacyjnego opartego wyłącznie na wolnym oprogramowaniu. Pomóc w tym miała założona w 1985 roku Free Software Foundation (FSF, pol. Fundacja Wolnego Oprogramowania).

Celem organizacji non-profit było wspieranie projektu GNU oraz ochrona praw indywidualnych twórców i użytkowników. Rozpoczęcie działalności instytucji zbiegło się w czasie z okresem komercjalizacji systemu UNIX, co przysporzyło projektowi dodatkowych zwolenników. W 1989 roku została wydana przez FSF pierwsza wersja licencji GNU, zawierająca wszystkie wspomniane powyżej zalecenia oraz definiująca po raz pierwszy wolne oprogramowanie.

Pomimo stworzenia przez społeczność szeregu wolnych aplikacji, jak edytor Emacs, kompilator GCC lub binutils, wciąż brakowało najważniejszej części, jądra systemu. Liczne próby adaptacji dotychczas dostępnego wolnego kodu nie powiodły się. Użycie mikrojądra Mach, czy dostosowanie i usunięcie z jądra BSD własnościowego kodu AT&T zostały z przyczyn technicznych odrzucone lub znacznie opóźnione. Ożywienie przyniosło w 1991 roku wypełnienie luki przez finlandzkiego studenta Uniwersytetu w Helsinkach, Linusa Torvaldsa. Korzystając z narzędzi opracowanych przez społeczność GNU, opracował on własne jądro wzorowane na Uniksie, a dokładnie jednej z jego dystrybucji, nazwanej Minics. Nowe, przepisane samodzielnie od podstaw jądro przyjęło nazwę Linux, prawdopodobnie od złożenia słów Linus i Unix. Udostępnienie w 1992 roku kodu jądra na licencji GNU GPL umożliwiło jego szybki rozwój. W 1994 roku kiedy, jądro Linuksa osiągnęło wersję 1.0, w projekt zaangażowanych było już milion osób. Liczna społeczność rozwijała oprogramowanie komunikując się głównie przez Internet co było swego rodzaju nowością, dotychczas bowiem uważano, że tego typu projekty są zbyt poważnym wyzwaniem dla niezorganizowanej w małych grupach liczby osób. Uzupełnienie jądra Linuksa o aplikacje użytkowe i programistyczne umożliwiło stworzenie kompletnego systemu operacyjnego, nazwanego, w związku z wspomnianym połączeniem dwóch środowisk, GNU/Linux. Pierwsze wolne dystrybucje systemu, jak Slackware lub Debian, powstały już w 1993 roku. Rosnąca popularność systemu przyciągała również przedsiębiorstwa tworzące własne komercyjne dystrybucje. Najważniejszymi z nich są firmy Red Hat oraz Novell.

Nowym typem rozwoju oprogramowania, widocznym w przypadku jądra Linuksa, zainteresował się szczególnie Eric Raymonds, współtwórca edytora Emacs, bibliotek giflib, a także systemu konfiguracyjnego jądra Linuksa CML2. W artykule The Cathedral and the Bazaar wskazał m.in. dwa nurty tworzenia oprogramowania: katedralne tworzone przez wąską grupę programistów oraz bazarowe, w tym przypadku odnosząc się do sposobu prac nad jądrem Linuksa. Jego odczyt na konferencji O’Reilly Perl Conference w 1997 roku zainteresował i zainspirował wielu programistów oraz przedsiębiorstwa do uwolnienia kodu oraz wykorzystania idei otwartego oprogramowania w biznesie. Firma Netscape Communications Corporation, tracąca w tym czasie znaczną część rynku przeglądarek internetowych na rzecz Internet Explorer marki Microsoft, zaciekawiona ideą Raymonda postanowiła przenieść projekt przeglądarki Netscape Navigator w sferę open source. W przedsięwzięciu pomóc miał sam autor eseju. Podczas konsultacji uznano, że dotychczasowy rozwój wolnego oprogramowania zgodny z postanowieniami FSF powinien być zastąpiony liberalnymi, sprzyjającymi przedsiębiorcom regułami. Odideologizowanie i nastawienie na promowanie jedynie wyższości technologicznej wolnego oprogramowania wymusiło zapoczątkowanie w 1998 roku nowego ruchu, Open Source Initiative. Nowa działalność zastała zaaprobowana przez wielu dotychczasowych twórców wolnego oprogramowania, w tym autora jądra Linuksa, Linusa Torvaldsa. Początkowo rozpatrywano nawet włączenie OSI do FSF. Ostatecznie Richard Stallman skrytykował ruch open source, uznając że odwraca on uwagę od najważniejszej sprawy i głównej cechy ruchu wolnego oprogramowania, tj. moralności. Uznał także że choć obie instytucje różnią się od siebie, w przypadku niektórych projektów mogą współpracować. Twierdził:

Ruch Wolnego Oprogramowania i Otwartego Oprogramowania są dziś oddzielnymi ruchami z innymi poglądami i celami, jakkolwiek możemy i współpracujemy ze sobą przy pewnych konkretnych projektach.

Richard Stallman

Pierwotnym celem Open Source Initiative jako organizacji non-profit było zbudowanie trwałej instytucji reprezentującej środowisko otwartego oprogramowania oraz zatwierdzanie licencji zgodnych z założeniami ruchu. Wiele z dokumentów zaaprobowanych przez OSI uznawanych jest również przez FSF. Jedną z tego typu licencji jest Mozilla Public License, na której ostatecznie oparto część kodu wchodzącego w skład aplikacji Mozilla Firefox, a będącego składnikiem przeglądarki Netscape Navigator.

Aktualnie obydwie organizacje aktywnie ze sobą współpracują, umacniając pozycję na rynku oprogramowania komputerowego, a nawet wychodząc poza główny obszar działalności. Jednym z ważniejszych odłamów ruchu wolnego i otwartego oprogramowanie jest organizacja Creative Commons, dostosowująca idee otwartych źródeł dla utworów innych niż programy komputerowe. W ostatnich latach zaobserwować można także powrót ruchu open source do sfery motoryzacji, widoczny na przykładzie przedsiębiorstwa Local Motors. Wzrost znaczenia ruchu otwartego i wolnego oprogramowania wymusił stworzenie neutralnego określenia obejmującego obydwie bliskie sobie frakcje. W tym celu powstało pojęcie FLOSS, od Free Libre/Open Source Software. Skrót FLOSS, podobnie jak zbliżone formy FOSS oraz F/OSS czy też polska odmiana WiOO, wolne i otwarte oprogramowanie, stosowane są najczęściej w dokumentach urzędowych oraz oficjalnych analizach.

Dzięki szybkiemu rozwojowy sieci internet, rosnącej liczbie deweloperów oraz silniejszemu wsparciu firm komercyjnych, wolne i otwarte oprogramowanie coraz lepiej radzi sobie z oprogramowaniem własnościowym, pozyskując z każdym rokiem coraz większy obszar rynku, zarówno w sektorze zastosowań profesjonalnych, jak i aplikacji dla użytkowników indywidualnych.