Articles

Bill Gates, programmeur?

Een week of twee geleden maakte ik een onbewaakte opmerking dat Bill Gates eerder een opportunist dan een visionair of een programmeur was. Dat leidde tot veel discussie – over beide kwesties.

De visionaire versus opportunistische kant van deze zaak is vrij duidelijk. Visionairs creëren nieuwe strategieën, zorgen ervoor dat het publiek nieuwe ideeën begrijpt door innovatie, en leiden in het algemeen de aanval in nieuwe richtingen. De staat van dienst van Microsoft op het gebied van innovatie is een nulset: zo ongeveer alles wat ze hebben gedaan is opportunistisch geweest, geld verdienen aan andermans ideeën of producten.

Basically Bill Gates heeft meer geld voor zichzelf en zijn aandeelhouders verdiend door de ideeën van Steve Jobs aan het publiek te verkopen dan Apple heeft gedaan, maar het is gemakkelijk te zien wie de visionair en wie de opportunist is geweest in die relatie.

De programmeurs kwestie is veel moeilijker om de waarheid te achterhalen. Hier is de canonieke “fanboy” foto van Bill Gates, programmeur extraordinaire, van about.com:

Hoewel Bill Gates vooral bekend is om zijn oprichting van Microsoft heeft hij ook een aantal programmeer baantjes gehad voordat hij ’s werelds rijkste man werd. Bill Gates eerste programmeerklus was toen hij de directeur van zijn middelbare school een roosterplanner aanbood die efficiënter en gemakkelijker te gebruiken zou zijn dan wat de directeur tot dan toe had gebruikt. Gates’ schoolhoofd wist niet dat Bill het programma voor zijn eigen voordeel had gemaakt… Bill zou in alle mooie meisjesklassen komen. Bills tweede baantje was een zomer lang programmeerwerk waarmee hij 4200 dollar verdiende. Op veertienjarige leeftijd bedachten Bill Gates en zijn programmeervriendje het idee voor een verkeerstellende computer die later ‘Traf- o-Data’ zou gaan heten en waarmee ze 20.000 dollar verdienden. Maar toen bekend werd dat de computers door een stel tieners vanuit een kelder werden verkocht, ging de zaak niet door. Gates werkte ook als Congressional Page en bij een programmeerbedrijf genaamd ‘TRW’. Nadat hij van Harvard af was gegaan, creëerde Gates de eerste basisbesturingstaal voor de computer. Hoewel Gates een aantal programma’s heeft geprogrammeerd gaat hij nog steeds door en is hij aan het programmeren terwijl ik dit schrijf.

Dus hoeveel waarheid zit hier in? Een deel ervan heeft een basis in de werkelijkheid: hij heeft duidelijk wel wat BASIC geleerd op school; deze samenvatting, bijvoorbeeld, lijkt op consensus te kunnen rekenen:

In 1968 kreeg hij op 13-jarige leeftijd als 8e klasser op de Lakeside School (een exclusieve privé-school voor jongens) de beschikking over een Teletype die via een 110 baud modem verbonden was met een GE MARK II time-sharing systeem dat alleen BASIC (Beginner’s All-Purpose Symbolic Instruction Code) had. De teletype combineerde een toetsenbord, een printer, en een papierbandstempel en -lezer. Het kostte 89 dollar per maand om de teletype te huren en 8 dollar per uur voor onlinekosten (respectievelijk ongeveer 450 dollar en 40 dollar in dollars van 1998). Gates werd al snel een fervent programmeur en een van de belangrijkste gebruikers van het systeem.

(Opmerking: U kunt een facsimile hiervan zelf ervaren – zie het GE-235 BASIC replicatieproject geleid door Tom Kurtz).

Paul Allen, twee jaar eerder dan Gates in Lakeside, maakte deel uit van de groep die Gates rond de GE-terminal aantrof, maar zijn focus, en die van de meeste anderen in de groep, lag op de interne onderdelen: niet op het gebruik van BASIC, maar op wat het ding liet werken en dus op wat het nog meer kon doen.

