Stallman i GNU (1983)

Jedan pokvareni printer, jedan bradati fanatik, i pravni trik koji je pola interneta učinio besplatnim.

poglavlje 21/2919 min čitanja1981 – 1990
ti@kronika:~$ ./sviraj k3_21_stallman.mp3

# da, poglavlje ima pjesmu. ne, nitko ne zna zašto.

Deveti kat zgrade Tech Square u Cambridgeu, rane osamdesete. Nekad je ovo bio hakerski raj — vrata otključana, kod svačiji, printer koji radi jer ga je netko popravio u tri ujutro iz čiste dosade i ljubavi. Sad kroz iste hodnike hoda nešto novo i puno tiše od hakerskog kuckanja po tipkovnicama: pravnik. Nosi papire. Papiri se zovu NDA (kratica za »Non-Disclosure Agreement«, odnosno ugovor o povjerljivosti — komad papira koji te obvezuje da začepiš o onome što vidiš) i traže potpis prije nego što ikome pokažeš liniju koda koju si upravo napisao.

Nije da je netko planirao ubiti raj. Dogodilo se prirodno, kako se te stvari uvijek dogode — firma iz susjedstva, Symbolics (proizvođač specijaliziranih računala za programski jezik LISP, koja je u tom trenutku kupovala pamet s MIT-a u paketima), ponudi genijalcu iz labosa plaću o kojoj je do sada mogao samo sanjati, i genijalac ode. Ne kao izdajnik, samo kao čovjek koji ima stanarinu za platiti. Za njim ode drugi. Onda treći. Softver koji su svi zajedno pipali, dijelili, krpali preko noći, sad ima vlasnika, i vlasnik kaže: ovo se ne dijeli. To se zove biznis, i to je, iskreno, normalan tijek stvari. Softver je postao vrijedan, pa je logično da je i zaključan. Tako funkcionira svijet otkad je svijeta — netko izmisli kolo, netko drugi patentira osovinu.

Zove se Richard Stallman. Ima bradu koja izgleda kao da ju je uzgojio iz principa, a ne iz lijenosti, a vikend-hobi mu je narodni ples — od svih mogućih načina da genijalac s MIT-a rastereti glavu, on bira folklor, u krugu, uhvaćen za ruke s neznancima. Sitna crta karaktera, ali reci mi da ne govori nešto: čovjek koji cijeli život vjeruje da su neke stvari vrijednije kad ih radiš zajedno, u krugu, bez vlasništva nad koracima.

Za Stallmana, ono što se događa na devetom katu nije poslovna evolucija. To je pad. Ne metaforički — stvarno, kao da je netko srušio hram i na ruševinama otvorio dućan s katancima. I dok se svi drugi pitaju gdje će raditi iduće godine, on se pita nešto puno luđe, puno veće: kako vratiti raj koji je upravo netragom nestao? Ne nostalgijom. Ne peticijom. Ne prosvjedom pred zgradom.

Zamisli da imaš printer koji zaglavljuje. Ne katastrofalno, ne svaki put — ali dovoljno često da odeš do njega, čekaš, vidiš papir zgužvan negdje u utrobi stroja, izvučeš ga i vratiš se poslu. Nervozno, ali živiš s time. Sad zamisli da bi taj problem mogao riješiti u dvadesetak minuta — samo da ti netko dopusti da otvoriš kod koji upravlja printerom i promijeniš tri linije. Zvuči trivijalno? E, upravo je to bila poanta. Bio je trivijalan. Sve dok nije postao najskuplja odbijenica u povijesti informatike.

Godina je 1980., MIT AI Lab, i stigao je novi Xeroxov laserski printer — brz, čudo tehnike za to doba, spojen na mrežu tako da mu posao mogu slati ljudi s više katova, ne samo iz iste sobe. Problem: printer je stalno zaglavljivao papir, a kad zaglavi, netko treba fizički otići i to riješiti. Dok je posao slao jedan čovjek s istog kata, nije bilo drame — čuo bi zvuk, otišao, izvukao papir. Ali sad je posao mogao slati bilo tko iz cijele zgrade, a ti ljudi nisu imali pojma da im se ispis suši zaglavljen tri kata niže, dok ga netko ne primijeti — možda za sat, možda za pola dana.

