Hans_Sassenburg_03

Hans Sassenburg

8 May 2007

Het was februari of maart 1991 en de beslissing was gevallen. We sleutelden bij ASML driftig aan compilerswitches en de eerste evaluatieresultaten op kleine stukjes software zagen er positief uit. De gebruikte Sun-compiler zouden we vervangen door de gratis open-source Gnu-compiler. En dat, enige maanden voor het vrijgeven van een compleet en zeer complex nieuw systeem. Nieuwe hardware, nieuwe mechanica, nieuwe optica en miljoenen regels nieuw geschreven software. Redenen? Ik weet het niet eens meer zo goed. Stabiliteit, kwaliteit, kosten? Nee, het had geloof ik met het ondersteunen van Ansi-C te maken. We hadden vooraf al alle Ansi-functies die niet door de Sun-compiler werden ondersteund, zelf geïmplementeerd met een ’mooi laagje‘ eromheen. Zo konden we die hindernis bij de overstap makkelijk nemen.

En nu zitten we in 2007, open source doet het goed in de pers. Althans, het wordt steeds vaker genoemd en toegepast. Maar hoe zit het met de kwaliteit van open-source software? Iedereen kan eraan rommelen, dus de kans op bagger moet hoog zijn. Of niet? Stel je voor, geen formele reviews en audits. En hoe zit configuratiebeheer in elkaar? Maar aan de andere kant, hoe meer mensen naar de broncode kijken, hoe meer en hoe sneller fouten boven water komen. Sommige mensen vinden het leuk om de software te bestuderen. Echt waar, zulke types bestaan. Anderen mensen brengen noodzakelijke wijzigingen aan voor hun specifieke toepassing of zijn op zoek naar fouten.

Een bekend voorbeeld van open-source software is natuurlijk de Linux-kernel. Een recent onderzoek van Rational bracht aan het licht dat de TCP/IP-implementatie van Linux factoren beter is dan de implementatie in vijf commerciële applicaties. In de Linux-implementatie werden 0,1 programmeerfouten per 1000 regels code gevonden. In de andere implementaties lag het foutpercentage zes tot zeven keer hoger. Niet slecht! Wel moeten we ons realiseren dat de Linux-kernel een van de meest gebruikte en dus bekeken voorbeelden van open-source software is. Het principe is echter goed en lijkt vooralsnog te werken. Ik kan me echter ook voorstellen dat bij kritische applicaties een wat conservatieve houding troef is. Je weet maar nooit of een concurrent of een ontevreden werknemer een geintje wil uithalen.

Hoe is het open-sourceavontuur afgelopen bij deze dit inmiddels uiterst succesvolle bedrijf, internationaal marktleider op het gebied van wafersteppers? Er volgde een spannende en enerverende tijd op de compileromstelling. Het softwareontwikkelteam van meer dan veertig mensen merkte er niet zo veel van, maar op de achtergrond werkte het ’compilerteam‘ dag en nacht door. En ze waren succesvol! Na een weekend zonder slaap gevolgd door een aantal dagen met erg weinig slaap draaide zowel de ontwikkelomgeving (werkstations) als de targetomgeving (systeem) op de Gnu-compiler. In 1991 was open-source code al muziek in de oren van dit groepje. In het voorjaar werd het systeem vrijgegeven aan de eerste klanten. Probleemloos? Ach, natuurlijk moest er nog wat worden nagesleuteld, maar dat had niets met de Gnu-compiler te doen.

Techwatch Books: ASML Architects