Gary Kildall i CP/M

Čovjek koji je izmislio operativni sustav, letio avionom kad je trebalo, i za to platio računom od sto milijardi dolara.

poglavlje 16/2720 min čitanja1970 – 1980
ti@kronika:~$ ./sviraj K2_16_gary.mp3

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

Kraj sedamdesetih. Zamisli garažu, ali umnoženu u nekoliko stotina verzija, svaka s vlastitim jezikom, vlastitim naponom, vlastitom idejom o tome što računalo uopće smije biti. Altair govori jedan dijalekt, IMSAI drugi, Commodore treći, i nijedan ne razumije susjeda. Kupiš program za jedan stroj i on je, praktički, pismo napisano jezikom kojim govori samo taj jedan stroj i njegova rodbina od dvadesetak primjeraka. Programer koji je napravio nešto pametno na jednom računalu mogao je to jednako lako baciti u vatru — na drugom stroju ta pametna stvar jednostavno ne postoji.

E, u toj gužvi, u mjestu koje se zove Pacific Grove, na kalifornijskoj obali gdje se penzioniraš, a ne revolucioniraš industriju, sjedi profesor. Predaje informatiku na Naval Postgraduate School, mornaričkom učilištu za buduće oficire — dakle ozbiljnim ljudima u uniformama, ne balavcima s pertlom oko glave. Zove se Gary Kildall. I dok cijela scena mikroračunala krpa kompatibilnost noktima i selotejpom, on napiše nešto što bi trebalo biti dosadno: sloj softvera koji stoji između programa i hardvera, tako da program više ne mora znati ništa o tome kakav je stroj ispod njega. Zove ga CP/M.

I ono što se dogodi dalje je — legenda. Onako kako se ta priča prepričava po konferencijama, u lošim knjigama, na Wikipediji koju je uređivao neki ljutit tinejdžer u tri ujutro: disketa s CP/M-om jednostavno *upali* na strojevima koji se nikad prije nisu vidjeli. Stotine modela, jedan operativni sustav, i tržište softvera koje prije toga uopće nije moglo postojati u ozbiljnom obliku — jer zašto bi netko pisao program za dvadeset kupaca kad ga za istu cijenu može napisati za dvadeset tisuća.

Kildall je, prema toj priči, čovjek koji je volio ideje više nego papire. Volio je letjeti — imao je avion, imao je licencu, i baš taj detalj će mu, u verziji koja se prepričava, postati epitaf.

Postoji jedna priča koja se prepričava na svakoj drugoj tehnološkoj konferenciji, obično negdje između kave i onog trenutka kad govornik kaže „a sad, zanimljiva anegdota iz povijesti” i cijela dvorana napravi onaj tihi, ugodni uzdah — ide se u priču. Ta priča ima sve što dobra priča treba: pravednika, izdajnika i jednog čovjeka koji je propustio šansu stoljeća zato što je više volio nebo od ugovora. Zove se, otprilike, „kako je Bill Gates ukrao operativni sustav dok je Gary Kildall letio avionom”. I zvuči presavršeno da bi bila laž. Pa naravno da ljudi vole da je pričaju.

Ide otprilike ovako. Godina je 1980. IBM, plavi div, konačno odlučuje da će i on ući u priču s kućnim računalima — dotad je pravio strojeve veličine ormara za banke i vlade, a sad mu treba nešto malo, jeftino i brzo. Netko u IBM-u, valjda pravnik u odijelu koje košta više od cijelog projekta, sjeti se da postoji jedan operativni sustav koji već radi na pola tržišta mikroračunala (mikroračunala su, otprilike, preci današnjih kućnih računala — mali, jeftini strojevi za obične ljude, za razliku od onih IBM-ovih ormara koje su koristile samo banke i vlade). Taj sustav se zove CP/M. Napisao ga je Kildall. IBM zove, zakazuje sastanak, dolazi u Pacific Grove — i onda, u verziji koja se priča, čeka. I čeka. Kildall nije tu. Kildall je, kažu, odletio negdje svojim privatnim avionom, jer je više volio letjeti nego sjediti u sobi s odvjetnicima najveće računalne kompanije na svijetu.

Nastavak legende ide brzo, jer mit nema vremena za detalje kad ima poentu za isporučiti. IBM, frustriran i bez strpljenja, odlazi do drugog čovjeka, mladog, gladnog i, što je najvažnije, dostupnog. Zove se Bill Gates. On nema operativni sustav, ali zna gdje ga brzo i jeftino nabaviti, bez ikakvog glupiranja s letenjem. Kupi tuđi kod, prekrsti ga, proda IBM-u — i evo ga, kraj priče — postane najbogatiji čovjek na planetu, dok Kildall umire četrnaest godina kasnije, zaboravljen, dok mu ime jedva itko izgovara točno.

To je verzija koja se prepričava u lošim knjigama o povijesti informatike, u onima s naslovima poput »Titani Silicijske dolina« i naslovnicom na kojoj netko drži laptop, iako te godine laptopi još nisu postojali u obliku kakav zamišljaš — prvi pravi prijenosnici stižu tek nekoliko godina kasnije. To je verzija koju čuješ na meetupu od developera koji je pročitao jedan članak i sad je stručnjak za sve. I moram priznati — kad sam je prvi put čuo, i ja sam pomislio: kakva glupost od čovjeka. Ko normalan ide letjeti avionom kad mu na vratima stoji IBM sa šekom u ruci?

Problem s tom pričom nije to što je dosadna. Problem je što je, kao većina mitova koji se predobro uklapaju u moralnu pouku, uglavnom kriva. Ne potpuno izmišljena — negdje u toj priči postoji jezgra istine, kao u svakoj urbanoj legendi koja preživi četrdeset godina prepričavanja. Ali između te jezgre i verzije koju čuješ na konferenciji stoji četrdeset godina uljepšavanja, skraćivanja i, budimo iskreni, potrebe da priča o računalima ima negativca koji je dobio ono što je „zaslužio” zato što je volio hobi više od posla.

Pa krenimo redom. Tko je, zapravo, bio Gary Kildall prije nego što je postao anegdota o čovjeku koji je propustio avion — ili, kako se pokazuje, nešto malo drugačije od aviona?

Stvarnost: CP/M imperij
§ 02

Stvarnost: CP/M imperij

OK, dobro, sad kad smo se nasmijali toj verziji s avionom i genijalnim dečkom iz Seattlea koji je sve pokupio kao sitne novčiće s pločnika — vratimo se malo unatrag, prije nego dođemo do tog kobnog dana u Pacific Groveu. Jer da bi razumio zašto je taj sastanak bio toliko bitan, moraš znati što je Kildall zapravo izgradio. Nije to bio neki hobistički projektić koji je slučajno bio na pravom mjestu u pravo vrijeme. CP/M je, sredinom i krajem sedamdesetih, bio nešto što danas jednostavno ne postoji: operativni sustav koji je radio na gotovo svemu.

Pa dobro, sjeti se te fragmentacije koju smo spomenuli — svaki proizvođač svoj zatvoreni svjetić, svaki stroj svoja pravila. Posljedica toga je bila da kad neki programer napiše koristan program, taj program radi samo na tom jednom stroju. Za drugi stroj, piši iznova, od nule. To je bio mikroračunalni kaos kasnih sedamdesetih: tržište softvera koje jednostavno ne može narasti u nešto veliko, jer se svaki komad koda mora posebno krojiti za svaki komad željeza na kojem će živjeti.

Kildallov trik — i ovo je stvarno pošteno nazvati genijalnim, ne kao marketinšku frazu nego kao inženjerski potez koji je riješio konkretan problem — bio je da odvoji dio operativnog sustava koji mora znati svaku sitnicu o hardveru (diskove, portove, tu specifičnu pinicu na tom specifičnom čipu) od dijela koji to ne mora znati. Taj prvi dio, tanki sloj koji se prilagođava svakom stroju posebno, nazvao je »Basic Input/Output System« — BIOS. Da, ta riječ koju danas viđaš na ekranu kad ti se računalo pali, prije nego Windows stigne i pisnuti o životu — to je Kildallova kovanica, iz otprilike 1974., i preživjela je pedeset godina softverskih revolucija bez ni trunke promjene u imenu.

I to nije bila mala niša za par entuzijasta u garažama. Do kraja sedamdesetih CP/M je radio na stotinama različitih modela, od raznih proizvođača, s hardverom koji međusobno nije imao gotovo ništa zajedničko — a na svima je izgledao i ponašao se isto, koliko je to god bilo moguće postići. Digital Research je od toga zarađivao stvarne, opipljive novce, dovoljno da Kildall kupi avion i, da, ponekad njime leti na poslovne sastanke — što ćemo za minutu razmrsiti, jer to je sljedeći sloj mita koji treba razgraditi.

Dakle, prije nego zamislimo IBM kako kuca na vrata malog čovjeka sa slabom kartom u ruci — moraš skužiti da je taj čovjek u tom trenutku bio, koliko-toliko, kralj. Ne netko tko čeka priliku, nego netko čije rješenje već sjedi u srcu skoro svakog ozbiljnog mikroračunala na tržištu, čija je riječ — ta prokleta BIOS riječ — postala toliko standardna da je nadživjela i njega, i CP/M, i cijelu tu eru disketa od osam inča (da, disketa je nekad bila veličine male pizze, i to je bio vrhunac prijenosnog pohranjivanja podataka). Kad IBM-ovi ljudi dođu u Pacific Grove, oni ne dolaze kod malog softverskog entuzijasta. Dolaze kod tipa koji je već napravio ono što oni upravo pokušavaju smisliti — samo malo prekasno, i s puno više love na stolu.

Što se stvarno dogodilo tog dana (koliko znamo)
§ 03

Što se stvarno dogodilo tog dana (koliko znamo)

Datum koji se navodi je 21. kolovoz 1980. Tri čovjeka iz IBM-a, u odijelima koja su u Pacific Groveu izgledala kao da su sletjela s Marsa, dolaze u sjedište Digital Researcha — kuću s dvorišnim uredom, gdje je Gary Kildall imao desetak zaposlenika i puno više ideja nego što je znao što s njima raditi. IBM je tražio operativni sustav za novi projekt, interno zvan Chess, koji će za godinu dana postati IBM PC. I to nije bila obična narudžba — dotad su kućna računala pravili mali igrači, garažne priče kao Altair ili IMSAI, dok su veliki i ozbiljni proizvođači računala poput IBM-a to tržište gledali s visine. Kad najveća kompjuterska firma na svijetu odluči i sama uskočiti u taj segment, to nije samo još jedan proizvod na polici — to je trenutak koji cijelom tržištu poručuje da su kućna računala prestala biti hobi i postala posao. I ovdje priča prvi put stane, jer se svi slažu samo oko jedne stvari: sastanak se dogodio. Sve ostalo — tko je bio tamo, zašto, i tko je zapravo zabrljao — ovisi o tome koga pitaš.

Verzija koja je postala mit kaže: Kildall je bio u avionu, IBM je pokucao na vrata, nitko od odraslih nije bio doma, kraj priče. Ono što izvori uglavnom potvrđuju jest da je Gary tog dana stvarno letio — ali ne rekreativno, kao neki playboy koji je pobjegao od milijardera zbog vremena bez oblaka. Digital Research je imao klijenta u zraku, poslovni let vezan uz isporuku softvera, i Kildall je bio pilot i menadžer u jednoj osobi, što je u toj tvrtki bila savršeno normalna kombinacija poslova. Nije bježao od sudbine. Radio je svoj posao, samo je taj posao slučajno uključivao krila.

Jer kad su IBM-ovci ušli, dočekala ih je Dorothy McEwen, Kildallova supruga i partnerica u poslu — ne domaćica koja čeka muža da se vrati s posla, nego dopredsjednica tvrtke koja je od osnutka Digital Researcha vodila financije, ugovore i pravni dio poslovanja. Uz nju je bio i odvjetnik Gerry Davis. Prvo što je IBM stavio na stol nije bio ugovor o softveru, nego NDA — sporazum o tajnosti — formuliran tako široko da bi, kako su ga Davis i Dorothy pročitali, praktički zabranio Digital Researchu da radi za bilo koga drugog u toj grani posla, doživotno, bez naznake što bi za to ikad dobili. Dorothy je odbila potpisati bez izmjena. Nije bila hirovita. Bila je oprezna prema strancima koji dolaze bez najave i traže potpis prije nego kažu na čemu se točno radi.

IBM-ova verzija priče, ispričana godinama kasnije kroz razne memoare i intervjue, zvuči drukčije: da su naišli na tvrtku koja nije bila spremna za ozbiljan posao, da je „gospođa Kildall” bila teška prema uvjetima, da je sastanak propao zbog nespremnosti druge strane da poslujе na IBM-ov način. Bill Gates je, kad su ga pitali, tu verziju samo potvrdio — a nije ni bio u toj sobi. Kildallova strana, uključujući samog Garyja u kasnijim razgovorima i u nedovršenom rukopisu memoara, tvrdi suprotno: da je NDA bio nerazuman ultimatum, da je odvjetnik samo radio svoj posao, i da se posao, kad se Kildall vratio s leta i strane su uskladile detalje, zapravo nastavio pregovarati — samo sporije nego što je IBM-u odgovaralo.

Što se sigurno zna, izvan spora: sastanak nije rezultirao potpisanim ugovorom tog dana. IBM je otišao iz Pacific Grovea bez CP/M-a u rukama. Nekoliko dana ili tjedana kasnije — a i tu se izvori razilaze, neki spominju naknadne pozive i pokušaje da se posao spasi — IBM je zaključio da mu treba brže rješenje, jer rok za lansiranje računala nije čekao ničiju gordost ni odvjetnički oprez. I baš tad se netko u IBM-u sjetio jednog imena iz Seattlea.

Zanimljivo je da čak i sami sudionici, kad su desetljećima kasnije davali izjave za dokumentarce i knjige, nisu uspjeli sastaviti jedinstvenu priču. Postoje transkripti u kojima se IBM-ovi ljudi ispravljaju sami sebe, gdje se datumi pomiču za tjedne, gdje se „Kildall nije bio tamo” pretvara u „Kildall je bio tamo, ali kasnije”. Povjesničari informatike koji su pokušali rekonstruirati taj dan iz IBM-ovih interno čuvanih bilješki i Kildallovih osobnih papira slažu se samo u jednom: nitko taj dan nije mislio da upravo gleda trenutak koji će za sljedeća dva desetljeća odrediti tko vodi industriju osobnih računala. Bila je to samo jedna od desetak sastanaka koje je IBM taj mjesec imao s desetak dobavljača. Drama je stigla kasnije — kad je netko morao objasniti kako je najveća računalna tvrtka svijeta zaobišla postojeći standard i kupila klon od dvadesetčetverogodišnjaka u Seattleu.

Gates preporuči, pa kupi
§ 04

Gates preporuči, pa kupi

Dok Kildall još razmišlja o NDA-u (onom papiru o povjerljivosti koji nije htio potpisati bez čitanja), IBM ne čeka. Odlazi ravno u Seattle, kod dvadesetčetverogodišnjeg Billa Gatesa, koji za IBM već piše BASIC — jednostavan programski jezik u kojem su se tada pisali gotovo svi programi za kućna računala, nešto poput alfabeta bez kojeg se u tom svijetu nije moglo ništa reći — i, važnije, ima telefon i mrežu poznanstava koja rade kad tvoja ne rade. IBM-u treba operativni sustav do jučer. Gates nema operativni sustav. Gates ima nešto puno korisnije: znanje da negdje u istom gradu postoji netko koji ga ima.

Taj netko je Tim Paterson, programer u firmi Seattle Computer Products, koji je za svoj hardver napisao vlastiti mali OS jer CP/M jednostavno nije stigao na vrijeme za njegov novi 16-bitni čip. Kratko objašnjenje za one koji nisu blizu hardvera: broj bitova procesora govori koliko podataka odjednom može progutati i koliko memorije uopće „vidi” — 8-bitni čipovi iz doba CP/M-a bili su kao uska seoska cesta, dovoljna za promet svog vremena, dok su novi 16-bitni čipovi bili autocesta koja je zahtijevala potpuno drugu vrstu vozila. Kildallova firma na tom prijelazu jednostavno nije bila spremna na vrijeme, i tu se otvorio prostor za Patersona. Sam je svoj sustav krstio, s poštenjem koje mu treba priznati — QDOS, Quick and Dirty Operating System, u prijevodu „brzo i nabrzinu sklepano”. I zaista je bilo brzo i nabrzinu sklepano: dizajn poziva sustava, struktura naredbi, čak i imena komandi u velikoj mjeri prate CP/M, jer Paterson je, kao i svi ostali te godine, imao CP/M priručnik na stolu dok je pisao svoj kod. Nije to bila industrijska špijunaža. Bilo je to isto što danas radi svaki junior koji otvori Stack Overflow prije nego napiše prvu liniju kôda — samo bez linka na izvor.

Gates i njegov partner Paul Allen kupuju QDOS za, ovisno o verziji priče, 25.000 do 75.000 dolara — u svakom slučaju iznos koji danas ne bi platio ni za rabljeni SUV. Ne kupuju firmu, ne kupuju Patersona, kupuju samo kod i prava. Paterson dobiva plaću i, mnogo kasnije, ogorčenje kad shvati što je zapravo prodao. IBM od Microsofta ne kupuje operativni sustav — licencira ga, po komadu, po stroju, uz zadržana prava da ga Microsoft prodaje i svima drugima. To je detalj koji zvuči tehnički, a je pravi razlog zašto danas pišeš ovo na Windowsima a ne na nekom drugom sustavu s licencom IBM-a: IBM je gledao kratkoročno, Gates dugoročno.

Paterson taj proizvod krsti u 86-DOS, a Microsoft ga, nakon kupnje, preimenuje u PC-DOS za IBM-ove strojeve i MS-DOS za sve ostale. Kildall ga, kad ga konačno vidi na ekranu — i to nedugo nakon što je odbio potpisati papir koji bi mu, teoretski, donio postotak baš od tog uspjeha — prepozna odmah. Ne treba mu forenzika. Naredbe za rad s datotekama, struktura direktorija, čak i poruke o greškama nose obrise njegova vlastitog rukopisa, samo tu malo promijenjenog imena varijable, ondje malo drugačijeg redoslijeda parametara. Kao da netko prekopira tvoju seminarsku, zamijeni svaku treću riječ sinonimom i preda je kao svoju.