Richard Stallman je znao rješenje. Stari softver je, negdje ranije, imao funkciju koja bi svakome tko je poslao posao na printer — ako bi taj printer zaglavio — poslala poruku: hej, tvoj ispis čeka, netko treba otići i riješiti papir. Genijalno u svojoj jednostavnosti. Trebalo je samo tu istu logiku prepisati za novi Xeroxov model. Za to mu je trebao izvorni kod drajvera. Otišao je po njega — kao što je uvijek dotad odlazio po kod, jer na MIT-u se u to doba dijelilo baš sve, to nije bila usluga, to je bila kultura.

I tu je Stallman udario u zid koji dotad nije postojao. Xerox je dao izvorni kod svog printer-softvera drugom fakultetu, Carnegie Mellonu — ali uz uvjet: potpisan NDA. Nema pokazivanja, nema deljenja, nema modificiranja i vraćanja u zajednicu. Stallman je otišao pitati profesora s CMU-a koji je kod imao. Čovjek ga je odbio. Ne zlobno, ne osobno — samo je rekao da je obećao, da mora poštovati taj papir koji je potpisao. Stallman kasnije priča da ga to nije samo naljutilo — osjećao se kao da mu je netko rekao da ne smije pomoći susjedu čija je kuća u plamenu, jer je potpisao papir da ne smije posuditi vatrogasno crijevo.

I tu bi priča za devedeset devet od sto ljudi završila. Slegneš ramenima, kupiš neki drugi printer, nastaviš dan. Ali Stallman nije bio taj tip čovjeka koji sliježe ramenima — bio je tip čovjeka koji sitni administrativni incident pretvori u pitanje principa, pa u pitanje slobode, pa u pravni dokument koji će za dvadeset godina pokretati pola interneta. Printer je zaglavio papir. Stallmanu je zaglavilo nešto puno dublje, i to se, kako ćemo vidjeti, nikad više neće odglaviti.

GNU manifest (1983): OS kao moralni čin
§ 02

GNU manifest (1983): OS kao moralni čin

Dobro, printer ga je slomio. Ali ovo nije priča o slomljenom čovjeku koji ode kući i plače u jastuk — ovo je priča o čovjeku koji sjedne za pisaću mašinu (metaforički, imao je terminal, ali duh je isti) i napiše nešto što će promijeniti kako cijela planeta razmišlja o vlasništvu nad idejama. Rujan 1983. Stallman objavljuje poruku na Usenetu — zamisli ga kao pradjeda današnjih internetskih forumâ, mrežu oglasnih ploča gdje su se hakeri i akademici osamdesetih dopisivali o svemu i svačemu, samo bez slikica mačaka. Poruka počinje otprilike ovako: od sad, gradim slobodan operacijski sustav, kompatibilan s Unixom, i zove se GNU.

GNU. Gnu's Not Unix. Ne, nisi pogrešno pročitao — akronim koji sadrži samog sebe, rekurzivna šala koju su hakeri voljeli jer je dokaz da si dovoljno pametan da preboliš vlastitu pompoznost. Gnu's Not Unix. Nije Unix, ali radi kao Unix, izgleda kao Unix, ponaša se kao Unix — samo što ga nitko ne može zaključati u ladicu s natpisom „vlasništvo firme”. Ime je zajebancija. Projekt iza njega — nije.

Sad, da razjasnimo nešto prije nego krenemo dalje, jer je ovo mjesto gdje devedeset posto ljudi po prvi put čuje za GNU i pogriješi, pa ostane u tom krivom uvjerenju cijeli život: slobodan softver nije softver koji ne stoji ništa. Stallman to ponavlja toliko puta da je postalo mantra, skoro pa vjerski recital — »free« kao u »free speech«, ne kao u »free beer«. Slobodan govor, ne slobodno pivo. Možeš prodavati slobodan softver. Možeš na njemu zaraditi. Ono što ne možeš je uzeti ga, zatvoriti izvorni kod i reći korisniku: vjeruj mi, radi kako treba, ne pitaj kako. Sloboda o kojoj on priča su četiri stvari — da pokreneš program kako želiš, da vidiš kako radi, da ga promijeniš i da promjenu podijeliš s drugima. Ukloni bilo koju od te četiri i, po njegovoj definiciji, nemaš slobodan softver. Imaš samo softver koji je trenutno besplatan, što je nešto sasvim drugo i, ironično, nešto što on prezire koliko i softver koji direktno naplaćuješ.