Na die periode, echter, wordt het beeld wazig. We weten dat Bill Gates een aantal programmeerprojecten heeft verkocht, met als hoogtepunt zijn pitch aan Altair over het leveren van een BASIC voor de MITS machine, maar we weten niet uit onafhankelijke bronnen wie die projecten heeft uitgevoerd of wat er is opgeleverd.

Volgens een artikel van Andrew Orlowski in de Register, getiteld Could Bill Gates Write Code? is het antwoord met betrekking tot de Altair BASIC een volmondig “Ja.” Hier is een stukje uit het verhaal:

Zelfs als je onze saga over Micro-Soft’s 1975 Altair BASIC hier en hier hebt gevolgd, – één vraag blijft onbeantwoord.

Was het wel goed?

Reuben Harris heeft een binary gedemonteerd met wat hulp van Monte Davidoff, de derde auteur van Altair BASIC (samen met Gates en Paul Allen) en die we hier vorige week hebben geïnterviewd. Hij heeft dezelfde vraag in gedachten:-

“‘Kon Bill Gates code schrijven?’ Of was hij slechts de gelukkigste man ter wereld,” voordat hij concludeert… “Ja, dat zou hij verdomme kunnen!”

En dat zou overtuigend moeten zijn, behalve dat het dat niet is omdat de kwaliteit van de code niet in het geding is – en zowel IBM als DEC hadden soortgelijke producten voor hun 5X00 respectievelijk PDP lijnen. Waar het hier om gaat is wie als eerste die code schreef en het enige bewijs dat we daarvoor hebben staat in een listing die op miraculeuze wijze ergens in 1999 opdook – ongeveer tien jaar nadat Bill Gates voor het eerst beloofde om die code openbaar te maken.

Die bron, die kan worden gezien maar niet gekopieerd in de Pusey bibliotheek van Harvard, bevat blijkbaar deze opmerkingen:

00560 PAUL ALLEN SCHREEF DE NON-RUNTIME DINGEN.
00580 BILL GATES SCHREEF DE RUNTIME DINGEN.
00600 MONTE DAVIDOFF WROTE THE MATH PACKAGE

buiten dat weten we dat de andere betrokkenen vanaf de vroegste projecten, waaronder Allen en Davidoff en vele anderen, de benodigde vaardigheden in andere contexten ruimschoots hebben laten zien – maar Gates niet. De meeste foto’s uit die periode tonen Allen aan het werk, terwijl Gates toekijkt, en zelfs het publiciteitsapparaat van Gates heeft zijn beweringen over zijn programmeerkennis van na 1975 en zijn persoonlijke bijdragen aan MS-DOS ingetrokken sinds de waarheid over de oorsprong in QDOS en CP/M wijd en zijd bekend is geworden.

Dus waar het op neer komt: was, of is, Bill Gates een programmeur? Het is duidelijk dat hij in zijn tienerjaren programmeerde, maar we weten niet waar hij aan werkte, en terwijl Paul Allen geavanceerde microprocessorsimulatoren ging schrijven, deed Gates dat duidelijk niet.

Het is dus legitiem om te stellen dat hij programmeerde, en dus een programmeur moet zijn, of in ieder geval geweest moet zijn; maar ik denk dat de vragen als grotendeels onbeantwoord moeten worden beschouwd omdat we veel beweringen hebben maar geen onweerlegbaar bewijs voor enig serieus werk.

Maar als hij nooit veel heeft geweten over het maken van software, hoe is hij er dan in geslaagd Microsoft op te bouwen? Wat ik denk is dat het beeld dat fanboys van hem hebben als het genie dat zich een weg baant van programmeur tot miljardair, een verkeerde voorstelling geeft van de aard van Microsoft als softwarebedrijf. Dat is het niet, het is een marketing bedrijf, en in die context kunnen we David Every’s samenvatting van hoe Microsoft IBM sponsoring kreeg behandelen als toepasbaar op zowel het programmeer record van Gates zoals gezien door de fanboy als een antwoord op de vraag over het succes van Microsoft: