Tanenbaum protiv Torvaldsa

Profesor kaže da je Linux zastario dan nakon rođenja, student odgovori bez pardona — i oboje su, nekim čudom, u pravu.

poglavlje 8/2719 min čitanja1991 – 2000

Siječanj 1992. Zamisli mjesto gdje se ne vidi tko je koga jače udario — vidi se samo tko je ostao stajati kad prašina padne. To je Usenet, mjesto gdje se ideje razmjenjuju brže nego što stigneš provjeriti tko ih šalje. Nema moderatora koji će te smiriti, nema šefa koji će prekinuti sastanak. Ima samo tekst, argument i onoga tko je spreman ostati budan do tri ujutro da dovrši misao.

S jedne strane ringa: Andrew S. Tanenbaum. Profesor na slobodnom sveučilištu u Amsterdamu, čovjek čiji udžbenici o operativnim sustavima stoje na policama svake ozbiljne informatičke katedre na planetu. Napisao je Minix — malen, elegantan, akademski operativni sustav dizajniran da se lijepo uči, lijepo predaje i lijepo objašnjava studentima zašto stvari trebaju biti čiste. Kad Tanenbaum govori o arhitekturi kernela — onog dijela operativnog sustava koji je stvarni šef, onaj koji odlučuje tko od programa smije koristiti procesor, memoriju i disk, i kad — govori s pozicije nekoga koji je o tome napisao poglavlje, predavanje i vjerojatno ispitno pitanje.

S druge strane: Linus Torvalds. Dvadesetdvogodišnji student iz Helsinkija čiji je kernel — onaj isti šef zadužen za procesor, memoriju i disk o kojem je maloprije bilo riječi — u tom trenutku hobi-projekt s možda nekoliko tisuća korisnika: entuzijasta, hakera, ljudi koji vole kompajlirati stvari usred noći iz čiste znatiželje. Nije napisao nikakav udžbenik. Napisao je kod. I taj kod, po njegovom mišljenju, radi — a to mu je, zasad, dovoljno.

Onda profesor otvori temu — na Usenetu, praočevoj mreži internetskih diskusijskih grupa, nešto kao preteča foruma i Reddita, samo bez slika mačaka i s puno više ljudi koji su mislili da su najpametniji u sobi. Naslov ne ostavlja puno mašti na volju: „Linux is obsolete” — zastario. Prije nego što je ozbiljno i prošetao svijetom, netko s katedrom i bibliografijom već ga je proglasio mrtvorođenim — korakom unatrag, u prošlost, u dizajn koji je struka odavno trebala nadživjeti.

I student mu odgovori.

Ono što slijedi ušlo je u legendu ne zato što je bilo posebno pristojno — nije bilo, baš nimalo — nego zato što su, iznenađujuće, obojica imala pravo. Ne pola-pola, ne ono diplomatsko »neka svi budu zadovoljni« pravo, nego stvarno, dokazivo, tehnički potkovano pravo — samo o dvije različite stvari, u dva različita vremenska okvira, gledano iz dva kuta koji se jednostavno nisu mogli složiti oko toga što uopće znači da nešto pobijedi.

Prva runda pripada starijem, i to ima smisla — u siječnju 1992. na Usenetu, na grupi comp.os.minix, Andrew Tanenbaum nije bio nikakav autsajder koji se javlja iz podruma. Tanenbaum je na toj sceni bio ono što bismo danas zvali živa legenda — kad taj čovjek otvori temu, ljudi slušaju. A temu je otvorio bez puno uvijanja: naslov posta glasio je »LINUX is obsolete«. Zastario. Mrtav po rođenju. Nije ni stigao izaći iz pelena a već je, po profesoru, artefakt iz prošlosti.

Argument nije bio hir. Tanenbaum je desetljeće predavao arhitekturu operativnih sustava, i u tom desetljeću akademska struja bila je jasna kao dan: monolitni kernel — onaj gdje sve, baš sve, sjedi zbijeno u jednom komadu koda koji radi u privilegiranom modu (onom dijelu sustava koji ima pun, neograničen pristup hardveru i memoriji, za razliku od običnih programa koji smiju samo ono što im se dopusti) — model je koji je trebao umrijeti sa sedamdesetima. Torvaldsov Linux, po njegovom sudu, radi upravo to: gura upravljanje memorijom, datotečni sustav, drivere (programčiće koji kernelu prevode što neki komad hardvera, recimo zvučna kartica, uopće želi) i mrežni stog u istu veliku, nerazdvojivu hrpu. Jedna greška u driveru za zvučnu karticu i može ti povući cijeli sustav u pod. Tanenbaum je to nazvao, citiram gotovo doslovno, „giant step back into the 1970s” — divovski korak nazad, u desetljeće diskastih glazbi i računala veličine ormara.

