Linux, GNU, i wolność
Richard M. StallmanPonieważ Joe Barr skrytykował w swoim artykule moje postępowanie w stosunku do SIGLINUX, chciałbym wyprostować historię o tym, co się właściwie zdarzyło i wyjaśnić moje pobudki.
Kiedy SIGLINUX zaproponował mi przemówienie, był „Grupą Użytkowników Linuksa”, to jest grupą użytkowników systemu GNU/Linux, którzy nazywają cały system „Linux”. Odpowiedziałem im zatem, że jeśli chcieliby, aby ktoś z Projektu GNU wygłosił dla nich przemówienie, powinni traktować Projekt GNU właściwie i nazywać cały system „GNU/Linux”. Ten system jest wariantem GNU i Projekt GNU jest jego głównym konstruktorem, zatem społeczny zwyczaj wymaga, by nazywać go tak, jak go nazwaliśmy. Dopóki nie ma mocnych argumentach za wyjątkiem, zwykle odmawiam wygłaszania przemówień dla organizacji, które nie chcą uznać autorstwa GNU w tej sprawie. Respektuję ich prawo do wypowiedzi, ale również mam prawo się nie wypowiadać.
Później Jeff Strunk z SIGLINUX próbował zmienić politykę grupy i poprosił FSF (Free Software Foundation, Fundację Wolnego Oprogramowania) o zamieszczenie jego grupy na naszej stronie grup użytkowników GNU/Linuksa. Nasz webmaster powiedział mu, że nie umieścimy jej pod nazwą „SIGLINUX”, ponieważ nazwa ta daje do zrozumienia, że grupa jest o Linuksie. Strunk zaproponował zmianę nazwy na „SIGFREE” i nasz webmaster zgodził się, że to będzie w porządku. (W artykule Barr twierdzi, że odrzuciliśmy tę propozycję). Jednakże grupa ostatecznie zdecydowała się pozostać przy „SIGLINUX”.
Wówczas sprawa przyciągnęła ponownie moją uwagę i zasugerowałem, żeby rozważyli inne możliwe nazwy. Istnieje wiele nazw, jakie mogliby wybrać, które nie określałyby całego systemu jako „Linux” i mam nadzieję, że znajdą jakąś, która im się spodoba. O ile mi wiadomo, sprawa ucichła.
Czy to prawda, jak pisze Barr, że niektórzy ludzie postrzegają te działania jako „użycie siły” porównywalne z władzą monopolu Microsoftu? Być może tak. Odrzucenie zaproszenia nie jest przymusem, ale ludzie, którzy są przekonani i wierzą, że cały system to „Linux”, czasami rozwijają przedziwnie zniekształconą wizję. Żeby nazwa wydawała się uzasadniona, muszą widzieć kretowiska jako góry i góry jako kretowiska. Jeśli możecie zignorować fakty i uwierzyć, że Linus Torvalds rozwinął cały system, zaczynając w roku 1991 lub jeśli możecie zignorować swoje zwykłe zasady sprawiedliwości i uwierzyć, że Torvalds powinien otrzymać wyłączne uznanie autorstwa, nawet jeśli tego nie zrobił, to już mały krok, by uwierzyć, że gdy tylko zażądacie, jestem Wam winien przemówienie.
Rozważcie tylko: Projekt GNU zaczyna rozwijanie systemu operacyjnego, a lata później Linus Torvalds dodaje jedną ważną część. Projekt GNU mówi „prosimy, wyróżnij tak samo nasz projekt”, ale Linus mówi „nie dawajcie im udziału w uznaniu autorstwa; nazwa ma pochodzić tylko od mojego imienia”. Teraz wyobraźcie sobie mentalność osoby, która potrafi spojrzeć na te wydarzenia i oskarżać Projekt GNU o egotyzm. Trzeba być bardzo uprzedzonym, żeby osądzać tak krańcowo mylnie.
Osoba, która jest tak uprzedzona, może mówić wszelkie rodzaje niesprawiedliwych rzeczy o Projekcie GNU i myśleć, że są uzasadnione; jej koledzy ją poprą, ponieważ chcą wzajemnego wsparcia w utrzymywaniu ich złego nastawienia. Odszczepieńcy mogą być lżeni; zatem, jeśli odmawiam udziału w aktywności w rubryce „Linux”, mogą uważać to za niewybaczalne i uważać mnie za odpowiedzialnego za wrogość, którą poczują później. Kiedy tak wielu ludzi chce, żebym nazywał system „Linux”, jak mogę się nie zgadzać, będąc tym, kto jedynie zaczął jego rozwój? I bezprawne odmawianie im przemówienia bezprawnie sprawia, że są nieszczęśliwi. To przymus tak zły jak Microsoft!
Być może zastanawiacie się, czemu po prostu nie zignoruję sprawy, żeby uniknąć zmartwień. Kiedy SIGLINUX zaprosił mnie, żebym przemówił, mogłem po prostu odpowiedzieć „Nie, przykro mi” i sprawa by się zakończyła. Czemu tego nie zrobiłem? Jestem gotowy zaryzykować osobistą krytykę mojej osoby, aby mieć szansę naprawy błędu, który podkopuje wysiłki Projektu GNU.
Nazywanie tego wariantu systemu GNU „Linuksem” to działanie na korzyść ludzi, którzy wybierają oprogramowanie bazując jedynie na przewadze technicznej, nie troszcząc się, czy respektuje ono ich wolność. Są ludzie tacy jak Barr, którzy chcą „uwolnić od ideologii” swoje oprogramowanie i krytykować każdego, kto mówi, że wolność jest istotna. Są ludzie tacy jak Torvalds, którzy będą naciskać naszą społeczność, by używać niewolnego oprogramowania i rzucać wyzwanie każdemu, kto się skarży, żeby natychmiast dostarczył lepszy (technicznie) program lub się zamknął. Są ludzie, którzy mówią, że techniczne decyzje nie powinny być „upolityczniane” przez rozważanie ich społecznych konsekwencji.
W latach siedemdziesiątych użytkownicy komputerów stracili swoje wolności do rozpowszechniania i zmieniania oprogramowania, ponieważ nie cenili swojej wolności. Użytkownicy komputerów odzyskiwali te wolności w latach osiemdziesiątych i dziewięćdziesiątych ponieważ grupa idealistów, Projekt GNU, wierzyła, że wolność to coś, co sprawia, że program jest lepszy i chciała pracować dla tego, w co wierzyła.
Dzisiaj mamy częściową wolność, ale nasza wolność nie jest bezpieczna. Jest zagrożona przez CBDTPA (poprzednio SSSCA), przez Grupę Dyskusyjną “Ochrony” Nadawania (zobacz www.eff.org/), która proponuje, aby zabronić wolnemu oprogramowaniu dostępu do cyfrowych stacji telewizyjnych, poprzez patenty na oprogramowanie (Europa rozważa teraz, czy stosować patenty na oprogramowanie), przez umowy Microsoftu o nieujawnianie istotnych protokołów i przez każdego, kto kusi nas niewolnym programem, który jest „lepszy” (technicznie) niż dostępne wolne programy. Możemy stracić ponownie naszą wolność, tak jak straciliśmy ją za pierwszym razem, jeśli nie będziemy się odpowiednio troszczyć, by ją chronić.
Czy odpowiednio wielu z nas będzie się troszczyć? To zależy od wielu rzeczy: pośród nich, jak wielkie oddziaływanie ma Projekt GNU i jak wielki wpływ ma Linus Torvalds. Projekt GNU mówi „Ceń swoją wolność!”. Joe Barr mówi „Wybieraj pomiędzy niewolnymi i wolnymi programami jedynie na technicznym gruncie!”. Jeśli ludzie uznają autorstwo Torvaldsa, jako głównego konstruktora systemu GNU/Linux, jest to nie tylko nieścisłe, ale również sprawia, że jego przesłanie jest bardziej wpływowe — a to przesłanie mówi „Niewolne oprogramowanie jest ok; sam go używam i je rozwijam”. Jeśli dostrzegą naszą rolę, będą nas bardziej słuchać, a przesłanie, jakie im przekażemy to „Ten system istnieje dzięki ludziom, którzy dbają o wolność. Dołącz do nas, ceń swoją wolność i razem możemy ją zachować”. Zobacz O projekcie GNU, gdzie opisujemy historię.
Kiedy proszę ludzi, by nazywali system GNU/Linux, część z nich odpowiada głupimi wymówkami i argumentami opartymi na zafałszowanym obrazie. Ale pewnie niczego nie tracimy, ponieważ byli prawdopodobnie od początku nieprzyjaźnie usposobieni. Tymczasem inni rozumieją podane przeze mnie powody i używają tej nazwy. Robiąc tak, pomagają uświadomić innych ludzi, dlaczego naprawdę system GNU/Linux istnieje i to zwiększa naszą zdolność do rozprzestrzeniania idei, że wolność jest istotną wartością.
Dlatego wciąż biorę się za bary z uprzedzeniami, oszczerstwami i nieprzyjemnościami. Ranią one moje uczucia, ale kiedy się udaje, ten wysiłek pomaga kampanii Projektu GNU na rzecz wolności.
Ponieważ pojawiło się to w kontekście Linuksa (jądra) i Bitkeepera, niewolnego systemu kontroli wersji, którego używa teraz Linus Torvalds, chciałbym omówić również tę sprawę.
Kwestia Bitkeepera
(Zobacz nowszą wersję zaprezentowaną poniżej)
Użycie Bitkeepera do źródeł Linuksa wywiera bardzo poważny wpływ na społeczność wolnego oprogramowania, ponieważ każdy, kto chce dokładnie śledzić łaty nakładane na Linuksa, może to zrobić tylko instalując niewolny program. Na pewno są dziesiątki lub nawet setki hakerów jądra, którzy to zrobili. Większość z nich, żeby uniknąć poczucia dysonansu poznawczego w związku z obecnością Bitkeepera na swoich maszynach, stopniowo przekonuje samych siebie do tego, że użycie niewolnego oprogramowania jest ok. Co można w tej sprawie zrobić?
Jednym z rozwiązań jest założenie innego repozytorium na źródła Linuksa, stosującego CVS lub inny wolny system kontroli wersji, i zorganizowanie go tak, żeby nowe wersje były do niego wczytywane automatycznie. Można by używać Bitkeepera do pobierania najnowszych wersji plików, a następnie umieszczać je w systemie CVS. Taki proces aktualizacji mógłby przebiegać często i automatycznie.
FSF nie może tego zrobić, ponieważ nie możemy zainstalować Bitkeepera na naszych maszynach. Nie mamy teraz na nich żadnych niewolnych systemów ani aplikacji, a nasze zasady mówią, że musimy się tego trzymać. To repozytorium musiałby prowadzić ktoś inny, kto zgadza się mieć Bitkeepera na swojej maszynie, dopóki ktoś nie wymyśli, jak to zrobić za pomocą wolnego oprogramowania.
Z samymi źródłami Linuksa wiąże się nawet poważniejszy problem z niewolnym oprogramowaniem: w istocie same takie zawierają. Sporo sterowników urządzeń zawiera serie liczb, reprezentujące programy wbudowane, firmware do zainstalowania w urządzeniu. Te programy nie są wolnym oprogramowaniem. Kilka liczb do przechowania w rejestrach urządzenia to jedno, faktyczny program zapisany binarnie to druga sprawa.
Obecność tych, występujących jedynie w postaci binarnej programów w „źródłowych” plikach Linuksa tworzy dodatkowy problem: rodzi wątpliwości, czy binaria Linuksa mogą w ogóle być legalnie rozprowadzane. GPL wymaga „kompletnego odpowiedniego kodu źródłowego”, a sekwencja liczb całkowitych nie jest kodem źródłowym. Z tego samego powodu dodawanie takich binariów do źródeł Linuksa narusza GPL.
Konstruktorzy Linuksa planują przeniesienie tych programów firmware do osobnych plików; dojście do tego w pełni zajmie kilka lat, ale kiedy się skończy, rozwiąże drugi problem; moglibyśmy stworzyć wersję „wolnego Linuksa”, która nie zawierałaby niewolnych plików firmware. To, samo przez się, nie zrobi wiele dobrego, jeśli większość ludzi będzie używać niewolnej, „oficjalnej” wersji Linuksa. Może się tak zdarzyć, ponieważ na wielu platformach wolna wersja nie uruchomi się bez niewolnego firmware'u. Projekt „Wolny Linux” będzie musiał wpaść na to, co robi oprogramowanie wbudowane i napisać do niego kod źródłowy, możliwe, że w języku asemblera dla jakiegokolwiek wbudowanego procesora, na którym działa. To zniechęcająca praca. Byłaby mniej zniechęcająca, gdyby została wykonana krok po kroku przez lata, niż teraz, gdy dopuszczono, by narosła. Szukając ludzi do tej pracy, będziemy musieli przezwyciężyć ideę, rozpowszechnianą przez niektórych konstruktorów Linuksa, że ta praca nie jest niezbędna.
O Linuksie, jądrze, często myśli się jak o okręcie flagowym wolnego oprogramowania, jednak jego aktualna wersja jest częściowo niewolna. Jak to się stało? Ten problem, podobnie jak decyzja o użyciu Bitkeepera, odzwierciedla pogląd pierwszego konstruktora Linuksa, osoby, która myśli że „technicznie lepsze” jest o wiele ważniejsze niż wolność.
Ceń swoją wolność albo ją stracisz, uczy historia. „Nie zawracaj nam głowy polityką”, odpowiadają ci, którzy nie chcą się uczyć.
Aktualizowane: Od 2005 roku BitKeeper nie jest już używany do zarządzania źródłem jądra Linuksa. Zobacz artykuł Dziękuję Ci, Larry McVoy. Źródła Linuksa nadal zawierają w niewielkich ilościach niewolny firmware, ale od stycznia 2008 roku wolna wersja Linuksa jest utrzymywana do użycia w wolnych dystrybucjach GNU/Linuksa.