E sad dolazi dio koji razdvaja Stallmana od svakog drugog nezadovoljnog programera koji je ikad opsovao šefa i otišao kući ljut. On ne piše samo manifest — on ostavlja posao. Napušta MIT, formalno, jer ne želi da institucija bude ni na koji način vlasnik njegovog rada, iako mu ostavljaju ured i pristup jer je previše vrijedan da ga se otjera — i sam sebi presudi na siromaštvo, ili bar na ono što normalan čovjek smatra siromaštvom u svijetu gdje su njegove kolege iz istog laba, s istim vještinama, u istom desetljeću, postajale dioničarski milijunaši. Živi minimalno. Spava po uredima i na kaučima kolega dok putuje s predavanja na predavanje. Ne kupuje kuću. Ne otvara startup. Ne prodaje se Symbolicsu ni bilo kome tko bi mu ponudio plaću sa šest nula za pola njegovog talenta.

Taj asketizam je u istom trenu magnet i repelent. Privlači ljude koji su umorni od toga da im firme kradu rad, pa im ga onda naplaćuju natrag. Odbija ljude koji misle da fanatizam, koliko god čist, nije nužno recept za pobjedu u stvarnom svijetu sa stvarnim rokovima i stvarnim plaćama. Oboje su u pravu, i to je upravo problem koji će progoniti cijeli pokret desetljećima nakon ovog manifesta — ali to je priča za kasnije. Za sad, 1983., imaš samo jednog čovjeka, jednu poruku na Usenetu i ime koje zvuči kao vic, a nosi ozbiljnost pravnog rata koji je tek trebao početi.

GPL: hak pravnog sustava
§ 03

GPL: hak pravnog sustava

Dobro, printer ga je razbjesnio, manifest je bio krik. Ali krik ne mijenja svijet. Zakon mijenja svijet. I tu Stallman, nekoliko godina kasnije, radi nešto što je, budimo iskreni, čisti genijalni hak — ne tehnički, nego pravni. Uzima najveće oružje korporacija, autorsko pravo, ono isto što je zaključalo drajver za onaj printer, i okreće ga protiv njega samog. Kao da uzmeš neprijateljski tenk, presjedneš u njega i ispališ granatu na neprijateljsku bazu. Zove se GPL — GNU General Public License — i to je najvažniji dokument u povijesti softvera koji 99% ljudi koji ga svaki dan koriste nikad nije pročitalo.

Prvo, demistifikacija, jer riječ »copyleft« zvuči kao neki hipijevski izum bez zuba. Nije. Autorsko pravo ti normalno kaže: ovo je moje, ne diraj, ne kopiraj, ne mijenjaj bez dozvole. GPL kaže — pažljivo — isto to pravo, samo unatrag. Ovo je moje, i baš zato imaš pravo kopirati, mijenjati, širiti... ali pod jednim uvjetom. Jedinim, ali ubojitim: sve što napraviš od ovog koda, svaki derivat, svaka nadogradnja, mora biti isto tako slobodno. Ne smiješ uzeti moj slobodan kod, zapečatiti ga u svoj proizvod i prodati ga zatvorenog. Ako uzmeš, moraš dati dalje. Autorsko pravo, izmišljeno da zatvara, Stallman koristi da otvara. Cijela genijalnost, u jednoj rečenici.

A onda dolazi dio koji je pravnicima devedesetih doslovno paralizirao mozak: ta klauzula je viralna. Nije metafora, nije zgodna riječ za marketing — bukvalno se ponaša kao virus u najstrožem smislu. Dodirneš GPL kod, ugradiš ga u svoj projekt, statički ga povežeš sa svojim programom (što jednostavno znači da tuđi kod fizički ušiješ u svoj, da postane njegov sastavni dio, umjesto da ga samo pozivaš izvana kao uslugu) — i cijeli tvoj program, ne samo taj dio, postaje zaražen obavezom da bude slobodan. Firma koja je mislila da će »samo posuditi malo koda da ne izmišlja toplu vodu« odjednom se budi s pravnom obavezom da otvori cijeli svoj proizvod. Za korporacijskog pravnika iz 1989. to je noćna mora bez kraja — cijela njegova karijera bila je izgrađena na premisi da autorsko pravo štiti, zatvara, monetizira. Ovdje je netko upotrijebio isti zakon da napravi suprotno, i napravio to tako čisto, tako pravno vodonepropusno, da ga nisi mogao jednostavno zaobići. Mogao si ga samo — ne dirati.