Njegovo rješenje, koje je već ugradio u Minix, zvalo se mikrokernel. Ideja je elegantna, čak lijepa na papiru: jezgra sustava treba biti minimalna, gola, samo ono najnužnije — komunikacija između procesa, osnovno upravljanje memorijom, ništa više. Sve ostalo — upravljanje datotečnim sustavom, driveri, mrežni stog — izbacuje se iz privilegiranog prostora i seli u obične procese koji s jezgrom razgovaraju porukama, kao dvoje ljudi koji si dobacuju cedulje kroz vrata umjesto da žive u istoj sobi. Padne li driver za zvučnu karticu, padne on sam. Sustav to i ne primijeti. Restartaš taj jedan komadić, život ide dalje. Modularno, čisto, sigurno — onako kako bi, po Tanenbaumovoj logici, budućnost trebala izgledati. A Linux je, tvrdio je, toj budućnosti okrenuo leđa.

Ali nije stao na arhitekturi. Drugi udarac, još pikantniji, ticao se prenosivosti. Minix je pisan da radi na više arhitektura; Linux u tom trenutku, 1991., 1992., živi i diše gotovo isključivo na Intelovom 386-ici. Tanenbaum je to iskoristio kao dokaz kratkovidnosti: gradiš sustav vezan za jedan komad silicija, i to baš onaj koji je, po njegovom mišljenju, na izlasku — Intel je već tada najavljivao arhitekture koje trebaju naslijediti 386. »LINUX is a monolithic style OS based on a single microprocessor and is destined to become extinct«, piše, manje-više. Prevedeno na normalni jezik: kladiš se na konja koji će za par godina biti u muzeju.

I da budemo pošteni prema profesoru, jer ova priča to zaslužuje — mikrokernel nije bio ideološka fiksacija bez temelja. Cijela akademska zajednica osamdesetih je u njemu vidjela iskorak: manju površinu za pad, lakše dokazivanje ispravnosti, teoretski čišći dizajn. Tanenbaum nije izmislio grešku, samo je vjerovao — iskreno, s desetljećem predavanja iza sebe — da zna kojim putem ide industrija. I u jednom segmentu, za koji ćemo kasnije otkriti da je puno šire prisutan nego što je bilo kome od njih dvoje 1992. bilo i na kraj pameti, bit će u pravu na način koji nijedan od njih nije predvidio.

Ali to je za kasnije. Zasad imamo profesora s katedrom, udžbenikom i respektom cijele struke, koji je upravo javno, na mjestu gdje ga čita svatko tko je bitan u tom svijetu, rekao da je projekt jednog studenta iz Helsinkija mrtav po definiciji. Scena je postavljena. Sad dolazi odgovor — i, spojler, taj odgovor neće biti napisan u tonu koji se uči na fakultetima.

Kut drugi: Torvalds i pragmatizam
§ 02

Kut drugi: Torvalds i pragmatizam

Sad druga strana ringa. Linus Torvalds nije došao u tu raspravu na Usenetu s teorijom — kernel koji je do siječnja 1992. skinulo možda desetak tisuća ljudi, od kojih je polovica vjerojatno samo htjela vidjeti hoće li se pokrenuti, govorio je sam za sebe. Došao je s Makefileom koji radi, odnosno s malom datotekom uputa koja kaže računalu točnim redoslijedom kako se od hrpe kôda sastavi gotov, upotrebljiv program.

I to je cijela njegova poanta, izrečena bez ni trunke diplomacije: dok Tanenbaum piše o tome kako bi operacijski sustavi trebali izgledati za deset godina, Linux već sad, u prvim mjesecima 1992., pokreće gcc, bash i X Window System na tvom 386-u — dakle prevodi kod, pokreće naredbe u komandnoj liniji i vrti grafičko sučelje, ono osnovno, sveto trojstvo bez kojeg računalo za Unix čovjeka nije ništa drugo nego skupa greška. Ne u teoriji. Stvarno. Na disku ti. Torvalds ne brani monolitni kernel kao filozofsku poziciju — brani ga kao činjenicu koja se već dogodila, dok je Minix, uz sve akademsko dostojanstvo, ostao uglavnom vježba za studente operacijskih sustava.

