Het millenniumprobleem; 7.000.000.000 programmaregels

Het millenniumprobleem, waarvan het bestaan al jaren bekend is, begint nu eindelijk royale aandacht te krijgen. Of dat een ramp zal voorkomen is de vraag. Een kleine ramp zit er zeker in. Garanties voor een probleemloze eeuwwisseling worden niet gegeven. En de advocatuur loopt zich vast warm voor de onvermijdelijke schadeclaims.

De feestvierders staan in het donker, het champagneglas geheven in de hand. De televisie is uitgevallen, de klok staat stil. Even is alleen het vuurwerk buiten hoorbaar. “Naar buiten!”, roept iemand. Hij rent naar de hal en drukt op de liftknop, maar de lift staat onderin de schacht en reageert niet. Via de trap loopt hij naar buiten. De straatverlichting is gedoofd.

Het is zaterdagochtend, 1 januari van het jaar 2000 en de wereld is tot stilstand gekomen. Behalve de elektriciteit zijn ook de verwarming , het stromend water en de gasvoorziening uitgevallen. Er rijden geen treinen, sommige auto's staan stil, vliegverkeer is uitgesloten. Geldautomaten werken niet, een eerste gelegenheidsdief graait in de etalage van een juwelier. Het alarm gaat niet af.

Is dit een realistisch scenario? Alle beschreven calamiteiten zijn door automatiseringsdeskundigen genoemd als mogelijke consequenties van een fout in computersystemen over de gehele wereld. Een millenniumbom die bij de eeuwwisseling zal ontploffen omdat computers en chips in apparaten jaartallen vaak aanduiden met twee cijfers en daarom de overgang van 1999 naar 2000 zien als een overgang van 1999 (99) naar 1900 (00). Dat wil niet zeggen dat al deze rampen zich daadwerkelijk over de gehele wereld zullen voltrekken. In de eerste plaats is een deel van de wereld wakker geschud, met name de Angelsaksische landen en hopelijk deze week ook Nederland. Ook spelen niet alle problemen in alle landen even sterk.

Zo vermoedt Peter van Delft, bij PTT Telecom verantwoordelijk voor oplossing van het millenniumprobleem, dat Nederland niet of nauwelijks zal worden geconfronteerd met stilstaande liften. Liften kunnen dienst weigeren vanwege een ingebouwd computerprogramma dat eens in de twee jaar een controlebeurt eist. Een lift die constateert dat er sinds 1900 geen onderhoud heeft plaatsgehad gaat terug naar de begane grond en doet het niet meer. In Nederland is echter automatische controle op onderhoud van liften niet verplicht.

Dergelijke kleine meevallers ten opzichte van het geschetste scenario zijn mooi meegenomen. Daar staat tegenover dat doemdenkers voorspellen dat de beschaafde wereld al voor 1 januari 2000 tot stilstand zal zijn gekomen. Als verzekeraars weigeren dekking te bieden voor de nog ondoorzichtige risico's van vliegen of autorijden rond de eeuwwisseling staat het verkeer stil. Misschien ook zijn banken al failliet omdat spaarders massaal hun tegoeden hebben opgevraagd. Een begrijpelijke voorzorgsmaatregel als het er tenminste in de loop van 1999 naar uit ziet dat de banken rond het nieuwe millennium met hun computersystemen in problemen zullen komen.

Daar komt nog bij dat sommige computersystemen al problemen hebben met de overgang van 1998 naar 1999 omdat computerprogrammeurs het getal '99' soms hebben gebruikt als aanduiding voor oneindig zonder zich te realiseren dat hun software in dat jaar nog zou worden gebruikt. Bij sommige bedrijven (Texaco, Marks & Spencer) heeft het probleem zich zelfs al gemanifesteerd. Tankpasjes met een looptijd tot in de volgende eeuw werkten niet meer en een voorraad die behouden moest blijven tot in de volgende eeuw werd te vroeg weggegooid.

Experts zijn het er over eens dat het over twee jaar fout zal gaan. Zelfs een bedrijf dat er vroeg bij was en zijn uiterste best heeft gedaan moet afwachten hoe het op oudejaarsavond loopt. “Alles in onderlinge samenhang testen is uitgesloten”, zegt Hans Scholten, bij automatiseerder Cap Gemini verantwoordelijk voor het millenniumprobleem. “Het is te riskant. Er zijn allerlei neveneffecten mogelijk. Stel je voor dat de boel niet meer werkt of dat er bestanden worden weggegooid.”