I tu se vraćamo na čovjeka, ne na dokument. Jer GPL nije napisao pravnik po narudžbi neke firme koja štiti profit. Napisao ga je — uz pravnu pomoć, da, ali ideja i uporno inzistiranje na svakoj formulaciji dolaze od njega — programer koji je odlučio da mu je važnije da ideja preživi nego da bude njegova. Svaka rečenica te licence nosi njegov karakter: beskompromisan, tvrdoglav, nespreman na pola koraka unatrag. Da je pristao na kompromis, na malu rupu u licenci »samo za ovaj slučaj«, cijela konstrukcija bi se raspala prvi put kad neka firma nađe tu rupu i provuče kroz nju kamion. Nije pristao. I baš zato je preživjelo.

Katedrala prije bazara
§ 04

Katedrala prije bazara

Dok je pisao GNU manifest, Stallman je napravio nešto što većina prorokâ ne napravi: krenuo je sam kucati kod. Ne samo propovijedati slobodu — graditi je, redak po redak, jer sloboda bez alata je samo lijep pamflet zakucan na zid prazne kuće. I tu njegova priča prestaje biti priča o jednom čovjeku s idejom, a postaje priča o jednom čovjeku koji je, uz par desetaka fanatično odanih suradnika, u nekoliko godina isporučio infrastrukturu za cijelu jednu civilizaciju softvera.

Prvo je trebao kompajler — program koji tvoj napisani kod (koji je čovjeku razumljiv, ali računalu ne znači ništa) prevodi u jezik koji procesor stvarno razumije. Postojeći komercijalni kompajleri bili su zaključani, skupi, tuđi — dakle neupotrebljivi po definiciji projekta. Stallman je napisao GCC, GNU Compiler Collection, kompajler koji danas, u nekoj svojoj inkarnaciji, prevodi vjerojatno polovicu koda koji trenutno radi na planeti. Zatim je trebao urednik teksta, jer čovjek koji je odbio novac ipak nije odbio opsesivnu perfekciju — Emacs je nastao iz njegovih ranijih makroa na MIT-u i pretvorio se u nešto što nije samo urednik, nego mali operativni sustav unutar operativnog sustava, s vlastitim programskim jezikom, vlastitom sektom obožavatelja i vlastitim ratom protiv korisnika drugog legendarnog urednika teksta, vi-ja, koji traje i danas po internetskim forumima kao neka vjerska podjela koja se nikad ne rješava, samo se nasljeđuje.

Onda su došli sitniji, dosadniji, ali podjednako nužni komadi — coreutils. Ono što nitko ne primjećuje dok radi, a bez čega ništa ne radi: ls, cp, mv, cat, grep. Naredbe kratke kao uzdah, koje otvoriš u terminalu i otipkaš bez razmišljanja, kao što dišeš bez razmišljanja. Svaku od njih netko je morao napisati, testirati, otkloniti joj bugove, i to je bio GNU projekt — ne jedan veliki potez genija, nego stotine malih, dosadnih, potrebnih poteza koje je netko morao odraditi jer inače cijela zgrada nema temelje.

I onda, 1991., u Helsinkiju, jedan student po imenu Linus Torvalds napiše kernel — jezgru operacijskog sustava, onaj dio koji upravlja samim hardverom, procesorom i memorijom, i bez kojeg ništa drugo na računalu ne može ni krenuti — napiše ga za zabavu, samo da vidi hoće li mu procesor 386 odgovoriti. Sam kernel, bez ijednog alata oko sebe, ne radi ništa — ne kompajlira se, ne uređuje se, ne kopiraju se datoteke unutar njega. Trebao mu je kompajler. Trebao mu je urednik. Trebale su mu te dosadne coreutils naredbe. I sve je to, spremno i čekajuće, već postojalo — GCC, Emacs, cijela ta katedrala koju je Stallman s ekipom godinama gradio čekajući kernel koji nikad nije stigao. Torvalds je napisao krov koji je nedostajao Stallmanovom vlastitom, sporo razvijanom kernelu i stavio ga na zgradu koja je već stajala. Nastao je operativni sustav koji danas svi zovu Linux.