Ton cijele prepiske zapravo je ono što je čini legendarnom, više nego sami argumenti. Torvalds ne piše kao netko koji traži odobrenje autoriteta — piše kao netko koji je autoritet već zaobišao i sad mu, iz čiste pristojnosti, objašnjava zašto. Rečenice su kratke, direktne, mjestimično arogantne na način koji je bezobrazan samo ako nemaš argument iza njega. On ga ima.

Kad Tanenbaum kaže da je monolitni kernel „giant step back into the 1970s” — dakle, ogroman korak natrag u sedamdesete godine — Torvalds mu odgovori da mu je onda drago što nazad u sedamdesete idu i milijuni ljudi koji taj korak trenutno koriste za rad. Kad profesor spomene portabilnost i upozori da će 386 arhitektura (tadašnji Intelov procesor, na kojem je Linux prvi put i zaživio) izumrijeti, dobije natrag suhu primjedbu da se onda i on nada da će Minix preživjeti dovoljno dugo da to vidi. Nema tu izvinjavanja, nema „s poštovanjem prema vašem radu”. Ima mladića koji je odlučio da respekt prema tuđoj tituli neće nadomjestiti argument koji nema.

Energija cijele stvari svodi se, ako je stisneš u jednu rečenicu, na ovo: tvoj posao, profesore, je predavati o tome kako bi sustavi trebali izgledati. Moj je da sustav koji imam radi. I dok ti pišeš sljedeće poglavlje udžbenika, ja pišem sljedeći commit — onu malu poruku koja bilježi što si upravo promijenio u kodu i zašto, i koju, kad ih ima dovoljno poredanih jednu za drugom, dobiješ cijeli program.

Ono što Torvalds intuitivno shvaća, a što će cijela industrija tek desetljećima kasnije priznati naglas, jest da jednostavnost razvoja — a ne elegancija arhitekture — određuje hoće li nešto poživjeti dovoljno dugo da postane bitno. Monolitni kernel je, iz akademske perspektive, neuredan: sve živi u istom adresnom prostoru (zamisli jednu veliku zajedničku sobu u kojoj svi dijelovi sustava mogu dozvati jedni druge bez kucanja na vrata), sve se poziva direktno, bez lijepih granica između modula. Ali upravo ta neurednost znači da netko poput Torvaldsa može u petak navečer dodati upravljački program za novi uređaj, prevesti (kompajlirati) taj kod u nešto što računalo razumije, testirati ga i objaviti na Usenetu do ponedjeljka. Mikrokernel bi tražio da se poruke šalju preko granica procesa, čekaju, usklađuju — čisto, sigurno i sporo, a za nekoga koji radi sam u svojoj sobi to praktički znači nemoguću brzinu iteriranja.

Torvalds nije protiv teorije jer je glup. Protiv je teorije jer nema vremena čekati na nju. Upravo ta razlika u prioritetima — akademska čistoća protiv brzine iteracije — jest ono što ova runda dvoboja stvarno postavlja na stol, mnogo prije nego što bilo tko izmjeri tko je „pobijedio”. Za sada, u siječnju 1992., čini se da se sitni student svađa sa slonom. Slon samo još ne zna da će ga taj sitniš, unutar nekoliko godina, tiho prestići — i da će mu, iz čiste ironije povijesti, jednog dana dati posao u pozadini vlastitog čipa.

Runde: tehnika ispod uvreda
§ 03

Runde: tehnika ispod uvreda

Dobro, gong je odzvonio dvaput, obojica su se izvrijeđala u ime znanosti, i sad je vrijeme da presudimo ozbiljno — jer ispod svih tih „obsolete” i „vidimo se za pet godina” urlika stoji jedno tehničko pitanje koje stvarno vrijedi objasniti. Kako uopće radi operacijski sustav iznutra, i zašto je uopće bilo mjesta za svađu?

Da bismo shvatili oko čega se uopće vrijeđaju, treba znati što je taj kernel (jezgra) kojeg obje strane žele izgraditi po svom. To je onaj dio operacijskog sustava koji stoji najbliže hardveru — šef smjene koji odlučuje tko će u datom trenutku koristiti procesor, memoriju i disk, i tko s kim smije razgovarati. Sve ostalo na računalu, od preglednika do igrica, njega mora pitati za dozvolu. Zamisli kernel kao restoran. U jednom modelu — monolitnom, Torvaldsovom — imaš jednog velikog kuhara koji radi sve. On sam reže povrće, on sam prži meso, on sam sprema desert, sve u istoj kuhinji, s istim noževima, na istom šporetu. Brzo je, jer se kuhar ne mora s nikim dogovarati — ako mu treba paprika, samo je uzme s pulta pored sebe. Ali ako mu jednog dana pukne nerv i baci tavu kroz prozor, cijeli restoran gori. Jedna greška u kuhinji, cijela zgrada u plamenu.