Van Delft van PTT Telecom bevestigt: “Je kunt nooit alles in zijn onderlinge samenhang testen. Neem de energievoorziening, de telefonie of ons financieel stelsel. Er zijn eenvoudig te veel losse componenten.” Als voorbeeld noemt Van Delft zijn eigen bedrijf. “Wij kunnen natuurlijk ons telefoonsysteem testen”, zegt hij. “Maar we kunnen nooit alle mogelijke combinaties van nummers controleren. Alles moet in samenhang functioneren. Dat maakt het probleem buitengewoon ingewikkeld.”

Cap Gemini heeft zich jegens opdrachtgevers verplicht zijn uiterste best te doen om schade bij de eeuwwisseling te voorkomen. Maar het bedrijf geeft geen garanties. De risico's zijn te groot. Ook PTT Telecom geeft (nog) geen garanties.

Met de zekerheid dat niet alle fouten zullen worden opgelost resteert de vraag wat de omvang van de schade zal zijn. “Komt één procent van de systemen in de samenleving stil te liggen? Of is het vijftien procent?”, vraagt Van Delft zich af. “Als het vijftien procent is wordt de rest als een rijtje dominostenen meegenomen. Dan komt de maatschappij piepend en krakend tot stilstand.”

PTT Telecom is een van de weinige Nederlandse bedrijven die al een aantal jaren intensief werkt aan het millenniumprobleem. Er staan grote belangen op het spel. Zeer bedreigend zijn de fouten die kunnen ontstaan in het systeem dat bellers hun rekening presenteert. Wie om vijf voor twaalf gaat bellen en om vijf over twaalf ophangt zou rijk worden. Het gesprek begint om 23.55 uur op 31 december van het jaar 1999 en eindigt om 00.05 uur van het jaar 1900. Zonder doeltreffende maatregelen heeft dit telefoongesprek een negatieve telefoonrekening tot gevolg voor bijna een eeuw bellen.

Domino-effecten zijn volgens deskundigen een van de meest venijnige aspecten van de millenniumbom. Storingen in het transport zijn een sprekend voorbeeld. Als het vervoer niet werkt worden fabrieken niet bevoorraad. In veel fabrieken zijn de voorraden in het kader van de efficiëntieverbeteringen van het zogenoemde just in time-principe tot vrijwel nul gereduceerd. De produktie ligt dus direct stil. Bedrijven die als gevolg hiervan in faillissement raken kunnen op hun beurt een bedreiging vormen voor de banken.

De Nederlandsche Bank (DNB) sloeg eind vorige maand al alarm. De meeste grote banken pakken het probleem binnen de eigen organisatie aan, maar besteden onvoldoende aandacht aan de risicio's die bestaan in hun kredietportefeuille. Banken moeten zich hard opstellen tegenover bedrijven met een lening die onvoldoende aandacht besteden aan het millenniumprobleem, zo adviseerde DNB.

Bedrijven die het millenniumprobleem vroeg onderkenden zagen hierin aanvankelijk een kans om concurrentievoordeel te behalen. In het meest gunstige geval zouden concurrenten die niet op tijd een oplossing vinden van de markt verdwijnen. Daarin is volgens Scholten van Cap Gemini een kentering gekomen. “Iedereen kijkt nog steeds om zich heen”, zegt hij. “Maar niet naar wie er om zou kunnen vallen. Je bekijkt van wie je als bedrijf afhankelijk bent of [met het oog op schadevergoedingen] wie er afhankelijk is van jou.”

Uitgangspunt van Van Delft van PTT Telecom is dat leveranciers verantwoordelijkheid dragen voor het oplossen van het millenniumprobleem. “Maar we moeten er natuurlijk samen uitkomen”, voegt hij daaraan toe. De onderlinge afhankelijkheid van softwareleverancier en gebruiker is volgens advocaat Peter van Schelven de belangrijkste reden dat er in Nederland nog geen rechtszaken zijn over de millenniumbom. “Eerst de boel maken en dan knokken is het devies”, bevestigt ook zijn collega Hendrik Struik. “Ik verwacht dat we de bulk van de rechtszaken pas zullen zien na de eeuwwisseling”, zegt hij. “Dat is ook beter omdat de eventuele schade dan is te overzien.” Struik adviseert zijn cliënten wel de leverancier expliciet te vragen hoe het staat met de millenniumbug in hun produkten. Als daarop geen bevredigend antwoord komt kan de afnemer daarover alvast aan de bel trekken zodat een schadeclaim die over een paar jaar wordt ingediend niet te laat komt.