Ono što ostaje, ispod sve te svađe oko imena, jest jednostavna i nezgodna činjenica: da GNU nije postojao, Linux Linusa Torvaldsa danas ne bi postojao kao upotrebljiv sustav — bio bi to kernel bez ičega oko sebe, znanstveni eksperiment jednog studenta koji nikad nije napustio fakultetski disk. Katedrala je stigla prije bazara. Bazar je samo dobio krov koji katedrala, iz vlastitih razloga, nikad nije uspjela izgraditi — taj krov se zvao GNU Hurd, Stallmanov vlastiti projekt kernela, onaj komad koji je godinama trebao okruniti cijelu zgradu, ali se razvijao toliko sporo i toliko dugo da ga je jedan student iz Helsinkija stigao prestići prije nego što je Hurd uopće postao upotrebljiv.

Kad danas ukucaš `apt install` ili `dnf install` bilo čega — to su naredbe kojima na Linuxu instaliraš program, otprilike kao da klikneš „preuzmi” u nekoj trgovini aplikacija, samo bez trgovine i bez klikanja — na desetke tih komandi, biblioteka i alata koje tako dobiješ nose licencu koju je Stallman izmislio i infrastrukturu koju je njegov projekt sagradio, dok je svima drugima to zvučalo kao hobi jednog opsesivnog čovjeka koji ne jede meso, ne skuplja novac i pleše narodne plesove za razbibrigu.

Prorok i njegova cijena
§ 05

Prorok i njegova cijena

Stallman se nije posvadio samo s Microsoftom. To bi bilo lako — to je posao za svakog frustriranog programera s modemom. Stallman se posvadio i sa svojima. Kad se krajem devedesetih pojavio pojam „open source”, izmišljen dobrim dijelom zato da se ideja distribuira bez politike koja ide uz nju, Stallman ga je odbio koristiti kao da mu je netko ponudio da mu ime piše malim slovom. Open source, po njemu, priča o praktičnosti — kod je bolji kad ga gleda više ljudi, firme štede, programeri brže krpaju greške. Slobodni softver priča o etici — imaš pravo znati što radi mašina koju koristiš, i to pravo ne ovisi o tome je li ti profitabilno. Za Stallmana to nije nijansa. To je razlika između pokreta i marketinškog slogana.

Pa dobro, reći ćeš, koga je to boljelo osim njegovog ega? Boljelo je koaliciju koja mu je trebala. Linus Torvalds, čovjek koji je na GNU alatima sagradio kernel — onu srž operativnog sustava koja govori procesoru što da radi — i tako GNU-u dao ono što mu je desetljećima nedostajalo, javno je govorio da mu je Stallmanova čistoća naporna, da svijet ne funkcionira u apsolutima. Firme koje su htjele koristiti slobodan kod, ali ne i propovijedati o slobodi svojim dioničarima, dobile su alternativne licence koje su za Stallmana predstavljale precedent opasniji od samog Microsofta. I tako je čovjek koji je pokrenuo najveći softverski etički projekt stoljeća proveo dobar dio devedesetih i dvijetisućih u polemikama s ljudima koji su, u praksi, radili točno ono što je on tražio — samo su to zvali drugim imenom.

Ima u tome i osobne cijene, ne samo taktičke. Stallman je odbio unosne poslove u industriji koja je desetljećima poslije napravila milijardere od ljudi mnogo manje darovitih od njega. Njegova beskompromisnost je supermoć zato što je jedina stvar koja objašnjava zašto je GNU projekt uopće opstao dva desetljeća bez profita koji bi ga korumpirao. I ta ista beskompromisnost je hendikep zato što je čovjeka koji je trebao biti svetac pokreta pretvorila u lik kojeg organizatori konferencija pozivaju s laganim strahom u želucu.