OS/2: Brak IBM-a i Microsofta koji propada uživo

Dva partnera, jedan krevet, i jedan od njih drži nož iza leđa cijelo vrijeme — dobrodošli u brak IBM-a i Microsofta.

poglavlje 15/2919 min čitanja1981 – 1990

Datum smrti: teško je reći. Datum rođenja: 1987. Baš to ovaj slučaj čini toliko zanimljivim za obdukcijski stol — pacijent je, po svemu sudeći, bio mrtav prije nego što je prvi put udahnuo. Samo nitko to nije htio priznati na press konferenciji.

Zamisli scenu. IBM — car računalne industrije, kompanija koja je desetljećima diktirala što je »ozbiljno računalo« i naplaćivala za tu privilegiju kao za ulaznicu u klub — sjeda za stol s Microsoftom. Firmom koja je pet godina prije toga bila samo dobavljač operativnog sustava za IBM-ov PC, mala, gladna, u trapericama. Sad su, na papiru, partneri. Jednaki. Zajedno grade OS/2 — nasljednika DOS-a, sustav koji će konačno imati prošireno pamćenje (drugim riječima, moći će koristiti više memorije nego što je DOS ikad znao dotaknuti) i prave zaštićene procese (svaki program radi u svojoj zatvorenoj sobi, pa kad jedan sruši sam sebe, ne povuče sa sobom cijelu kuću) — sve što jedan »pravi« operativni sustav treba imati, a DOS nikad nije htio ni sanjati.

Na papiru je to nepobjedivo. Car osigurava distribuciju, ugled, hardver. Mladi dobavljač osigurava brzinu, kod, ideje. Spoj kapitala i talenta, rekao bi netko u odijelu. Ono što se ne vidi na papiru je da su ta dva tima, kad bi sjeli u istu prostoriju, gledali jedni druge kao da gledaju drugu vrstu. IBM mjeri učinak inženjera u napisanim linijama koda — što više linija, veći bonus, veći dojam da se nešto »radi«. Microsoftovi programeri su, u istom razdoblju, ponosni kad izbrišu tri stotine linija, a sustav postane brži. Za IBM je to gubitak rada. Za Microsoft je to posao dobro obavljen.

A onda postoji i ono što bismo u braku eufemistički zvali „komplikacija”. Dok se službeno grli s IBM-om pred novinarima i potpisuje zajedničke izjave o svijetloj budućnosti, Microsoft u drugoj zgradi, tiho, razvija svoj vlastiti proizvod. Zove se Windows. Zamišljen je kao skromna nadogradnja za DOS, ništa što bi ugrozilo veliki zajednički projekt — tako je barem rečeno IBM-u. Ljubavnica u kući, dok se supružnici drže za ruke na vjenčanju. Nitko u toj sobi 1987. ne zna — ili ne želi znati — da će jedna od te dvije stvari za tri godine pojesti drugu živu.

Ono što slijedi nije priča o zloj namjeri, nego o partnerstvu koje je od prvog dana nosilo svoj vlastiti uzrok smrti u sebi, upisan u ugovor sitnim slovima koje nitko nije naglas pročitao. Vrijeme je da otvorimo pacijenta i pogledamo što je zapravo bilo unutra.

Prije nego što raspolovimo trup i počnemo tražiti uzrok smrti, patolog mora priznati jedno: pacijent je, dok je bio živ, bio zdrav. Štoviše — bio je u boljoj formi od gotovo svih tada postojećih operativnih sustava. To se u obdukcijama rijetko piše, jer nitko ne otvara truplo da bi rekao kako je pokojnik izgledao odlično, ali OS/2 zaslužuje tu rečenicu prije svega ostalog. Ovo nije priča o lošem proizvodu koji je zaslužio smrt. Ovo je priča o dobrom proizvodu kojeg su njegovi vlastiti roditelji ugušili u kolijevci — ali do toga dolazimo kasnije. Prvo, dijagnoza zdravlja.

Sredinom osamdesetih DOS je bio ono što danas zoveš legacy sustavom čim ga netko pokuša objasniti djetetu: jedan program u jednom trenutku, u istoj memoriji u kojoj se motaju i sami dijelovi operativnog sustava, bez brave na vratima. Ako je program htio pisati preko dijela memorije koji nije njegov — pisao je. Ako se zaglavio — zaglavio je sve, uključujući sat, miš i tvoj neispisani seminarski rad. To se nije zvalo mana. Zvalo se normalno stanje stvari, jer nitko drugi tada nije radio bogznašto bolje na personalnim računalima.

