Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
85 lines (43 sloc) 15.1 KB
Koning der Bestanden: Hoe GitHub vrije software heeft getemd (en meer)
Door Robert McMillan, Wired Enterprise
SAN FRANSISCO — Toen de oprichters van Github verhuisden naar hun loft vorig jaar, was opnieuw inrichten het eerste wat ze deden. Ze veranderden het grootste kantoor van de verdieping in een parodie op een directiekamer — neppe open haard, luxe leren stoelen en houten wereldbol, die openschuift om een fles whiskey te tonen, inbegrepen. Aan de muur hangt een schilderij van een kat, gekleed als Napoleon, met vijf octopus-achtige poten. Ze noemen het de Octocat.
Het gaat erom dat het geen directiekamer is. Het is een gezamenlijke zaal, waar iedereen met iedereen kan omgaan, kan werken, allemaal terwijl iedereen zich er ook vermaakt.
“Iedereen kan zijn/haar vrienden meebrengen naar deze zaal om op een bepaalde manier indruk op hen te maken,” zegt Scott Chacon, de mede-oprichter en CIO van GitHub. Chacon en CEO Chris Wanstrath hebben, samen met de rest van het leidinggevend personeel, namelijk geen privé-kantoren. Ze werken in de open zaal, naast de programmeurs, vastgeplakt aan de monitoren, luisterend naar LCD Soundsystem op hoog volume.
GitHub's fantastische loft van 1300 vierkante-meter weerspiegeld zijn missie: het democratiseren van het computer programmeren. GitHub.com is het beste te omschrijven als Facebook voor nerds. In plaats van video's en foto's een stel katten te uploaden, upload je software naar GitHub. Iedereen kan reageren op je code en dingen toevoegen om iets beters te bouwen. De truc zit hem in het decentraliseren van programmeren, waardoor iedereen een nieuwe vorm van controle krijgt. GitHub heeft de manier van software schrijven binnenstebuiten gehaald, waardoor programmeren een beetje anarchistischer, een beetje leuker en een stuk productiever werd.
En de software wereld adoreert het. GitHub heeft nu meer dan 1.3 millioen gebruikers en meer dan 2 milloen repositories, code-opslagplaatsen — acht keer meer dan maar twee jaar geleden. Als je code snippets en Wiki pagina's, die opgeslagen zijn op de website, meetelt, dan zijn er meer dan 4 miljoen repositories. Twee jaar geleden was GitHub een team van acht, die bedrijfs meetings in verschillende café's in San Fransisco hielden. In het begin van 2011 was het bedrijf uitgegroeid tot 14 “hubbernauts” — zoals de werknemers liefkozend worden genoemd. Een jaar later staat het getal 57 op het scorebord. In juli namen ze voormalige vondsten van Six Apart over. GitHub groeit als kool, terwijl het geen cent van kapitaalinvesteringen heeft aangenomen.
Zodra je eens van GitHub hebt gehoord, begin je het bijna overal te zien. Soms gaat het om het hosten van code, die te grondslag ligt aan een bekende website. Andere keren gaat het om het aandrijven van een geheim project binnen een Fortune 500 bedrijf. Het heeft open source software dichterbij het vervullen van haar belofte gebracht — maar het stopt daar nog niet. GitHub is ook het creëren van websites en DNA analyse technieken, en misschien zelfs de wet, aan het democratiseren.
“GitHub heeft de manier waarop mensen kijken naar ontwikkeling veranderd, zegt Top Preston-Werner,” hoofd-technologie aan het bedrijf. “Mensen realiseren zich dat het helemaal niet complex hoeft te zijn.”
Git verlichtte jeuk
Zoals zo veel succesvolle geek-projecten, begon GitHub met programmeurs die hun jeuk probeerden te verlichten. Ongeveer vijf jaar geleden waren Wanstrath en mede programmeur P.J. Hyett allebei code naar Cnet, de technologie news en reviews website, aan het gooien. Hun voorkeurstaal was Ruby, gepaard het Rails, een programmeer framework dat het gemakkelijk maakt om web-applicaties te maken.
Terwijl ze hun websites bij Cnet bouwden, liep het zo dat Wanstrath en Hyett een groot aantal verbeteringen bij Ruby on Rails zelf aanbrachten. Ze kregen echter door dat het niet makkelijk was om die verbeteringen, of patches, te integreren bij het open source project zelf. Het toenmalige paradigma van open source ontwikkeling, wat Rails volgde, hield in dat een project beheerd wordt door een aantal vertrouwde programmeurs. Deze “poortwachters” hadden toestemming gekregen om patches toe te passen op de source code. Om een van hun patches in het project te integreren moesten Wanstrath en Hyett één van deze poortwachters overtuigen dat het hun patch het integreren waard was. Vaak was dit meer werk dan het schrijven van de code in de eerste plaats.
Ze waren niet de enige ontwikkelaars die wrijving ondervinden dankzij dit model. Een decennium geleden had Linus Torvalds moeite met het beheren van zijn rol als poortwachter van het Linux operating system, dat hij uitgevonden had. In het begin hostte Torvalds Linux op een website die hoorde bij de Universiteit Helsinki. Als mensen een bug gevonden hadden in de code, moesten ze hem een bestand met de wijzigingen sturen via email. Wanneer Torvalds de email had gelezen en de veranderingen goed vond, integreerde hij ze in Linux. Torvalds was echter berucht omdat hij niet al zijn email las, waardoor wijzigingen verloren gingen toen het project populairder werd.
Dit was het geheim van open-source software. In het gemiddelde vrije software project ging een groot deel van de code — misschien zelfs het grootste deel — verloren. Het was vaak te moeilijk voor gemiddelde gebruikers om de poortwachters de wijzigingen te laten zien en die vervolgens in de code base te integreren.
De wederkomst van Linus
In 2005 maakte Torvalds Git, versie controle software die speciaal was ontworpen om het monnikenwerk van het beheer van een software project weg te nemen. Met behulp van Git, kan iedereen sleutelen aan hun eigen versie van Linux — of eigenlijk elk software-project — om vervolgens, met een druk op de knop, de wijzigingen met Torvalds of iemand anders te delen. Hier is geen poortwachter. In praktische termen had Torvalds een stuk gereedschap ontworpen dat het makkelijk maakt voor een individu om een alternatief van zijn Linux-project te maken. In technische termen heet dat een “fork.”
Vroeger, in de jaren 1990, werd forking als een slechte zaak beschouwd. Het had al die concurrerende, niet-compatibele versies van Unix gecreëerd. Voor een tijdje was er een grote angst dat iemand op een of andere manier hun eigen fork van Linux zou maken, een versie van het besturingssysteem dat niet dezelfde programma's zou draaien of op dezelfde manier zou werken. Maar in de Git wereld is forking goed. De truc was om ervoor te zorgen dat de verbeteringen die mensen hadden uitgewerkt weer met de gemeenschap kunnen worden gedeeld. Het is beter om mensen een project te laten forken en aan hun eigen veranderingen te sleutelen, dan hen volledig buiten te sluiten door slechts een paar vertrouwde autoriteiten de code aan te laten raken.
Op een zeldzame zonnige februaridag in Portland, toont Torvalds Git voor Wired op zijn kantoor aan huis. Met een paar toetsaanslagen, ziet hij al snel twee inzendingen die dezelfde kernel-code wijzigen op verschillende manieren, wat een potentieel probleem geeft.
De oude manier van doen “maakt het zeer moeilijk om radicaal nieuwe branches te starten omdat je in het algemeen de mensen die betrokken zijn bij de status quo van te voren moet overtuigen over de noodzaak om die nieuwe branch te ondersteunen”, zegt Torvalds. “In tegenstelling, maakt Git het gemakkelijk om gewoon te ‘doen’ zonder te vragen om toestemming en vervolgens later terug te komen en het eindresultaat te tonen - om tegen mensen te zeggen ‘kijk eens wat ik deed, en ik heb de cijfers om te laten zien dat mijn aanpak veel beter is.’”
Het mag dan gebouwd zijn voor Linux, maar Git bleek al snel een godsgeschenk voor elke grote organisatie die grote code bases beheert. Vandaag de dag zijn Facebook, Staples, Verizon en zelfs Microsoft gebruikers. Bij Google, is Git zo belangrijk dat het bedrijf Junio Hamano betaalt - die het project over nam van Torvalds - om full-time te werken aan Git, en dat het ook het salaris betaalt voor de adjudant van het project, Shawn Pearce.
Git zonder de bron van ellende
Het probleem was dat niet iedereen Linux Torvalds is, en niet elk bedrijf is Google. Voor 99 procent van de mensen was Git's command-line interface ongelooflijk moeilijk te gebruiken. Dat is waar GitHub het verhaal binnenkomt.
Tom Preston-Werner heeft GitHub bedacht en overtuigde Chris Wanstrath om deel te worden van het project op een nacht in oktober 2007, tijdens een coders meet-up bij Zeke's, een bar in San Fransico een paar blokken vanaf het stadion waar de San Fransisco Giants spelen.
In het begin was GitHub een nevenproject. Wanstrath en Preston-Werner zouden elkaar op zaterdagen ontmoeten om te brainstormen, terwijl ze in hun vrije tijd programmeerden en overdag naar hun werk gingen. Het was niet de bedoeling dat GitHub een startup of een bedrijf zou zijn. Het was gewoon een stuk gereedschap dat we nodig hadden, zegt Wanstrath. Maar - geïnspireerd door Gmail - openden ze een besloten ronde van bèta tests. Snel sloeg het aan met de buitenwereld.
In januari van 2008, was Hyett aan boord. En drie maanden na de nacht in de sportbar, kreeg Wanstrath een bericht van Geoffrey Grosenbach, de oprichter van PeepCode, een online learning site die was begonnen met het gebruiken van GitHub. "Ik host de code van mijn bedrijf hier," zei Grosenbach. "Ik voel me niet comfortabel als ik jullie niet betaal. Kan ik een cheque sturen?"
Hij was de eerste van vele. In juli 2008 had Microsoft Powerset overgenomen, de startup waardoor Preston-Werner werd voorzien van een baan. De softwaregigant bood Preston-Werner een 300.000 dollar bonus en aandelenopties aan als hij nog eens drie jaar aan boord bleef. Maar hij stopte, en wedde alles op GitHub.
"Het was een beetje eng om zoiets op te geven op dat moment, maar ik zou helemaal niets aan die beslissing veranderen," zegt hij nu.
Toen Wired GitHub's kantoren bezocht, eerder dit jaar, vonden we een stukje nerd paradijs. Er is een iPhone-bestuurde quadcopter, een vier-taps kegerator en een low-budget replica van de situation room in het Witte Huis, die wordt gebruikt als conferentiezaal, compleet met een rode telefooncel in 1970's stijl. Het speelgoed is echter niet wat GitHub anders maakt. De startup wordt echt onderscheidt door de openlijke vijandigheid tegenover de zakelijke manier van regelen.
“We houden geen vakantiedagen bij; we houden geen uren bij. Het maakt ons niet uit," zegt CIO Scott Chacon. “Ik ben hier rond middernacht geweest, toen hier vijf mensen waren. En ik ben hier midden op de dag op donderdag geweest, toen er niemand was."
En toch is het het meest productieve ontwikkelingsteam waar hij ooit in gewerkt heeft, zegt Chacon.
Met Git naar de toekomst
Preston-Werner's gok heeft zich uitbetaald. GitHub maakt nu winst. Gebruikers kunnen zich gratis inschrijven en beginnen met bijdragen leveren, maar ze betalen geld als ze in het privé code willen hosten — beginnend rond $7 per maand. GitHub verkoopt ook een enterprise product dat bedrijven in staat stelde om hun eigen versie van GitHub te hosten achter de zakelijke firewall. Die service kost vanaf $5,000 per jaar, maar kan honderdduizenden dollars kosten per jaar voor bedrijven met honderden programmeurs.
Ironisch genoeg is Torvals geen die-hard fan van GitHub, die de ontwikkeling van de Linux kernel kort verhuisde naar GitHub in september vorig jaar, na een beveiligingslek in zijn oude huis.
“Ik hou veel van GitHub,” zegt hij. “Er is een reden waarom het vrij snel een van de grootste source code repositories werd.” Maar hij dan ontvouwt een lange lijst van alle “ernstige” problemen die hij had met GitHub toen hij zijn code op de site hostte — waarvan vele inmiddels zijn verholpen. Hij commentaar niet filteren, de e-mail-interface verloor bijlagen, de web interface verstoorde bijdragen, enzovoort. De kern van het verhaal: GitHub maakt het eenvoudig om te coderen. Maar het kan het ook makkelijk maken om onzin te creëren.
Dat mag dan waar zijn, maar het houdt de site niet terug. GitHub gebruikers zijn ogenschijnlijk overal. Een recente middag in San Francisco's North Beach buurt, was Wired GitHub's director of engineering Ryan Tomayko de site aan het bespreken. Plotseling leunde de man aan de tafel naast ons voorover en onderbrak ons, als een tiener die twee vreemden hoort praten over zijn favoriete band. “Ik moet je vertellen,” zei hij, “GitHub is geweldig.”
Het voedt zelfs de Occupy beweging. Toen Jonathan Baldwin een mobiele telefoon-versie van de People's microfoon wilde schrijven, een programma dat wordt gebruikt door Occupy om berichten door te geven door grootte drukte, postte hij zijn code rechtstreeks naar GitHub. De site laat hem gemakkelijk zijn code delen, en snel verbinding maken met andere ontwikkelaars die met de vinger leggen op technische problemen. “GitHub is het beste wat ooit bestaan heeft. Als je het niet host op GitHub, bestaat het niet”, zegt Baldwin, een student aan Parsons de New School for Design in New York.
En software is slechts een deel van het verhaal. Geeks leren dat GitHub ook kan helpen bij het beheren andere projecten. Boeken en zelfs transcripties van gesprekken zijn opgedoken op de site. Een GitHub gebruiker, Manu Sporny, publiceerde vorig jaar zijn DNA-informatie op de site, in de hoop de ontwikkeling van open-source DNA-analyse-software te stimuleren door middel van echte test data te analyseren.
Toen Scott Chacon een boek over Git schreef, verscheen de eerste vork binnen een maand. Het was een Duitse vertaling van zijn boek. Nu, drie jaar later, het is vertaald in 10 talen, met nog eens 10 vertalingen in steigers. De helft van het verkeer naar de website van het boek komt uit China. “Tal van mensen in China zijn Git aan het leren, omdat ze [het boek] in het Chinees kunnen lezen op mijn website, omdat iemand dat heeft vertaald”, zegt hij.
Ryan Blair, een techneut in de New York State Senaat, denkt dat GitHub zelfs de burgers in staat stelt om de wet te forken — eigen amendementen voorstellen aan verkozen ambtenaren. Een website als GitHub zou het ook gemakkelijker maken voor kiezers om hun mening te geven en op te slaan over wijzigingen in complexe juridische code. “Als je er goed over nadenkt, een wetsvoorstel is een branch van de wet,” zegt hij. “Ik ben gewoon verliefd op het idee dat een kiezer in staat is om hun staats-senator een pull-request te sturen.”
GitHub is de lieveling van de open-source wereld, maar dit jaar heeft de onderneming heeft haar zinnen gezet op Microsoft. Het bedrijf heeft onlangs een paar ontwikkelaars van de software-gigant gehuurd, en het is aan het werken aan nieuwe software om het grote aantal coders, die programma's schrijven met Microsoft's software development tools, binnen te halen.
“Ik wil leven in een wereld waar het makkelijker is om samen te werken dan alleen waar elk onderdeel van software ontwikkeling een plezier is,” zegt CEO Wanstrath. “En ik denk dat GitHub kan helpen om dat te realiseren.”
SIDEBAR:
Waarom Git? Het is Britse straattaal voor dom, idioot persoon — arse. De grap "Ik noem all mijn projecten voor mezelf, eerst Linux, dan git" was gewoon te goed om te passen. Maar het is ook kort, makkelijk uit te spreken en te typen op een standaard toetsenbord. En redelijk uniek en niet hetzelfde als een standaard opdracht, wat niet vaak voorkomt.-Linus Torvalds
Something went wrong with that request. Please try again.