Chcąc w pełni zrozumieć dzisiejsze modele licencjonowania oprogramowania należy cofnąć się do lat 60-tych12, kiedy pojawiły się pierwsze komputery dla rozwiązań biznesowych. Wtedy oprogramowanie stanowiło nieodłączną część produktu jakim był komputer i było dostarczane za darmo, razem z kodem źródłowym. Ówcześnie dostarczane programy zawierały dużo błędów, więc dostarczanie kodu źródłowego było konieczne, aby jego użytkownicy – wtedy głównie programiści – mogli je poprawiać.
Ten artykuł jest drugim z serii dziesięciu tekstów dotyczących porównania modeli licencjonowania oprogramowania. Każdy z nich to fragment pracy magisterskiej „Analiza porównawcza modeli licencjonowania oprogramowania”. Powstała ona w 2008 roku na Wydziale Zarządzania Uniwersytetu Ekonomicznego w Krakowie pod kierunkiem dr Barbary Nowarskiej.
Oprogramowanie było rozwijane przez pracowników firm oraz przez uniwersytety. Firmy bardzo chętnie udostępniały swoje oprogramowanie uczelniom, gdyż były one dla nich darmową siłą roboczą. Jednymi z takich akademickich programistów byli hakerzy13 (jak sami siebie nazywali) z Laboratorium Sztucznej Inteligencji w Massachusetts Institute of Technology (w skrócie: [ang.] AI Lab). Hakerzy udostępniali swoje programy wszystkim, za darmo. Dzielenie się kodem źródłowym pisanych przez siebie programów było wtedy na porządku dziennym. Jeden z nich wspomina tamte czasy w następujący sposób:
Nie nazywaliśmy naszego oprogramowania «wolnym oprogramowaniem», bo taki termin wówczas nie istniał. Ale właśnie takie ono było. Kiedy pracownicy innego uniwersytetu albo firmy chcieli przenieść jakiś program na swój system i korzystać z niego, to z chęcią się zgadzaliśmy. Kiedy widziało się kogoś korzystającego z nieznanego, interesującego programu, to zawsze można było poprosić o jego kod źródłowy – żeby go przeczytać, zmienić lub użyć jego fragmentów do stworzenia nowego programu14
W 1969 roku IBM, głównie z powodu obaw o proces antymonopolowy, zdecydował się oddzielić oprogramowanie od sprzętu komputerowego, który sprzedawał15. Wtedy też coraz więcej firm zajmujących się tworzeniem oprogramowania zaczęło ograniczać do niego dostęp – za pomocą kontraktów, prawa autorskiego, i umów NDA (ang. non-disclosure agreement – umowa o zachowaniu poufności). Z powodu podpisywania NDA i chęci szybkiego zysku programiści przestali udostępniać za darmo swoje programy i zaczęli w nich umieszczać różne zabezpieczenia mające ograniczać swobodne ich kopiowanie (np. „bomby czasowe” blokujące program po określonym upływie czasu).
Jedną z pierwszych oznak tego trendu można było zauważyć w „Otwartym liście do hobbystów” autorstwa Billa Gatesa, opublikowanym w 1976 roku w biuletynie Klubu Hobbystów Komputerowych (Homebrew Computer Club):
Kogo stać na to, żeby wykonywać profesjonalną pracę za darmo? Jaki hobbysta potrafi przez 3 lata programować, wyszukiwać błędy, dokumentować swój produkt i rozpowszechniać go za darmo?16
W tym momencie, w celu łatwiejszego zrozumienia wydarzeń, należy rozdzielić historię na 4 równolegle biegnące części.
Projekt GNU i ruch wolnego oprogramowania
W 1980 roku Richard Matthew Stallman – haker ówcześnie pracujący w AI Lab – próbował zdobyć kod źródłowy do sterownika drukarki laserowej (którą Xerox podarował MIT), aby dodać do niej funkcję informującą użytkowników o zacięciu papieru. Poprzednie drukarki były dostarczane z kodem źródłowym sterowników, więc możliwość ich poprawienia była dla Stallmana czymś naturalnym. Tym razem uległ on rozczarowaniu, gdyż odmówiono mu dostępu do owego kodu źródłowego. Chcąc uzyskać dostęp do tego kodu musiałby podpisać umowę NDA, co było niezgodne z jego własnym etosem hakera. To anegdotyczne wydarzenie było zwiastunem nadchodzących zmian
Oprogramowanie stało się dla firm rzeczą tak ważną, że [firmy] uznały publikowanie kodów źródłowych za zbędne i niebezpieczne, gdyż mogło stać się dla konkurencji tanim źródłem pożądanych informacji17.
W 1981 roku firma Symbolics zatrudniła niemal wszystkich pracowników AI Lab. Z hakerskiej społeczności zostali tylko nieliczni, w tym Richard Stallman. Stanął on wtedy przed trudnym wyborem. Mógł podpisać NDA i dołączyć do świata zamkniętego oprogramowania. Mógł też wycofać się z branży komputerowej, żeby nie wykorzystywać swoich umiejętności do ograniczania wolności użytkowników. Żadne z tych rozwiązań nie było dla niego akceptowalne, więc postanowił poszukać innego wyjścia, takiego, które by pozwoliło odtworzyć społeczność programistów.
We wrześniu 1983 roku Stallman ogłosił rozpoczęcie prac18 nad stworzeniem kompletnego, kompatybilnego z Uniksem19 systemu operacyjnego będącego wolnym oprogramowaniem (więcej na ten temat w rozdziale Wolne oprogramowanie), zwanego GNU20 (ang. Gnu’s Not Unix – Gnu to nie Unix). Na początku 1984 roku Stallman opuścił MIT, aby w pełni skupić się na pracy nad projektem GNU oraz żeby MIT – jako pracodawca – nie mogło sobie rościć żadnych praw do jego właśnie tworzonego dzieła. W 1985 roku założył Free Software Foundation21 (fundację wolnego oprogramowania) – organizację non-profit skupiającą programistów tworzących wolne oprogramowanie i tworzącą prawne podstawy ruchu wolnego oprogramowania. Najważniejszym dziełem FSF jest GNU General Public License22 (Powszechna Licencja Publiczna GNU, w skrócie GPL) – ogólna licencja, którą każdy programista może zastosować do swojego dzieła, w celu nadania mu statusu wolnego oprogramowania i ochrony wolności jego użytkowników. Pierwsza jej wersja została wydana w 1989 roku. Wersja druga (GPLv2), wydana w 1991 roku, obecnie pozostaje najpopularniejszą licencją wolnego oprogramowania23. 29 czerwca 2007 roku została wydana trzecia wersja licencji GPL (GPLv3), ale postęp w jej przyjmowaniu jest powolny24.
Przez lata programiści GNU tworzyli kolejne elementy swojego systemu operacyjnego (kompilator GCC, debugger GDB, biblioteka języka C) lub wykorzystywali istniejące (X Window System, system składu druku TeX), ale wciąż brakowało im jednego najważniejszego elementu – jądra systemu25. Stworzenie jądra, nazwanego później Hurd, okazało się trudniejsze niż początkowo przypuszczano. Projekt ciągle był w fazie głębokiego rozwoju, a nawet do dziś nie został jeszcze ukończony. Tą patową sytuację przerwało dopiero pojawienie się w 1991 roku nowego, niezależnie stworzonego jądra Linux26, autorstwa fińskiego studenta Linusa Torvaldsa. Warto zauważyć, że początkowo Linux wydany był na własnej licencji zakazującej wykorzystywania komercyjnego, a dopiero rok później (w 1992 roku), został wydany na licencji GPLv2.
Po skompletowaniu systemu rozwój Linuksa i narzędzi GNU uległ przyspieszeniu. Powstały liczne dystrybucje systemu GNU z jądrem Linux. Jedne były rozwijane niekomercyjnie przez społeczności i fundacje (Debian, Slackware), a drugie były rozwijane komercyjnie przez firmy (Red Hat, Suse, Mandriva). Dzięki GPL i innym licencjom wolnego oprogramowania każdy mógł stworzyć swoją dystrybucję systemu GNU/Linux samodzielnie zbierając poszczególne komponenty systemu lub opierając się na jednej z istniejących dystrybucji27. Obecnie istnieje ok. 550 dystrybucji Linuksa i ciągle powstają nowe28. Dzięki otwartemu kodowi źródłowemu Linux został przeportowany (przystosowany do pracy) na większość architektur sprzętowych, dzięki czemu znalazł zastosowanie na serwerach, komputerach domowych, klastrach, superkomputerach, telefonach komórkowych, palmtopach, i innych urządzeniach29.
Nie wszyscy zgadzali się z filozoficzną argumentacją Richarda Stallmana dla istnienia wolnego oprogramowania (patrz rozdział Wolne oprogramowanie). Wielu twórców wolnych programów miało do niego znacznie bardziej pragmatyczne podejście. Dodatkowym problemem była dwuznaczność angielskiego terminu free software, który w powszechnym rozumieniu wielu osób oznacza tylko darmowe oprogramowanie. W języku polskim nie ma takiego problemu. Stallman definiując w języku angielskim wolne oprogramowanie musiał objaśniać, że słowo „free” oznacza „wolny”, jak w słowie „wolność” (free as in freedom), a nie tylko „darmowy”, jak darmowe piwo (free as in free beer).
W 1997 roku Eric Steven Raymond, znany w środowisku wolnego oprogramowania programista i autor eseju „The Cathedral and the Bazaar” (Katedra i Bazar30), był zaniepokojony tym, że bezkompromisowa postawa Stallmana odstrasza konserwatywnych biznesmenów. Chcąc zainteresować świat biznesu wolnym oprogramowaniem Raymond postanowił wymyślić dla niego nową, mniej ideologicznie nacechowaną nazwę. W porozumieniu z innymi osobami utworzyli termin open source31 (dosłownie: „otwarte źródło”, w języku polskim jest tłumaczony jako „otwarte oprogramowanie”32) i założyli organizację zajmującą się promocją otwartego oprogramowania – Open Source Initiative (OSI)33. Organizacja ta przyznaje znak handlowy „Open Source Initiative Certified”34 programom, które są wydane na jednej z zaakceptowanych przez nią licencji. Działania Raymonda przyniosły pierwszy znaczący efekt w 1998 roku, kiedy firma Netscape Communications Corporation zdecydowała się udostępnić kod źródłowy swojej przeglądarki www Netscape Communicator35.
Będąc bardziej jednoznaczny niż free software, termin open source szybko osiągnął dużą popularność przyćmiewając osiągnięcia Stallmana i założonej przez niego Free Software Foundation. Stworzenie OSI zostało przez niego uznane za rozłam i próbę wymazania go z historii. Zwolennicy terminu open source kładą nacisk na techniczną doskonałość kodu źródłowego oprogramowania, będącą efektem większej liczby programistów mogących go poprawić. Eric Raymond sformułował to w swoim Prawie Linusa (na cześć Linusa Torvaldsa):
przy wystarczającej liczbie oczu wszystkie błędy są proste36.
Poza tym, Raymond w swoim eseju zwrócił uwagę także na otwartość procesu tworzenia oprogramowania. Raymond porównał duże, scentralizowane projekty (niezależnie od otwartości ich kodu źródłowego) do budowy katedry, przy której wszystko jest robione pod dyktando głównego architekta. Zaś na przykładzie rozwoju Linuksa Raymond opisał nową metodologię tworzenia oprogramowania, którą nazwał bazarem. Metodologia ta opiera się na publicznym i zdecentralizowanym rozwoju oprogramowania37. Stallman zaś odrzuca takie pragmatyczne myślenie i stale przypomina, że podstawą dla stworzonej przez niego idei wolnego oprogramowania jest wolność. Choć oba ruchy mają odmienne filozoficzne podstawy swojego działania, to osoby do nich należące na co dzień potrafią ze sobą współpracować, a w krytycznych sytuacjach, takich jak pozwy sądowe SCO przeciwko firmom rozwijającym i używającym Linuksa38, potrafią stanąć razem po jednej stronie.
Przypisy:
- http://www.softwarehistory.org/history/d_60s.html
- Słowo haker wtedy oznaczało osobę o dużych umiejętnościach informatycznych. Szczegółową definicję, wraz z opisami późniejszych przeinaczeń tego terminu podaje Wikipedia: Hasło w Wikipedii
- R. M. Stallman, „Projekt GNU”, tłum. Grupa tłumaczy witryny Projektu GNU
- http://www-03.ibm.com/ibm/history/history/decade_1960.html
- Zob. http://www.blinkenlights.com/classiccmp/gateswhine.html; tłumaczenie własne.
- S. Williams, „W obronie wolności. Krucjata hakera na rzecz wolnego oprogramowania” (w oryg. „Free as in Freedom: Richard Stallman’s Crusade for Free Software”), tłum. K. Masłowski, wyd. Helion, 2003. Książka dostępna w Internecie: http://stallman.helion.pl
- Wiadomość wysłana do grupy dyskusyjnej net.unix-wizards, obecnie dostępna w archiwum: http://groups.google.pl/group/net.unix-wizards/msg/4dadd63a976019d7
- Unix był uniwersalnym i bardzo popularnym systemem operacyjnym stworzonym przez AT&T (American Telephone & Telegraph). Szczegółowa historia jego powstania została opisana w rozdz. Unix i BSD – akademickie podejście (już w następnym artykule tej serii – przyp. red.) Zob. też http://www.bell-labs.com/history/unix/
- The GNU Project – http://www.gnu.org/
- http://www.fsf.org/
- Więcej na jej temat w rozdz. Licencje z klauzulą copyleft.
- Źródło: D. A. Wheeler, „Make Your Open Source Software GPL-Compatible. Or Else”, p. 2, http://www.dwheeler.com/essays/gpl-compatible.html oraz statystyki serwisu Freshmeat: http://freshmeat.net/stats/#license
- Dane z serwisu http://gpl3.palamida.com
- W literaturze informatycznej spotyka się 2 pojęcia systemu operacyjnego: pierwsze odnosi się do głównego programu zarządzającego sprzętem i aplikacjami uruchamianymi na komputerze, drugie zaś rozciąga w/w pojęcie także na podstawowe programy wraz z nim dostarczane a sam program zarządzający nazywa jądrem (ang. kernel) systemu operacyjnego. W niniejszej pracy użyto drugiego pojęcia.
- Z nazwą Linux też wiąże się kolizja nazewnictw: system stworzony z jądra Linux i komponentów systemu GNU zyskał popularność właśnie jako „Linux”, a nie „GNU”. Aby uniknąć kolizji nazw, taki system nazywa się „dystrybucją Linuksa”, lub (wedle zaleceń FSF) „GNU/Linux”. Zob. http://www.gnu.org/gnu/linux-and-gnu.html
- Graficzne zobrazowanie tworzenia kolejnych dystrybucji w czasie można znaleźć na stronie http://futurist.se/gldt/
- Dane z serwisu http://distrowatch.com
- http://kernel.org/#whatislinux
- Raymond napisał ten esej w 1997 roku. W 1999 roku wydawnictwo O’Reilly opublikowało go razem z innymi jego esejami w formie książki: E. S. Raymond, „The Cathedral & The Bazaar. Musings on Linux and Open Source by an Accidental Revolutionary”, wyd. O’Reilly Media, Sebastopol, California 1999. Eseje z tej książki są także dostępne w Internecie: http://catb.org/~esr/writings/cathedral-bazaar/
- Szczegółowa historia jest opisana na stronie http://opensource.org/history
- Więcej na ten temat w rozdz. Wolne oprogramowanie(publikacja nastąpi w najbliższym czasie – przyp. red.)
- http://opensource.org/
- W USA nie można zarejestrować terminu open source jako znaku handlowego, dlatego zdecydowano się użyć OSI Certified. Zob. http://opensource.org/docs/certification_mark.html
- http://wp.netscape.com/newsref/pr/newsrelease591.html
- Źródło: E. S. Raymond, op. cit., s. 19 (tłumaczenie własne).
- Więcej na ten temat w rozdz. Organizacja produkcji i rozwoju oprogramowania (publikacja nastąpi w najbliższym czasie – przyp. red.)
- Zob. rozdz. Microsoft i zamknięte oprogramowanie (już w następnym artykule tej serii – przyp. red.)
Autor: Przemysław Kulczycki

JakiLinux
fajna robota :)
Warto znać trochę historii.
W przypadku pierwszego cytatu warto nadmienić, kto jest jego autorem – RMS(jeśli mnie pamięć nie myli).
Przecież jest przypis.
s/Tą patową/Tę patową/g
zamiast:
lepiej będzie:
Jakby ktoś podlinkował pierwszy art z tej serii byłbym wdzięczny bo ten jest już drugi
a nigdzie nie znalazłem info jaki jest tytuł cz1
a trzeci jest tu:
http://jakilinux.org/felietony/historia-rozpowsze…