Kildall razmišlja o tužbi. Ima odvjetnike, ima argumente, ima — teoretski — slučaj. Ali ima i problem koji mu nijedan odvjetnik ne može riješiti: dokazati na sudu 1981. da je „duh” jednog sučelja naredbi ukraden, kad su same naredbe javno poznate, kad je „dir” za popis datoteka isto što i „ls” u drugom sustavu, i kad granica između „inspirirano” i „kopirano” u autorskom pravu tog doba jednostavno ne postoji na način koji bi mu odgovarao. Autorsko pravo tada, naime, štiti konkretan kod — točan niz naredbi koji si napisao — ali ne i „osjećaj” ili logiku sučelja; da netko napiše svoj program koji se ponaša slično tvojem, ali drugim redoslijedom riječi u kodu, sasvim je legalno, koliko god ti se to činilo kao krađa. (Danas je to sasvim druga priča — otuda i sve one tužbe oko izgleda i funkcija mobilnih aplikacija.) Umjesto tužbe, Kildall dobiva nagodbu s IBM-om — IBM pristaje uz PC-DOS nuditi i CP/M-86 kao alternativu za svoje osobno računalo, i u priručnik za PC-DOS mora otisnuti rečenicu kojom priznaje doprinos Digital Researcha. Jedna rečenica, sitnim slovima, u priručniku koji nitko ne čita jer je operativni sustav već instaliran i radi. Ta rečenica je sve što je Kildall ikad javno dobio za ono što mu je, u njegovim očima, bilo oduzeto.

I tu mit dobiva svoj drugi, mračniji naboj: nije samo da je Kildall propustio priliku dok je letio avionom — nego da je, čak i kad je vidio dokaz vlastitim očima, sustav bio postavljen tako da mu ne preostaje ništa osim da gleda kako netko drugi žanje s njegova polja, s njegovim sjemenom, samo drugom etiketom na vreći.

Čovjek poslije mita
§ 05

Čovjek poslije mita

Presuda, ako je uopće treba izreći: DRI nije umro tog popodneva u Pacific Groveu. Kildall se vratio poslu, jer to je jedino što je znao raditi. Digital Research je izbacio GEM, grafičko sučelje koje je bilo dovoljno dobro da ga Apple tuži zbog sličnosti s Mac OS-om (da, obrnuto od onoga što bi pretpostavio), i DR-DOS, kloniran operativni sustav koji je radio brže i jeftinije od MS-DOS-a i koji je Microsoftu bio trn u guzici toliko da su mu u kod ubacivali tajne provjere koje su namjerno bacale lažne greške ako se pokrene na Kildallovu sustavu. Firma je bila živa, pametna, i dosljedno druga. Uvijek druga.

Onda dolazi ono što ti stvarno slomi srce, ako ga imaš. Kildall je bio i televizijsko lice — vodio je emisiju »Computer Chronicles«, jednu od prvih emisija o informatici, u kojoj je publici na malim ekranima objašnjavao kako uopće radi ta kutija na stolu. Sjedio je tamo, u odijelu, s mikrofonom, i intervjuirao ljude o revoluciji koju je sam pokrenuo. I gledao je, uživo, u prijenosu, kako svijet oko njega uzdiže Microsoft i IBM kao arhitekte te revolucije. Kao da je gledao vlastitu sahranu s najboljeg mjesta u dvorani, uz kavu.

Gorčina se, kažu ljudi koji su ga poznavali, s godinama pretvorila u nešto teže. Više alkohola. Manje strpljenja za priču koju je morao slušati unedogled, na svakom intervjuu, na svakoj konferenciji — onu istu, uglancanu verziju s avionom i propuštenom prilikom, dok je pokušavao objasniti da nije tako bilo, da je bilo kompliciranije, da je pravi problem bio NDA, ne let. Nitko ne voli komplicirane verzije. Mit je jednostavniji, pa je mit pobijedio i za njegova života.

I tu mit napokon popušta pred stvarnošću, jer stvarnost je dosadnija od legende, ali pravednija: BIOS — njegova je kovanica. Ideja da isti sustav radi na strojevima koji se međusobno ne razumiju, njegova je. Cijeli koncept da operativni sustav nije nešto što proizvođač hardvera baci u paket kao gratis dodatak, nego proizvod za sebe, vrijedan, koji se prodaje, licencira, unaprjeđuje — to je izmislio Gary Kildall, prije nego što je to bilo cool. Priču su mu uzeli. Ideju nisu mogli, jer je već bila ugrađena u temelje svega što je došlo poslije.