Van Schelven, die enkele leveranciers in de branche adviseert, waarschuwt dat het voor afnemers niet eenvoudig zal zijn hun schade op de aanbieders van informatietechnologie te verhalen. “De materie is vaak zo complex dat gebruikers het wel uit het hoofd zullen laten om te claimen”, zegt hij. “Veelal moet de afnemer gedurende een automatiserigsproject verschillende keren tekenen voor het feit dat hij het geleverde systeem accepteert.”

Duidelijk is in elk geval dat de verjaringstermijnen die in het verleden werdengenoemd willekeurig zijn. Staatssecretaris Kohnstamm van Binnenlandse Zaken stelde eerder dit jaar dat een automatiseerder die een systeem heeft geleverd dat minder dan tien jaar oud is geacht wordt het millenniumprobleem daarin te hebben opgelost. Volgens Van Delft biedt deze tijdsspanne echter nauwelijks houvast. “Juristen krabbelen steeds verder terug”, zegt hij. “Eerst was het tien jaar. Nu zitten ze ergens tussen 1993 en 1995.”

Wie gaat betalen zal de toekomst uitwijzen. Zeker is dat er enorm veel werk moet worden verzet. Scholten rekent voor dat er in Nederland omstreeks zeven miljard programmaregels moeten worden aangepast. Dat is 20.000 manjaren werk. De kosten van herstel bedragen volgens het internationale onderzoeksbureau Gartner enkele guldens per regel.

Cap Gemini heeft in Utrecht een fabriekje ingericht waar 120 programmeurs voltijds werken aan oplossing van het millenniumprobleem. Databestanden van bedrijven worden op tape aangeleverd. De 50 tot 100 miljoen programmaregels van alle computersystemen van ING passen op een tape die kleiner is dan een pakje sigaretten.

Op de derde verdieping van het softwarefabriekje van Cap Gemini tuurt een Cobolprogrammeur gespannen naar een computerscherm. Zij speurt, met behulp van speciaal ontwikkelde software, naar zogeheten datumvelden in de salarisverwerking van een middelgroot bedrijf. De tweecijferige getallen waar de software zelf geen oplossing voor heeft kunnen vinden lichten rood op. “Negentig procent doet de computer zelf”, zegt de programmeur.

Ondanks de software die Cap Gemini heeft ontwikkeld voor het opsporen en herstellen van de fouten blijft handwerk onontbeerlijk. Een van de redenen daarvoor is dat het jaartal in een datumaanduiding niet altijd op dezelfde plaats staat. De volgorde dag/maand/jaar wordt vaak aangehouden, maar ook andere combinaties komen voor. Een andere reden is de grote varieit aan talen. Voor een veelgebruikte computertaal als Cobol loont het een apart programma te bouwen. Dat geldt niet voor talen die maar sporadisch worden gebruikt of specifieke toepassingen die een bedrijf zelf gebouwd heeft.

Scholten vertelt dat er ruwweg twee manieren zijn om de millenniumbom onschadelijk te maken. In de eerste plaats kan elk tweecijferig jaartal vervangen worden door een getal van vier cijfers. Deze methode wordt echter niet veel meer toegepast omdat alle programma's regel voor regel moeten worden aangepast.

Tweede mogelijkheid is een nieuw programmaatje rondom het oude programma te bouwen dat de computer vertelt wat er met een datum wordt bedoeld. Zo kan de computer bijvoorbeeld worden uitgelegd dat met getallen kleiner dan 30 in de volgende eeuw liggen (25 wordt 2025) en getallen kleiner dan 30 in deze eeuw moeten worden gesitueerd (97 wordt 1997). Op die manier wordt de ontploffing van de millenniumbom in elk geval uitgesteld tot 2030. Scholten: “Dan is er in elk geval even adem om het probleem ècht op te lossen.”