Linux, GNU a svoboda
od Richarda StallmanaProtože článek Joe Barra kritizoval mé jednání se SIGLINUXem, chtěl bych upřesnit, co se vlastně stalo, a uvést své stanovisko.
Když mě SIGLINUX pozval, abych pro něj přednášel, byl „skupinou uživatelů Linuxu“; tj. skupinou uživatelů GNU/Linuxu, kteří nazývají celý systém „Linux“. Proto jsem slušně odpověděl, že pokud chtějí, aby pro ně přednášel někdo z projektu GNU, měli by s ním zacházet správně a nazývat celý systém „GNU/Linux“. Takový systém je variantou GNU a lidé z GNU projektu jsou jeho hlavními vývojáři, tudíž by měl být podle společenských zvyklostí nazýván jménem, jež jsme vybrali my. Až na výjimky, k nimž jsou pádné důvody, obvykle odmítám přednášet pro organizace, které tímto nepřiznávají GNU příslušné zásluhy. Respektuji jejich svobodu projevu, ale i já mám svobodu, a to svobodu nepřednášet pro ně.
Jeff Strunk ze SIGLINUXu se následně pokusil změnit politiku této skupiny a požádal FSF, aby ji uvedla na své stránce skupin používajících GNU/Linux. Náš webmaster mu řekl, že ji tam pod jménem „SIGLINUX“ nezařadíme, protože z názvu vyplývá, že se jedná o skupinu týkající se Linuxu. Strunk navrhl změnu názvu na „SIGFREE“ a webmaster ji schválil. (Podle Barrova článku tento návrh odmítl.) Nakonec se však tato skupina rozhodla zůstat u původního názvu „SIGLINUX“.
V tomto bodě se problém opět dostal ke mně a já jim navrhl, ať uvažují o jiných možných názvech. Je mnoho jmen, která by si mohli vybrat a která by přitom nenazývala systém „Linuxem“. Doufám, že naleznou nějaké, které by se jim líbilo. Zde, pokud vím, problém zamrzl.
Je pravda, jak Barr píše, že některým lidem připadá toto jednání jako „uplatňování násilí“ srovnatelné s monopolem Microsoftu? Pravděpodobně ano. Odmítnutí pozvání není násilí, ale lidé, kteří jsou rozhodnuti věřit tomu, že celý systém je „Linux“, mají někdy podivuhodně zkreslený pohled. Aby mohli toto jméno zdůvodnit, musí vidět komára jako velblouda a velblouda jako komára. Pokud dokážete ignorovat fakta a věřit tomu, že celý systém vyvinul Linus Torvalds počínaje rokem 1991, nebo pokud dokážete ignorovat vaše principy spravedlnosti a věřit, že Torvalds by měl mít plnou zásluhu, přestože to není jen jeho práce, odtud je již jen malý krůček k tomu, abyste věřili, že vám dlužím přednášku, kdykoliv si o ni požádáte.
Jen uvažte: projekt GNU začne vyvíjet operační systém a o mnoho let později k němu přidá Linus Torvalds jednu důležitou část. GNU projekt říká: „Prosíme o stejnou část zásluh pro každého,“ ale Linus říká, „Nedávejte jim ani část zásluh; nazývejte vše jen mým jménem!“ Nyní se vžijte do myšlení člověka, který takto vidí tyto události a obviňuje GNU projekt z egoismu. Je třeba silného zaujetí, abyste soudili tak drasticky.
Člověk, který je takto zaujatý, může říkat o GNU projektu mnoho nespravedlivých věcí a myslet si, že jsou oprávněné; lidé na jeho straně ho podpoří, protože se v udržování svého předsudku chtějí podpřit. Odpůrci mohou být hanobeni; tudíž, pokud odmítnu účastnit se činnosti pod záhlavím „Linuxu“, mohou se domnnívat, že to je neomluvitelné. Dávají mi pak odpovědnost za následky. Když tolik lidí chce, abych nazýval systém „Linux“, jak si mohu nestěžovat, když jsem „pouze“ začal s jeho vývojem? Když jim pak odmítnu poskytnou přednášku, jsou z toho nešťastní. To je násilí, stejně špatné jako Microsoft!
Mohli byste se nyní divit, proč se tomuto problému nevyhnu a nevyvaruji se tak všemu tomuhle trápení. Když mě SIGLINUX pozval, abych přednášel, stačilo jen říct „Ne, promiňte“ a vše by tak skončilo. Proč jsem to neudělal? Jsem ochotný riskovat, že se dostanu do potíží, když budu mít šanci napravit chybu, která ničí úsilí projektu GNU.
Když tuto variantu systému GNU nazýváme „Linux“, nahrává to do karet lidem, kteří si si vybírají software pouze na základě technických předností. Nezajímá je, zda respektuje jejich svobodu. Lidé, jako je Barr, chtějí systém „bez ideologie“ a kritizují kohokoliv, kdo říká, že svoboda je důležitá. Existují lidé jako Torvalds, kteří budou tlačit naši komunitu k používání nesvobodného programu, a vyzývat kohokoli, kdo si stěžuje, aby ihned poskytl (technicky) lepší program nebo zmlknul. A jsou lidé, kteří říkají, že technická rozhodnutí by neměla být „politizována“ zkoumáním jejich následků na společnost.
V sedmdesátých letech ztratili uživatelé počítačů svobodu redistribuovat a měnit software, protože si své svobody nevážili. Nabyli je až v 80. a 90. letech díky skupině idealistů, lidí z projektu GNU. Ti věřili, že svoboda činí program lepším, a pro to, v co věřili, byli ochotni pracovat.
Dnes sice částečnou svobodu máme, ale ta není jistá. Ohrožuje ji CBDTPA (původně SSSCA), Diskusní skupina Broadcast „Protection“ (podívejte se na www.eff.org/), která navrhuje zakázat svobodnému software přístup k přenosům digitální televize či softwarové patenty (Evropa nyní zvažuje jejich zavedení). Jsou to i non-disclosure agreements Microsoftu na důležité protokoly a také ti, kdo se nás pokoušejí svést nesvobodným programem, který je „lepší“ (technicky) než dostupné svobodné programy. Pokud si nebudeme svobodu dostatečně bránit, můžeme ji znovu ztratit tak jako poprvé.
Bude nás dost, kdo se tomu postaví? To záleží na mnoha věcech. Také na tom, kolik vlivu má projekt GNU a kolik Linus Torvalds. GNU projekt říká „Važte si svobody!“ Joe Barr říká, „Vybírejte si mezi nesvobodnými a svobodnými programy pouze na technickém základě!“ Pokud lidé oceňují Torvaldse jako hlavního vývojáře systému GNU/Linux, není to jen nepřesné. Dodává to důležitost jeho poselství, které říká: „nesvobodný software je vpořádku; používám ho a sám ho vyvíjím.“ Pokud si uvědomí naši úlohu, budou více poslouchat nás. Zpráva, kterou šíříme my, je: „Tento systém existuje díky lidem, pro které je svoboda důležitá. Připojte se k nám, važte si svobody a společně ji uhájíme.“ Přečtěte si gnu.org/gnu/thegnuproject.html o historii GNU projektu.
Když žádám lidi, aby nazývali systém GNU/Linux, někteří z nich odpovídají hloupými výmluvami a kritikou. Nic jsme však pravděpodobně neztratili, nejspíše byli našimi nepřáteli již tehdy. Jiní lidé však uznávají mé důvody a používají toto jméno. Pomáhají tak ostatním uvědomit si důvody, proč GNU/Linux doopravdy existuje. To zvyšuje naši schopnost šířit myšlenku, že svoboda je důležitou hodnotou.
Proto se stavím proti zaujatosti, pomluvám a trápení. Zraňuje to mé city. Kdykoliv je ale toto úsilí úspěšné, pomáhá kampani projektu GNU v boji za svobodu.
Protože se tento problém objevil v kontextu Linuxu (jádra) a Bitkeeperu, nesvobodného systému pro správu verzí, který dnes používá Linus Torvalds, rád bych se věnoval i tomuto problému.
Potíže s Bitkeeperem
(viz aktualizace níže)
Použití Bitkeeperu pro linuxové kódy má vážný dopad na komunitu svobodného software. Každý, kdo důkladně sleduje patche do Linuxu, je nucen nainstalovat si nesvobodný program. Musely to udělat tucty nebo dokonce stovky hackerů kernelu. Většina nich sama sebe postupně přesvědčuje, že je vpořádku používat nesvobodný software, aby se vyhnuli špatnému pocitu z toho, že mají na svých počítačích Bitkeeper. Co se s tím dá dělat?
Jedním řešením je vytvořit pro kódy Linuxu jiný repozitář a za použití CVS či jiného svobodného systému pro správu verzí do něj nahrát nové verze automaticky. Bitkeeper bychom mohli použít k přístupu k posledním revizím a ty převést do CVS repozitáře. Tento proces updatu by se mohl spouštět automaticky často.
FSF to udělat nemůže, protože nemůžeme nainstalovat Bitkeeper na naše počítače. Nemáme na nich teď žádný nesvobodný software či aplikace a podle našich zásad to tak má být. Práci s tímto repozitářem by měl dělat někdo jiný, komu nevadí mít na svém počítači Bitkeeper – nenajde-li někdo způsob, jak to udělat za použití svobodného software.
Samotné zdrojové kódy Linuxu mají ještě závažnější problém s nesvobodným software: vlastně nějaký obsahují. Několik ovladačů různých zařízení obsahuje posloupnosti čísel představující firmwarové programy k instalování na daném zařízení. Tyto programy nejsou svobodným software. Pár čísel k uložení v registru zařízení je jedna věc, ale podstatné části programu v binárním kódu jsou věc druhá.
Přítomnost těchto programů pouze v jejich binární formě ve „zdrojových“ souborech Linuxu vytváří druhotný problém: otázku, zda mohou být linuxové binárky vůbec legálně distribuovány. GPL požaduje „úplný odpovídající zdrojový kód“ a soubor čísel není zdrojovým kódem. Podle toho ohrožuje přidání takovéto binárky ke zdrojovým kódům Linuxu GPL.
Vývojáři Linuxu plánují přemístit tyto firmwarové programy do oddělených souborů; bude trvat několik let, než tato myšlenka dozraje, ale až bude vše hotové, vyřeší to tento druhotný problém. Mohli bychom vytvořit verzi „svobodného Linuxu“ bez nesvobodných firmwarových souborů. Samo o sobě to ale není příliš dobré, když většina lidí používá nesvobodnou „oficiální“ verzi Linuxu. K tomu by mohlo snadno dojít, neboť svobodná verze nebude bez nesvobodného firmware na mnoha platformách fungovat. Projekt „svobodný Linux“ bude muset přijít na to, co firmware dělá a psát pro něj zdrojové kódy, snad v assembleru pro jakýkoli zabudovaný procesor, na němž program běží. Je to odrazující činnost. Bylo by lepší, kdybychom to dělali po troškách v průběhu let než celé naráz. Až budeme shánět lidi na tuto práci, budeme muset přebít myšlenku šířenou některými vývojáři Linuxu, že je zbytečná.
Linux, kernel, je často vnímán jako vlajková loď svobodného software, software, přesto je jeho současná verze zčásti nesvobodná. Jak se to stalo? Tento problém, stejně jako rozhodnutí používat Bitkeeper, odráží postoj původního vývojáře Linuxu, člověka, který se domnívá, že technická vyspělost je důležitější než svoboda.
Historie nás učí, že si svobody máme vážit, jinak ji ztratíme. „Neobtěžujte nás s politikou“, odpovídají ti, kdo se nechtějí učit.
Aktualizace: Již od roku 2005 se BitKeeper nepoužívá pro správu zdrojových kódů linuxového jádra. Viz článek, Díky, Larry McVoy. Zdrojové kódy Linuxu stále obsahují nesvobodné bloby (firmware, pozn. překl.), ale od ledna 2008 je k dispozici svobodná verze Linuxu (nejen) pro svobodné GNU/Linuxové distribuce.