OS/2 je došao s dvije riječi koje su tada zvučale kao čarolija s druge planete: pravi multitasking i zaštićena memorija. Prvo znači da računalo stvarno može držati više programa u zraku istovremeno, dodjeljujući svakom djelić vremena procesora, umjesto da se samo pravi da može dok jedan program tiho blokira sve ostale. Drugo, zaštićena memorija, znači da svaki program dobiva svoju ograđenu parcelu i, ako poludi i počne pisati gluposti, poludi sam u svom dvorištu. Ne povuče susjeda sa sobom. Zvuk je to koji danas smatraš toliko osnovnim da bi te vrijeđalo da ti to netko objašnjava — ali 1987. to je bila razlika između ozbiljnog stroja i skupe igračke.

I da budemo pošteni prema pacijentu do kraja: rani Windows, onaj koji je 1987. postojao kao verzija 2.x, bio je u toj utrci otprilike konj s trogodišnjim djetetom na leđima. Kooperativni multitasking — što znači da su se programi trebali sami, iz dobre volje, povremeno maknuti u stranu i pustiti drugima da dišu — bio je pouzdan otprilike koliko i dogovor da će svi na cesti puštati redom. Radi dok svi poštuju pravila. Netko ih ne poštuje — i stao je cijeli sustav. OS/2 nije imao taj problem, jer nije ovisio o pristojnosti programa. Ovisio je o arhitekturi. A arhitektura ne mora biti u dobrom raspoloženju da bi radila.

Na papiru, dakle, dijagnoza glasi: pacijent rođen zdrav, s boljom imunološkom osnovom od većine vršnjaka, s jasnom prednošću u dva ključna organa — planiranju procesora i upravljanju memorijom — koja mu je trebala osigurati dug život na tržištu poslovnih računala, banaka i svega što ne podnosi da se sruši u sredini transakcije. Ništa u toj dijagnozi ne govori zašto će pacijent umrijeti mlad, osamljen i uglavnom zaboravljen, dok je konkurencija sa slabijim organima proslavila daleko dulji radni vijek u punom zdravlju. Za to nam treba sljedeći nalaz. A on, kao i u svakoj dobroj obdukciji, ne počinje s virusom izvana — počinje s odnosom u kući.

Uzrok smrti #1: kulturna nekompatibilnost
§ 02

Uzrok smrti #1: kulturna nekompatibilnost

Drugi nalaz obdukcije: pacijent nije umro od jednog udarca, nego od kronične autoimune bolesti — tijelo je napadalo samo sebe. Konkretno, dva tijela u jednom, prisiljena da dijele krvotok. IBM i Microsoft nisu bili partneri. Bili su dva plemena koja govore isti jezik, ali svaku riječ razumiju drugačije, a ta riječ je bila — kod.

IBM je 1985. bio korporacija koja je desetljećima mjerila inženjerski učinak po KLOC-u — kraticom za „kilo lines of code”, odnosno tisućama napisanih redaka koda. Logika je bila vojno-industrijska: više redaka znači više posla, više posla znači veću plaću, veći budžet, veći odjel. Programer koji je riješio problem u pet redaka bio je, po toj računici, gori od programera koji je isti problem riješio u pedeset. Zvuči apsurdno dok to pišeš, ali taj sustav je godinama nagrađivao debljinu kao vrijednost, i nikome nije upalio alarm.

To nije bila urbana legenda ispričana na konferencijama radi jeftinog smijeha — bilo je to stvarno mjerilo, upisano u stvarne dokumente, koje je stvaralo stvaran, mjerljiv sukob svaki put kad bi dva tima sjela za isti stol. A sjedali su često, jer OS/2 nije pisao jedan tim u jednoj zgradi: pisale su ga dvije kompanije, na dva kraja kontinenta, s dva menadžerska lanca koji su morali potpisivati baš svaku odluku.

Sastanci između IBM-a i Microsofta oko OS/2 nisu bili programerski sastanci — bili su diplomatski kongresi, s agendom unaprijed poslanom tjedan dana ranije, s protokolom, s predstavnicima koji su dolazili u odijelima na sastanke o tome gdje točno ide poziv za alokaciju memorije (to je, pojednostavljeno, dio koda koji traži od računala komadić radne memorije za nešto što program radi — sitnica oko koje se, očito, itekako dalo raspravljati satima). IBM-ova strana insistirala je na dokumentaciji prije koda: specifikacija se pisala mjesecima, prolazila kroz odjele za osiguranje kvalitete koji nikad u životu nisu vidjeli redak izvornog teksta koji ocjenjuju. Microsoftova strana htjela je nešto napraviti, vidjeti da radi, pa onda popraviti usput. Dva ritma rada koja se ne mogu sinkronizirati bez da netko stalno čeka drugoga — a čekanje, u razvoju softvera, nije neutralno stanje. Čekanje trune.

I kao da kulturni jaz nije bio dovoljan, postojao je i treći sudionik za tim stolom kojeg nitko nije pozvao, ali čiji su interesi diktirali pola specifikacije — IBM-ov vlastiti hardver. OS/2 je od početka bio guran ruku pod ruku s Micro Channel Architecture, magistralom (to je, jednostavno rečeno, fizički put kojim podaci putuju unutar računala do raznih komponenti — zamisli je kao autocestu unutar kućišta) koju je IBM lansirao uz svoju PS/2 liniju osobnih računala — iako je, tehnički, OS/2 radio i na običnim strojevima sa standardnom AT magistralom. PS/2 je bila IBM-ov pokušaj da povrati kontrolu nad hardverskim standardom nakon što su ga jeftini klonovi PC-a pojeli za doručak — zatvorena linija strojeva koju je htio nametnuti kao industrijski standard, s licencnim naknadama koje su tekle natrag u Armonk. Isti obrazac koji je razbio kloniranu PC industriju protiv IBM-a jednom već (poglavlje 3 se sjeća) ovdje je vraćen kroz prozor, samo ovaj put ugrađen u sam operativni sustav koji je trebao biti zajednička budućnost. Rezultat: OS/2 je bio marketinški i razvojno vezan za strojeve koje malo tko kupuje, dok su klonovi — pojeftinjeli, brzi, svugdje — vrtjeli DOS i, uskoro, Windows.

Uzrok smrti #2: Windows 3.0 uspije "slučajno"
§ 03

Uzrok smrti #2: Windows 3.0 uspije "slučajno"

Drugi nalaz na obdukcijskom stolu zanimljiviji je od prvog, jer ovaj put pacijent nije umro od tuđe ruke — umro je od vlastite terapije. Sjeti se: Windows je, sve do 1990., za Microsoft bio nešto kao polica osiguranja u ladici — stvar koju održavaš na životu za slučaj da OS/2 zakasni, da IBM zabrlja, da partnerstvo krepa prije vremena. Nitko u Redmondu nije 1985. otvarao šampanjac zbog Windowsa. To je bio kišobran koji nosiš iako ne vjeruješ baš u prognozu — samo da ga, za svaki slučaj, imaš pri ruci.

Onda je 22. svibnja 1990. izašao Windows 3.0, i kišobran je iznenada postao jedini krov koji je itko htio. Dva milijuna kopija u prvih šest mjeseci. Grafika koja radi na strojevima koje ljudi već imaju, cijena koju ljudi mogu platiti, i — ključno za obdukciju — brend koji se ne zove IBM. Bill Gates je gledao brojke prodaje i shvatio nešto što svaki dobar patolog prepozna instinktivno: pacijent koji je trebao biti rezervni organ upravo je postao onaj koji kuca srce cijele kompanije. To se u medicini zove neželjena, ali sretna komplikacija. U poslovnom svijetu se zove trenutak kad prestaneš glumiti da voliš brak.

Razvod se, kao i svaki pravi razvod, dogodio u dvije verzije, i obje strane su do danas uvjerene da je ona druga otišla prva. IBM-ova verzija: Microsoft je od početka sabotirao zajednički rad, gurao resurse u Windows umjesto u OS/2 verziju 2.0, i onda jednostrano najavio da OS/2 prepušta IBM-u dok Microsoft ide „svojim putem” s Windows NT-om — potpuno novim operativnim sustavom, pisanim od nule (NT je kratica za „New Technology”), koji nije imao nikakve veze sa starim MS-DOS-om na kojem je Windows do tada visio, i koji je s vremenom postao temelj svih kasnijih verzija Windowsa koje danas koristimo. Za IBM je to bio udarac u leđa nakon pet godina zajedničkog kreveta — jasan znak da Microsoft više ne planira dijeliti krevet, nego graditi vlastitu kuću. Microsoftova verzija: IBM je bio spor, korporativno paraliziran, opsjednut hardverskim zahtjevima koji su gurali cijene strojeva u nebo (PS/2, Micro Channel Architecture — isti nagon koji je već jednom razbio kompatibilnost s ostatkom tržišta), i jednostavno nije bio partner s kojim se može trčati brzinom kojom se tržište kretalo 1990. Obje verzije imaju dokaze. Obje verzije imaju krivca. Nijedna verzija ne spominje da je jedna strana istovremeno spavala s konkurencijom u susjednoj sobi cijelo vrijeme braka.