U drugom modelu — mikrokernelu, Tanenbaumovom — kuhinja je podijeljena u specijalizirane odjele. Jedan kuhar samo reže povrće, iza pregrade. Drugi samo prži meso, u drugoj prostoriji. Treći radi isključivo desert, negdje u podrumu. Kad glavni kuhar (kernel, ovdje mali i skroman) treba jelo, ne ulazi u te sobe i ne dira ništa sam — on šalje poruku: „Trebam narezano povrće, molim.” Netko iza pregrade to čuje, odradi i vrati tanjur natrag kroz prozorčić. Ako specijalist za desert padne u nesvijest od umora, ostatak restorana normalno radi dalje — samo nema deserta tu večer. Elegantno, sigurno, modularno. Upravo ono što je Tanenbaum propovijedao cijelu karijeru, i s dobrim razlogom — manje kôda u samom kernelu znači manje mjesta gdje jedna greška obara sve.

Na papiru je mikrokernel trebao pobijediti u svakoj kategoriji koja je ikad postojala na fakultetskom ispitu. Sigurnost, modularnost, mogućnost da zamijeniš jedan dio sustava bez da diraš ostatak — sve ono što akademik voli vidjeti na slajdu. Zato je devedesetih cijela struka, sva ta literatura iz koje se učilo, gledala na monolitne kernele kao na nešto zastarjelo, kao dizajn koji je trebao umrijeti zajedno s diskovima od pet inča.

Torvalds je to znao instinktivno, ne zato što je pročitao neku studiju, nego zato što je sjedio i pisao kod na svom 386-u — osobnom računalu s Intelovim procesorom koji je tada bio pristojan, pristupačan izbor za studenta, ali daleko od vrha ponude (486 je već bio tu) — i gledao brojke uživo, u stvarnom vremenu, dok mu se sustav pali i gasi. Kad je sve u jednoj kuhinji, kuhar samo posegne rukom — nema poruke, nema prozorčića, nema čekanja. Sporije za dizajnirati na papiru, brže za trčati u stvarnosti. I to je, kad skineš uvrede i emocije, cijela suština svađe: Tanenbaum je gledao arhitekturu, Torvalds je gledao satnu brojku na ekranu dok mu se sustav pokreće.

E sad, ono što je stvarno zanimljivo — i što nijedna strana u siječnju 1992. nije mogla znati — je kako je povijest presudila. Ne jednoznačno. Ne kako bi bilo lijepo za priču, gdje jedan pobjednik nosi lovorov vijenac a drugi tiho odlazi kući. Presudila je: obje ste u pravu, samo pola.

Pogledaj Windows NT, onaj isti NT koji danas nosi ime Windows 10 i 11 pod haubom. Microsoft ga je prodavao kao „hibridni kernel” — što je, budimo iskreni, marketinška fraza koja u prijevodu znači: uzeli smo malo mikrokernel filozofije, malo monolitne brzine, i ubacili sve u istu kutiju s etiketom koja zvuči pametno. macOS radi identičnu stvar — njegov XNU kernel je Mach mikrokernel (rodbina onoga što je Tanenbaum branio) zalijepljen s dijelovima BSD-a, jednog od najstarijih ogranaka Unixa, koji se ponašaju sasvim monolitno, jer čisti mikrokernel u praksi nikad nije bio brz dovoljno da nosi cijeli desktop na plećima.

Dakle, gotovo svaki veliki operacijski sustav koji koristiš danas — telefon u tvom džepu, laptop pred tobom — nekakav je kompromis, mješavina restorana s jednim kuharom koji sam kuha sve od predjela do deserta (to bi bio monolitni kernel) i restorana sa specijalistima gdje jedan majstor radi samo umake, drugi samo meso, a treći samo desert i nitko od njih ne smije zavirivati u tuđi lonac (to je mikrokernel, Tanenbaumova ideja). Nitko to ne viče s krova. Nitko na naslovnici ne piše „ovo je hibrid, oprostite na nedosljednosti” — jer priznati kompromis nije dobar marketing, dok priznati čistu filozofiju jest.

