W świetle GNU/GNU
Kultura hakerska i jej etyka
[edytuj]Zanim zaczniemy zajmować się samą filozofia GNU, należałoby pokrótce nakreślić tło, stanowiące podłoże projektu. Jest nim kultura hakerska, wykształcona w latach pięćdziesiątych na technicznych wydziałach wiodących uniwersytetów amerykańskich. Potocznie hakerstwo kojarzone jest z przestępczą działalnością prowadzoną w Sieci i postrzegane jako coś negatywnego i szkodliwego. Wizerunek hakera-kryminalisty nagminnie podsycają media. Obraz taki znacznie odbiega jednak od rzeczywistości.
Termin 'hak' (ang. hack) znaczy dziś tyle, co kawałek kodu programu, „poprawka, drobna modyfikacja" usprawniająca działanie, odpowiedzialna za konkretną funkcję. W latach pięćdziesiątych minionego stulecia nie miała tego znaczenia. Hak był wówczas synonimem gagu, psikusa mającego na celu "zagranie administracji na nosie"1. Stał się on szybko synonimem aktu sprzeciwu wobec decyzji centralnej. Z czasem termin rozumiano jako "kreatywne myślenie wbrew sztywnym regułom studiów". Działania takie nazwano 'hakowaniem' (ang. hacking).
Pod koniec dziesięciolecia 'hak' i 'hakowanie' zmieniły pierwotne znaczenie. Jak pisze Sam Williams „[...] >>hakowanie<< wysubtelniało i awansowało z synonimu bezproduktywnej zabawy, do działania zwiększającego wydajność systemu."1 Zaczęła krystalizować się odrębna grupa studentów, nazywających siebie „hakerami”. Z biegiem czasu owa grupa, wypracowała swoją etykę i zasady współpracy. Odtąd hakowanie oznaczało „zagłębianie się w niezwykłe systemy elektroniczne"2, jak również „stosowanie niestandardowych, dalekich od oficjalności metod programowania, [...] zwiększanie efektywności i szybkości działania [...] programów", co pozwalało na lepsze wykorzystanie zasobów maszyny.
W końcu lat sześćdziesiątych hakerzy, dotąd działający raczej samodzielnie, zaczęli łączyć się w nieformalne, ale niezwykle zwarte i silne grupy. Poprzez swoją solidarność potrafili wyegzekwować na władzach uczelni szereg przywilejów, pozwalających całkowicie oddać się pracy.
Pod koniec lat siedemdziesiątych mamy do czynienia ze swoistym procesem wykruszania się Społeczności hakerskich. Cały proces podsyciło wzmożone zainteresowanie rynku, upatrującego w tworzeniu oprogramowania źródło zysku. Na przełomie lat '70 i '80 możemy zauważyć rozpad kultury hakerskiej i jej rozłam na hakerów - grupę trzymającą się wypracowanej etyki oraz krakerów – radykalną grupę, walczącą z korporacyjną dominacją poprzez pisanie cracków i wirusów. Poruszając tematykę kultury hakerskiej, należy pamiętać o powyższym rozłamie.
Co różni zwykłego programistę od hakera? Przede wszystkim nastawienie do samego procesu programowania. Dla programisty to działalność najczęściej zarobkowa, dla hakera sens życia. Celem programisty jest napisanie programu spełniającego określone funkcje, program pisany przez hakera nie tylko ma za zadanie wykonać daną czynność. Czynność wykonana musi być jak najszybciej, przy jak najmniejszym wykorzystaniu zasobów maszyny. Kod programu zaś ma być jak najkrótszy, bez zbędnych linijek i komend, przejrzysty i doskonały. "Nie sztuka bowiem stworzyć kod. Sztuką jest stworzyć kod,a potem go ulepszać" - jak mówi jedno z hakerskich powiedzeń. Sam Williams definiuje to tak: „Bycie hakerem to coś więcej niż pisanie programów, to pisanie możliwie najlepszych programów, to przesiadywanie bez przerwy przy monitorze przez 36 godzin tylko po to, aby napisany program był możliwie najlepszy, to również posiadanie dostępu do możliwie najlepszych maszyn i informacji. Hakerzy mówią otwarcie o zmienianiu świata za pomocą oprogramowania i [...] pogardzają wszystkim, co staje na drodze do zrealizowania tego celu. Przeszkodami stojącymi na ich drodze są między innymi byle jakie programy, biurokracja i samolubne zachowanie części programistów."
Etykę hakerską można by ująć w pięciu głównych punktach:
- umiejętności pisania programów i chęć udostępniania innym wyników swojej pracy;
- testowanie programów i poprawianie ich błędów;
- publikowanie informacji, mogących służyć innym w rozwiązywaniu ich problemów i rozwoju wiedzy na temat programowania;
- pomaganie w usprawnianiu działania systemów i całej infrastruktury informatycznej (podnoszenie poziomu wiedzy informatycznej ludzkości);
- przestrzeganie zasad kultury hakerskiej.
O ile pierwsze cztery punkty raczej nie rodzą problemów interpretacyjnych, o tyle ostatni wymaga omówienia. Kultura hakerską opiera się przede wszystkim na dwóch głównych filarach: pasji do tego co się robi i współdziałaniu.
Rolę, jaką odgrywa w życiu hakera pasja, omawialiśmy już wcześniej. Inną cechą odróżniającą hakera od nie-hakera jest wręcz manifestacyjny kooperatywizm. Współpraca całej Społeczności jest warunkiem powodzenia projektów przez nią inicjowanych; jest warunkiem przetrwania Społeczności, a tym samym rozwoju oprogramowania. Tylko „zbiorowy intelekt”, może bowiem, w przekonaniu hakera, wytworzyć coś doskonałego.
Ważne jest również samo pojmowanie oprogramowania. W potocznym rozumieniu, lansowanym przez wielkie korporacje typu Microsoft, program komputerowy to produkt. Dla hakera termin ten ma bardziej naukowy wymiar. Działanie nastawione jest tu na poznanie i rozwój wiedzy. Jak czytamy w Manifeście Gentoo: "Gentoo samo w sobie jest kolekcją ogólnie dostępnej wiedzy. Wiedza w tym znaczeniu może zostać zdefiniowana jako dokumentacja i informacja dotycząca systemów operacyjnych i ich elementów, jak również Wolne Oprogramowanie tworzone i rozwijane przez wiele osób związanych z projektem Gentoo." Oprogramowanie jest więc traktowane jako wiedza naukowa, mająca charakter ogólnoludzki i wolnodostępny dla każdej jednostki. Kod zaś jest projektem naukowym, a głównym celem ludzkości jest rozwijanie owego projektu, a pośrednio wiedzy ludzkości.
Richard M. Stallman
[edytuj]Jednym z przedstawicieli omawianej wyżej kultury jest R. M. Stallman.
Richard Matthew Stallman [RMS], syn Alicji Lippman i Daniela Stallmana, urodził się 16 marca 1953r. na nowojorskim Manhatanie. W dzieciństwie był dzieckiem skrytym, zamkniętym w sobie. Rodziło to duże problemy komunikacyjne Richarda z rówieśnikami i otoczeniem. W wieku dziesięciu lat uciekł w matematykę i nauki ścisłe, poświęcając im całą swoją uwagę. Jego wiedza w tym zakresie była ogromna, znacznie ponad poziom reszty uczniów. W wieku dwunastu lat był na letnim obozie naukowym, gdzie po raz pierwszy zetknął się z tematyką komputerową. Po rozpoczęciu roku szkolnego uczestniczył w Honorowym Programie Naukowym Uniwersytetu Kolumbia [Columbia Science Honors Program], organizowanym dla młodzieży wyróżniającej się w naukach ścisłych.
Po ukończeniu Bradeis High School (szkoły odpowiadającej szczeblem naszemu gimnazjum), pracował w Centrum Naukowym IBM w Nowym Jorku [IBM New York Scientific Center], gdzie rozwijał swoje zainteresowanie maszynami liczącymi. Napisał tam swój pierwszy program.
Następnie zatrudnił się jako asystent laboratoryjny na wydziale biologii Uniwersytetu Rockefellera.
Mimo wybitnych osiągnięć w naukach ścisłych, z innych dziedzin miał słabe wyniki. Sytuacja była coraz gorsza, co zmusiło matkę do posłania go na wakacyjny kurs angielskiego i historii. Wystarczyło to, by Stallman ukończył liceum na czwartym miejscu w szkole.
W roku 1970 rozpoczyna studia matematyczne na Harvardzie. Tam zaliczany jest do grona najwybitniejszych studentów (program czterech lat matematyki zalicza w dwusemestrowym kursie).
Pod koniec pierwszego roku studiów przypatruje się pracom w laboratoriach komputerowych Uniwersytetu. Czyta podręczniki i dokumentację. Pisze programy.
W końcu trafia na AI Lab - Laboratorium Sztucznej Inteligencji, mieszczącym się przy Tech Squer 545 na kampusie Instytutu Technologii Stanu Massachusetts [Massachusetts Instytut of Technology, MIT]. Zafascynowany atmosferą laboratorium zaczyna spędzać tam coraz więcej czasu. Staje się członkiem studenckiej Społeczności, będącej odtąd jego najbliższą rodziną i grupą przyjaciół. Łączy ich wspólna pasja - hakowanie.
Po ukończeniu Harvardu rozpoczyna studia magisterskie na MIT. Praca w AI Lab pochłania go jednak całkowicie. Staje się to w dużej mierze przyczyną przerwania studiów. Odtąd dosłownie zamieszkuje laboratorium, by w pełni oddać się programowaniu. Tworzy tysiące linijek kodu rozwijających uczelniany system (PDP-10), pisze niezmiernie ważne programy, jak chociażby edytor tekstu Emacs (1976).
Podczas gdy on oddaje się pracy, sytuacja w laboratorium diametralnie zmienia się. Stare pokolenie hakerów odchodzi, by pracować dla firm tworzących komercyjne oprogramowanie. Zaczyna powstawać atmosfera sprzeczna z etyką wypracowaną przez pokolenia programistów. Stallman ostro krytykuje ten stan rzeczy (odezwa w kodzie Emacsa), stając się symbolem „przestarzałej ideologii". Podejmuje szereg działań w obronie etyki hakerskiej.
We wrześniu 1983r. ogłasza w Usenecie projekt o nazwie GNU [GNU's Not Unix - GNU to Nie Unix] - system operacyjny, mający być wolnodostępną alternatywą dla komercyjnych systemów, zgodny z etyką hakerską.
W roku 1984 opuszcza MIT, aby uczelnia nie mogła ograniczać dostępności GNU. Poświęca się projektowi. Publikuje pierwsze składniki systemu: GNU Emacs, GNU C Compiler oraz wiele innych programów okołosystemowych.
W roku 1985 zostaje powołana Fundacja Wolnego Oprogramowania [Free Software Fundation, FSF] - organizacja non-profit, skupiająca ludzi wokół idei Wolnego Oprogramowania i zajmująca się dystrybucją programów, tworzonych przez Społeczność. Od tej pory Stallman działa w jej obrębie.
Wydarzenia lat osiemdziesiątych czynią z RMS czołową postać ruchu hakerskiego – „sumienie programistów". Po wydaniu GNU Emacs staje się żywą legendą, gdy publikuje samodzielnie kompilator (nikomu przed nim się to nie udało), urasta do rangi wybitnego specjalisty w dziedzinie informatyki. W przełomowym roku 1990 Fundacja Johna D. i Kathreine T. McArthurów uznaje go za geniusza, nadając członkostwo oraz niemały (240 000 $) genius grant.
Rok 1990 jest również przełomowy z innego powodu. Stallman, podczas jednej ze swoich podróży promujących ideę GNU, udziela wykładu na Politechnice Helsińskiej. Wśród słuchaczy znajduje się młody student Linus Torvalds, który rok później wzbogaca GNU o jego najbardziej wymagany składnik - jądro systemu. Już po trzech latach projekt osiąga taki rozwój, że staje się wręcz flagowym projektem opublikowanym na licencji GNU GPL.
Pojawienie się Linuksa i jego coraz pełniejsza integracja z narzędziami GNU były sygnałem stopniowego, ale wyraźnego rozłamu Społeczności. Dla młodszego pokolenia, nie pamiętającego procesu „zamykania kodów", postulaty Stallmana były mało racjonalne; budziły raczej sceptycyzm niż podziw i zrozumienie. Wychodzili oni z założenia, że „żaden programista nie pisze bezbłędnych kodów, a udostępnianie ich innym oznacza stawianie postępu ponad indywidualną żądzę zysku i chronienia własnego ego." Wytwarza się opozycja starzy kontra młodzi, czego kulminacją jest powstanie w roku 1997 Ruchu Otwartego Źródła (Open Source Movement), kładącego nacisk nie na etyczny wymiar GNU GPL, ale na jej stronę praktyczną.
Odtąd możemy zauważyć dwa nurty w myśleniu o programowaniu w obrębie Społeczności hakerskiej. Pierwszy reprezentowany przez środowisko skupione wokół FSF, drugi działający pod szyldem OSI [Open Source Iniciative; Inicjatywa Otwartego Źródła]. Mimo znacznych różnic oba środowiska dopełniają się wzajemnie i, jak to określił Stallman, są dwoma skrzydłami tego samego ruchu.
Filozofia GNU
[edytuj]Filozofia GNU jest sumą poglądów RMS oraz ludzi związanych z projektem, wysnutą na podstawie wystąpień oraz publikacji, umieszczonych w głównej mierze na serwisie www.gnu.org. Stanowi ona pochodną etyki hakerskiej, obowiązującej przed upadkiem kultury hakerskiej na przełomie lat siedemdziesiątych i osiemdziesiątych. Opiera się na ogólnym stwierdzeniu, że każdy ma prawo do wolnego dostępu do informacji [„Informacja chce być wolna", (Information Wants To Be Free)] a jakiekolwiek ograniczenie dostępu do niej jest szkodliwe. Niezmiernie ważne jest tu pojecie wolności, w szczególności wolności użytkownika. Wolny musi być również kod programu, będący niczym innym jak informacją.
Stallman ogranicza swoje wypowiedzi do oprogramowania. Nie jest to jednak jego jedyny cel. Stara się wylansować wartości współpracy i dążenia do wiedzy, a także pracy, pojmowanej tu jako wartość sama w sobie i cel każdego człowieka. Joseph Weizenbaum w swojej pracy Computer Power and Human Reason, nazwał hakerów komputerowymi łapserdakami-pomyleńcami (computer bums). Pisze o nich: „Ich zmięte ubrania, nieogolone twarze oraz niemyte i nieczesane włosy, świadczą o zatraceniu świadomości istnienia własnych ciał i świata, w którym te ciała funkcjonują. Istnieją tylko po to, by korzystać z komputerów i komputerom służyć."
Stallman odpowiada na ten zarzut tak: „On chce, by ludzie byli tylko zawodowcami, pracującymi wyłącznie dla pieniędzy i zapominającymi o tym, co robią, tak szybko, jak to tylko możliwe. [..] To, co on uważa za normalny bieg rzeczy, ja uważam za tragedię."
Zdaniem Stallmana „programy są [...] wolnym oprogramowaniem, jeśli mają następujące wolności:
- [...] Wolność 0, [...] wolność do wykorzystania programu do dowolnego celu i w dowolny sposób.
- Wolność 1 to wolność pozwalająca na ułatwianie sobie życia przez wprowadzenie zmian do programu, aby dostosować go do swoich potrzeb.
- Wolność 2 to wolność do pomagania swoim bliźnim przez dystrybucję kopii programu.
- Wolność 3 pozwala na wspieranie rozwoju własnej społeczności poprzez publikowanie ulepszonych wersji, tak aby inni mogli skorzystać z waszej pracy."
Cały ten podział sprowadzony jest do prostych warunków, które musi spełnić program, chcący być uznany za „wolny". Wolny znaczy tu tyle co dostępny, należący do Społeczności. Wymogiem jest spełnienie każdej z tych wolności.
Można tu pokusić się o zgeneralizowanie tych czterech wolności.
I tak:
- Wolność 0 – można rozumieć jako wolność do dysponowania swoją wiedzą i majątkiem w dowolny sposób (wolność osobista);
- Wolność 1 – to wolność do kreatywnego przetwarzania rzeczywistości i uczestnictwa w niej (warunek społeczeństwa obywatelskiego);
- Wolność 2 – wolność do pomagania bliźnim (idea solidaryzmu);
- Wolność 3 – wolność do wspierania rozwoju własnej społeczności (zasady leżącej u podstaw idei postępu i etyki naukowej).
Należy także zwrócić uwagę na konstruktywność owych postulatów i ich znaczenie społeczne. Wolności są tu zawsze do, a wolność od rozumiana jest jedynie jako kontestacja narzuconego porządku. Kontestacja polega jednak nie na samym biernym oporze (nie korzystam i nie wspieram niewolnego oprogramowania), ale również na działaniu – pisaniu programów wolnych. Nie kontestuje się tu wolnego rynku. Traktowany jest on z szacunkiem i postrzegany raczej jako wynik wypracowanego przez społeczeństwo systemu rozprowadzania dóbr (na wolnych programach można zarabiać). Pamiętać trzeba jednak, że informacja, będąca składnikiem wiedzy, nie jest towarem podlegającym prostym, rynkowym zależnościom podaż-popyt.
Analizując zarówno te cztery uogólnienia wolności, jak i opierając się na innych publikacjach i wypowiedziach Stallmana, można stwierdzić, że filozofia GNU to system etyczny, którego punktem głównym jest pojecie wolności, rozumiane zarówno indywidualnie (samokształcenie się i samorozwój jednostki poprzez rozwój swojej wiedzy i jej praktyczne wykorzystanie) jak i kolektywnie (wspieranie rozwoju własnej Społeczności). Ciekawe jest tu również rozumienie i rola samej Społeczności. To do niej należy dany program. Takie podejście łączy się ściśle z koncepcją wspólnoty sieciowej, dla której Internet jest wspólną przestrzenią komunikowania i współdziałania.
Inicjatywa Otwartego Źródła [Open Sources Iniciative]
[edytuj]FLOS
[edytuj](uzupelnij jeśli mozesz)