Formalno rastavljanje dogodilo se 1990., kad je Microsoft objavio da IBM u potpunosti preuzima OS/2, dok se Microsoft fokusira na Windows i na nešto što se tada još zvalo „NT OS/2” — ime koje je samo po sebi malen forenzički trag, dokaz da su leševi u ovom poglavlju rodbinski povezani, ne slučajno.

To je ono što patolog upiše u nalaz kad je uzrok smrti istovremeno i razlog zašto je nešto drugo ostalo živo: OS/2 nije umro zato što je bio loš. Umro je zato što mu je najvažniji organ transplantiran u tijelo koje je, ironično, nosilo isto prezime kao njegov ubojica. Microsoft nije samo pobijedio partnera — pojeo ga je, uzeo mu najbolje kosti za vlastiti skelet, i ostavio ljušturu da još desetak godina nosi ime OS/2 po bankomatima, dok je istinski nasljednik već hodao pod drugim imenom i drugom zastavom.

Agonija: Warp i vjerni
§ 04

Agonija: Warp i vjerni

Obdukcijski nalaz do ovog trenutka: partner je otišao, dijete je ostalo kod jednog roditelja, a taj roditelj je odlučio da će ga podignuti sam, iz principa, čak i kad cijela ulica zna kako će to završiti. Ta faza se zove OS/2 Warp, godina 1994., i evo paradoksa koji čini cijeli slučaj tragičnim umjesto samo glupim: Warp je bio dobar. Ne dobar kao korporativni standard, dobar kao proizvod. Imao je isti preemptivni multitasking i zaštićenu memoriju koje smo već sreli, stabilnost o kojoj su korisnici rane verzije Windowsa 3.1 mogli samo sanjati dok su gledali plavi ekran i psovali. Warp je čak dolazio s paketom BonusPak punim gotovih aplikacija, i uveo je svojevrsnog digitalnog asistenta s licem — preteču Microsoftovog »Boba« prije samog Boba — IBM je pokušao dodati ljudsko lice stroju koji je već bio klinički mrtav u javnoj percepciji.

I to je taj dio obdukcije gdje patolog mora priznati: organi su bili u redu, srce je kucalo, problem nije bio u tijelu — problem je bio da nitko više nije htio da to tijelo živi u njegovoj kući. Marketing je bio katastrofa dostojna vlastitog poglavlja: IBM je znao prodavati mainframeove bankama za desetke milijuna dolara, ali prodavati operativni sustav običnom čovjeku u dućanu, pored kutije s Windowsima 3.1 koja je već imala tisuću programa napisanih za nju? Tu je vještinu IBM nikad nije naučio, jer cijela njegova kultura bila je izgrađena na tome da veliki kupac dolazi k njemu, a ne obrnuto. Warp je imao TV reklame s Patrickom Stewartom, imao je slogan da je bolji Windows nego Windows sam — i unatoč tome i dalje je gubio tržišni udio Windowsu 95, kao da se utrkuje protiv struje.

Pa gdje onda pronalazimo tijelo, ako je javno mrtvo negdje sredinom devedesetih? Ovo je dio nalaza koji zvuči kao urbana legenda, ali nije — OS/2 nije nestao, samo se preselio u zidove. Bankomati, blagajne u zračnim lukama, sustavi za prodaju karata, ATM mreže velikih banaka širom svijeta radili su na OS/2 duboko u dvijetisućite, neki i kasnije, jer kad ti nešto stabilno radi ispod obloge koju kupac nikad ne vidi, nema nikakvog razloga to mijenjati — samo trošak i rizik. Kad je IBM konačno digao ruke od daljnjeg razvoja, licencirao je kôd trećoj strani koja ga je nastavila prodavati pod imenom eComStation — službeno drugo ime, ali u duši i dalje OS/2, samo s novim papirima. Tako je duh vlastitog djeteta nastavio raditi za mjesečnu naknadu, dok je njegovo javno lice već bilo fosil o kojem se pričalo u prošlom vremenu.