Linux je, za razliku od svih njih, ostao dosljedno monolitan — s tim da se s vremenom naučio ponašati pametnije: module učitava i izbacuje u hodu, kao da povremeno ipak posluša savjet iz susjedne kuhinje, samo to nikad javno ne prizna. Konzistentnost je Torvaldsova pobjeda; priznanje da čista teorija ne prolazi ispit stvarnosti Tanenbaumova je osveta — samo stidljiva, uvučena u tuđe proizvode, gdje je se rijetko tko sjeti spomenuti.

Presuda: obojica u pravu, jedan pobijedio
§ 04

Presuda: obojica u pravu, jedan pobijedio

Sudac ustaje. Obje strane šute, jer obje su, nezgodno, u pravu — samo u različitim desetljećima. Tanenbaum je bio u pravu teoretski, i to na način koji se ne da opovrgnuti argumentom nego samo vremenom: mikrokernel jest čišći, jest sigurniji, jest ono što bi svaki udžbenik operacijskih sustava trebao preporučiti studentu koji pita »kako bih ja to danas dizajnirao, da počinjem iz ničega«. Problem je što nitko ne počinje iz ničega. Torvalds nije pobijedio jer je imao bolji dizajn. Pobijedio je jer je imao kernel koji je radio u ponedjeljak, dok je Tanenbaumov argument bio spreman za konferenciju u rujnu.

I da budemo fer prema profesoru — nije mu trebalo dugo da dokaže da nije samo teoretičar koji gubi svađe na Usenetu. Minix je nastavio živjeti, i to ne kao muzejski eksponat, već kao radni koncept: Minix 3, verzija koja je izašla 2005., dizajnirana da padne komad po komad, a da cijeli sustav ostane na nogama. Ako ti umre upravljač zvučne kartice u mikrokernelu, restartaš tu jednu komponentu i ideš dalje. Ako ti umre pogrešan komad u monolitnom kernelu, cijeli sustav ide u modru sliku smrti i povlači te sa sobom. Za desktop računalo to je nezgodno. Za sustav koji upravlja srčanim monitorom, avionikom ili nuklearnom centrifugom — to je razlika između neugodnog ponedjeljka i katastrofe s naslovnice.

Zato mikrokerneli nisu izumrli, kako je Torvalds sarkastično sugerirao — samo su se preselili u kutove svijeta gdje pad sustava nije opcija. QNX već desetljećima tiho, bez drame i bez flame ratova, vozi infotainment sustave u autima i industrijske robote. seL4, formalno dokazan mikrokernel — što znači da postoji matematički dokaz da kod radi točno ono što tvrdi da radi, a ne samo da »obično radi« — koristi se u zrakoplovnoj i vojnoj industriji, gdje »obično radi« nije standard koji ikoga zadovoljava. Tanenbaum je gledao pravu budućnost, samo je pogrešno procijenio za koga je ta budućnost namijenjena. Nije bila za tvoj laptop. Bila je za stvari koje ne smiju pasti — dok tvoj laptop smije pasti, a ti ga onda samo ponovno pokreneš, uz psovku, i ideš dalje.

Torvalds je, s druge strane, bio u pravu na način koji se ne uči na fakultetu, jer fakultet ne predaje evoluciju, nego dizajn. Linux nije pobijedio jer je arhitektonski superiorniji. Pobijedio je jer je bio dovoljno dobar, dovoljno rano, s dovoljno ljudi koji su mu mogli krpati rupe u hodu. Monolitni kernel je lakše pisati i lakše ispravljati greške u njemu kad si student s dva prijatelja na internetu, a ono što je najviše boljelo Tanenbauma jest da je oko njega lakše izgraditi zajednicu — svatko može ući, ubaciti svoj komad koda i odmah vidjeti da radi. To je ono što programer i esejist Eric Raymond kasnije opisuje kao »bazar«, nasuprot »katedrali«: katedrala je projekt koji nekolicina graditelja pomno planira godinama prije nego što polože prvu cigli, bazar je gomila trgovaca koja se organizira sama, u hodu, uz vikanje i improvizaciju — a Linux se, po njegovoj analogiji, razvijao upravo kao takav bazar. Mikrokernel traži disciplinu koordinacije komponenti koje razgovaraju porukama. Bazar nije imao vremena za disciplinu. Bazar je imao vremena za brzinu.

