Het millenniumprobleem

Maandag 23 juni 1997, afgelopen maandag dus, gaf een relatief onschuldig voorproefje van hoe de 21ste eeuw zou kunnen beginnen. In het geografische hart van Nederland viel de stroom uit, en onmiddellijk kwam heel het technologisch raderwerk waarop het leven in hedendaags Nederland drijft krakend tot stilstand.

Liften, kassa's, elektrische toegangsdeuren, koelinstallaties, trams en treinen, alles stond stil. Zonder stoplichten werd elk kruispunt een moeizaam te nemen horde. Zelfs het regionale rampenplan werkte niet, omdat de zender Radio-M, die het contact met de bevolking moest garanderen, geen noodaggregaat had - uit zuinigheid.

Het moet toeval geweest zijn, maar slechts drie dagen daarvoor had minister Hans Dijkstal aangekondigd dat de regering eindelijk de ernst inzag van de maatschappelijke ontwrichting die dreigt op het moment dat eind 1999 de champagnekurken knallen, en daarbij juist het uitvallen van de stroom als voorbeeld genoemd. Hij had het over het millennium-probleem, dat veroorzaakt wordt doordat veel computergestuurde systemen met datums werken waarin het jaar in twee cijfers genoteerd is, zodat die systemen 2000 als '00' zullen zien.

Die dubbele nul kan om verschillende redenen de meest uiteenlopende systemen lam leggen. Een daarvan, het sorteerprobleem, is inmiddels wel bekend. Dat probleem duikt op zodra berekeningen gemaakt worden die de magische grens van 31-12-99 overschrijden. Elke tweecijfersysteem zal jaarwaarden voorbij de eeuwgrens heen als kleiner, dus ouder, interpreteren dan alle jaarwaarden die sinds het begin van het computertijdperk zijn ingevoerd. Voor banken en kredietinstellingen doemt al voor 2000 een horrorscenario op met absurdistische rentebedragen en stromen boetes wegens overschrijding van termijnvervaldata met negenennegentig jaar. Daar heeft men het probleem inmiddels ook wel in de gaten, omdat het zich bij langlopende transacties nu al voordoet. Ook de eerste pasjes en creditcards met vervaldata in de volgende eeuw zijn al uitgegeven - en prompt geweigerd.

Maar vrijwel elk bedrijf is kwetsbaar, en niet alleen de financiële administratie, maar ook productie en distributie. Daar zijn de problemen trouwens eveneens al begonnen. Zo werd onlangs een omvangrijke partij blikwaren linea recta geretourneerd wegens overschrijding van de uiterste verkoopdatum. Althans, volgens de computer, die '00' ouder vond dan '97'. “Dat kan nog lachen worden over een paar jaar”, zoals een programmeur van het Amerikaanse telecombedrijf Nortel ooit als commentaar noteerde achter een programmaregel waarin hij zo'n tweecijferdatum definieerde. En gelijk had hij, want het sorteerprobleem is nog maar de gemakkelijkst zichtbare kant van het millenniumprobleem.

Er zijn talloze systemen die veel minder opvallend met datums werken, dus gemakkelijk over het hoofd gezien worden, totdat het te laat is. Voor een computergestuurde leefomgeving hoef je allang niet meer naar Chriet Titulaers Huis van de Toekomst, die vind je in elk groter gebouw, van waren- tot ziekenhuis, van terminal tot productiehal. Luchtbehandelingsinstallaties, verlichting en verwarming draaien volautomatisch 's nachts en in het weekend op een laag pitje. Liftgroepen hebben aan de wisselende vraag aangepaste verdeelroosters. Alarminstallaties weten wanneer het weekend aanbreekt, allemaal door een datumcontrole aan de hand van een ingebouwde klok.

En zo zijn er nog duizenden systemen en systeempjes, die vaak helemaal niet als computer te herkennen zijn, waarin druk met datums gerekend wordt. In hoeveel gevallen, en vooral in welke, die datum op de ouderwetse, tweecijferige manier gecodeerd wordt, weet niemand. Zelfs apparatuur die met datums niks te maken lijkt te hebben kan kwetsbaar zijn. Veel systemen controleren geregeld of zij zelf en de technische omgeving waarin ze werken nog goed functioneren. Omdat in bijna elk systeem wel een klok zit ingebouwd, wordt daarvoor nogal eens een datumtest gebruikt. Komt daar een ontoelaatbare waarde uit, dan is er iets mis. En wat is die ontoelaatbare waarde? Nul. Zo kunnen op het moment suprème verkeersleidings- en beveiligingsystemen, en complete productielijnen stil komen te liggen.

Hoeveel problemen zich zullen voordoen weet geen mens. Deels hangt dat af van de voortvarendheid waarmee nu software aangepast wordt, of vervangen wordt door nieuwe millennium-proof spullen. Deels hangt het af van keteneffecten. Dat er problemen zullen ontstaan is wel zeker. En ook dat ze ernstiger en veel langduriger zullen zijn dan die van afgelopen maandag. In januari 2000 is het bijvoorbeeld geen prettig zomerweer, maar winter, zodat behalve diepvriesvlees ook levend vlees direct bedreigd wordt. Veel van wat dan pas aan het licht komt zal ook niet snel oplosbaar zijn. Vooral oudere systemen zijn vaak slecht of helemaal niet gedocumenteerd, soms is er zelfs geen leesbare broncode. De ontwerpers ervan zijn allang vertrokken of met pensioen. Zulke software is moeilijk te vervangen, en alleen met veel en langdurig vlooiwerk veilig te maken. En waar haal je ineens alle benodigde automatiseerders vandaan, als iedereen tegelijk in de nesten zit?

Bij ingebedde, in chips ingebakken programmatuur krijgen we om diezelfde reden te maken met voorraad- en productieproblemen. De regering heeft daarom terecht, zij het rijkelijk laat, de noodklok geluid. Technisch is het millenniumprobleem een onbenulligheid, vaak met betrekkelijk weinig moeite op te lossen. Maar juist in die onbenulligheid zit het venijn. Waarom zou je serieus geld investeren in zo'n nietig probleempje, en dan ook nog op een moment dat er nog niets aan de hand lijkt? Het is moeilijk vechten tegen de fatale zuinigheid die de officiële rampenzender Radio M zonder noodaggregaat liet zitten.