A onda dolazimo do organa koje forenzičar uvijek najviše cijeni u ovakvim slučajevima — vjernika. Svaka mrtva platforma dobije svoju sektu, pravilo je gotovo fizikalno: Amiga ih ima, BeOS ih ima, OS/2 ih ima, i ta zajednica danas okuplja ljude koji na forumima raspravljaju o zadnjim nadogradnjama za sustav koji službeno ne postoji od 2006. godine. Nešto u tome je i lijepo, iskreno — nije to ludost, to je odanost prema stvari koja je bila bolja nego što je svijet dopustio da bude.

Ali agonija nije smrt, samo njezino odgađanje uz strojeve za disanje. Tijelo koje IBM sam nije htio dalje hraniti, koje je tehnički živo u pokojoj banci, na pokojem aerodromu, a mrtvo posvuda gdje neka odluka o kupnji zapravo ima veze s tim kako svijet danas radi — to nije preživljavanje, to je čekanje da posljednji zamjenski dio otkaže. Nalaz je jasan, ostaje samo pitanje uzroka koje smrtovnica nikad ne postavlja iskreno: tko je zapravo isključio aparate.

Nalaz: tko ubija zajedničke projekte
§ 05

Nalaz: tko ubija zajedničke projekte

Nalaz obdukcije, konačna verzija, potpisana i ovjerena. Uzrok smrti nije bio Windows 3.0. Windows 3.0 je samo bio oružje. Uzrok smrti bio je ugrađen u sam dokument o osnivanju, u onaj sretni sporazum iz 1985. kojim su dva partnera potpisala brak — a jedan od njih je već imao stan na drugoj adresi, s drugom ženom, i uredno plaćao rentu. Partnerstvo u kojem jedan partner drži alternativu u ladici nije rizično partnerstvo. Nije ni loše partnerstvo. Ono je mrtvo partnerstvo, samo što leš još hoda, prisustvuje sastancima, broji KLOC-ove i šalje dopise s pola godine zakašnjenja. Datum smrti nije 1990. Datum smrti je datum potpisa. Sve poslije toga bila je samo agonija s dobrom PR službom.

I evo poante koja bi trebala biti uklesana u kamen ispred svakog odjela za korporativni razvoj na svijetu: pitanje koje treba postaviti nije mogu li dva partnera raditi zajedno, nego što se događa ako jedan od njih pobijedi bez drugoga. Ako odgovor na to pitanje ide u korist samo jedne strane, potpis je formalnost, a savjetnici koji su ga sastavili ionako su naplatili po satu — njima je svejedno tko koga pokopa.

Zašto se ovo ponavlja, iznova i iznova, uz iste PowerPoint prezentacije s istim strelicama koje se spajaju u sretnu sinergijsku petlju? Zato što u trenutku potpisivanja obje strane vjeruju da su baš one ta pametnija strana. IBM je 1987. bio siguran da je Microsoft mladi dobavljač koji radi po njegovim pravilima, jer je tako uvijek bilo, jer je IBM plaćao račune. Nitko u toj sobi nije zamislio scenarij u kojem dobavljač postane veći od naručitelja, jer takav scenarij u toj industriji dotad nije ni postojao. E pa, postao je scenarij. I postat će opet, i opet, dok korporacije budu potpisivale ugovore vjerujući vlastitoj veličini umjesto brojeva u tuđem ugovoru.

A sad, za kraj, ona zloba koja zaslužuje da se ponovi, jer je toliko dobra da bi bio grijeh da stane samo u fusnotu. IBM je razvoj OS/2, tog oružja koje je trebalo braniti njegovu tvrđavu, platio istim novcem — istim odjelom, istim ljudima, istim ugovornim sustavom — kojim je platio i razvoj PC-a, onog otvorenog, klonabilnog čuda koje mu je već jednom otkinulo tržište iz ruku. IBM je, drugim riječima, dvaput u istoj deceniji platio razvoj oružja koje je onda korišteno protiv njega. Prvi put mu je platforma pobjegla klonovima. Drugi put mu je partner na istoj platformi pobjegao s vlastitim proizvodom, izgrađenim dijelom na znanju stečenom baš na tom zajedničkom projektu. Ima nešto poetično u tome da IBM, kompanija koja je desetljećima brojila svaki redak koda kao dokaz truda, nikad nije naučio brojati rizik. Pacijent nije umro od otrova koji mu je netko drugi ubrizgao. Pacijent je otrov naručio, platio dostavu i potpisao primitak.