A onda dolazi desert, i toliko je slasan da ga vrijedi čuvati za kraj. Negdje duboko u svakom modernom Intel procesoru, u Intel Management Engineu, vrti se operativni sustav. Taj operativni sustav je Minix. Andrew Tanenbaum je to godinama saznao slučajno, iz tehničkog izvještaja, a ne od Intela osobno, pa im je napisao otvoreno pismo u kojem je, s dozom suhog akademskog humora, primijetio da bi bilo lijepo da ga bar netko obavijesti kad njegov kod postane najrasprostranjeniji operativni sustav na planeti.

Dakle — dok cijeli svijet slavi Linux kao pobjednika povijesti, koji vozi Android telefone, servere, superračunala i pretežit dio interneta, negdje ispod svega toga, u tišini, u čipu koji nitko ne vidi i skoro nitko ne razumije, vrti se operativni sustav profesora koji je izgubio raspravu. Tanenbaum nije pobijedio bitku na Usenetu. Ali je, sasvim tiho, osvojio teritorij o kojem ni sam nije znao da postoji.

Ostavština žanra
§ 05

Ostavština žanra

E sad, zvono je odzvonilo, borci su se vratili u kutove, i vrijeme je da dodijelimo bodove. Ali prije toga, vrijedi se zapitati nešto što nema veze s kernelima: jesmo li mi, gledatelji, uopće imali sreće da ovo gledamo uživo?

Zato što ono što se dogodilo na Usenetu 1992. godine s današnje perspektive izgleda kao izumrla vrsta. Profesor i student su se svađali javno, javno su se blamirali, javno su priznavali greške (ili nisu, ovisno koga pitaš), i cijela rasprava je ostala tamo, arhivirana, da je svatko može otvoriti i pročitati tridesetak godina kasnije. Nitko nije brisao postove. Nitko nije zvao pravnu službu. Nitko nije pisao internom memu o »tonu komunikacije«.

Ovdje treba staviti ogradu, jer inače ovo zvuči kao da zagovaram da se svi vrijeđamo po internetu radi produktivnosti, a to nije poanta. Poanta je da je ta rasprava bila brutalna prema ideji, ne prema čovjeku — makar je s vremena na vrijeme zagrebla i po čovjeku, budimo iskreni, Torvaldsov ton prema profesoru s druge strane Sjevernog mora nije bio baš primjer akademske suzdržanosti. Ali kad skineš omot uvrede, ispod je ostala tehnička tvrdnja koju je mogao pobiti bilo tko s dovoljno znanja. I to je razlika između zdrave svađe i toksičnog trolanja: kod trolanja nema tvrdnje ispod uvrede, samo uvreda. Ovdje je bilo oboje, u omjeru koji bi danas svaki moderator zabranio, a koji je tada, paradoksalno, tjerao pravu ideju gore.

Ta rasprava je danas standardna lektira. Na fakultetima gdje se predaje dizajn operacijskih sustava, cijeli se thread povremeno kopira studentima kao studija slučaja — evo kako izgleda kad se sukobe teorija i praksa, evo kako obje strane imaju argumente, evo zašto stvarni svijet ne nagrađuje uvijek onoga koji je u pravu na papiru.

I tu dolazimo do poante cijelog dvoboja, one koja nadilazi mikrokernele i monolite. Sukob s imenom i egom u pitanju je motor napretka. Ne sukob oko koda — kod je samo tekst, tekst se ne vrijeđa. Sukob oko toga TKO je u pravu, s prezimenom i reputacijom na kocki, to je ono što tjera ljude da brane ideje do zadnjeg zareza i da ih, kad izgube, barem izgube glasno i dokumentirano. Torvalds nije branio kernel. Branio je Torvaldsa. Tanenbaum nije branio arhitekturu. Branio je Tanenbauma. I upravo zato su oba argumenta bila oštra kao skalpel, a ne mekana kao interni feedback formular.

Moderne zajednice danas pišu Code of Conduct dokumente — pravilnike ponašanja za online rasprave — i to s dobrim razlogom: internet je deset puta veći nego 1992., i ne svatko koga uvrijediš je profesor s debelom kožom i tenure-om koji mu čuva leđa (tenure je ono legendarno doživotno profesorsko mjesto, ono gdje te ni šef, ni dekan, ni loš dan ne mogu otpustiti — pa se onda i svađaš malo slobodnije, jer nemaš baš što izgubiti). Ali vrijedi upitati se, tiho, u sebi, dok čitaš dvadeseti paragraf o »respektnoj komunikaciji«: gubimo li nešto usput? Onu vrstu rasprave gdje se dvoje ljudi ne slažu tako glasno da cijeli internet stane i sluša, i gdje na kraju, bez obzira ko je pobijedio, svi znamo malo više nego prije?