Czy 1 stycznia 2000 roku nastąpi koniec świata (albo rządu federalnego)?

Czy 1 stycznia 2000 roku nastąpi koniec świata (albo rządu federalnego)?

Pomyślałem sobie, że stronę zapełnioną roztrząsaniem poważnych zagadnień, takich jak dziura ozonowa, efekt cieplarniany czy nowe zagrożenia ze strony wirusów i bakterii, można by sympatycznie zakończyć scenariuszem „końca świata”, który być może nie przyniesie zbyt drastycznych konsekwencji. Mam na myśli nadchodzący koniec tysiąclecia i wpływ, jaki będzie on miał (i już ma) na działanie systemów komputerowych pracujących w rządzie federalnym. Można potraktować ten temat jako jeszcze jeden przykład niezamierzonych i nieoczekiwanych konsekwencji niezrozumiałej technicznej decyzji.

W tym wypadku decyzja została podjęta dziesiątki lat temu i dotyczyła pamięci komputerów. W czasach kiedy w całym Waszyngtonie instalowano nowe systemy komputerowe, pamięć komputerowa była kosztowną rzeczą. Programiści i projektanci systemów operacyjnych robili wszystko, by uniknąć przepełnienia pamięci maszyn, jakie instalowali, gdyż jak na dzisiejsze standardy pojemność pamięci tych maszyn była żałosna.

Mając przez większą część mojej kariery zawodowej do czynienia z komputerami, dobrze pamiętam problemy z pamięcią w tamtych czasach. Nie było niczym wyjątkowym, że najlepsze komputery w głównych laboratoriach naukowych nie mogły sobie poradzić w całości z tym, co dzisiaj byłoby raczej pospolitym i trywialnym obliczeniem. Często należało uruchomić program, wyliczyć pewne wyniki pośrednie, zachować je na rolkach taśmy perforowanej, następnie opróżnić pamięć maszyny, zainstalować drugą część programu i, na koniec, załadować pierwsze wyniki tak, aby dokończyć obliczenia. Dla dzisiejszych dzieci, wychowanych w kontakcie z maszynami zdolnymi magazynować olbrzymie ilości informacji, obliczenia tego rodzaju są technicznym równoważnikiem siekiery z epoki kamienia łupanego.

W każdym razie jedną z metod oszczędzania pamięci, na jaką wpadli technicy instalujący w latach 60. komputery federalne, było użycie dwucyfrowych dat. Na przykład zamiast używać czterech cyfr dla oznaczenia roku 1965, pisali po prostu 6 i 5. Ten prosty zabieg pozwalał oszczędzać olbrzymie ilości miejsca w dużych bazach danych. Wystarczy wyobrazić sobie na przykład biuro ewidencji ludności, w którym nie trzeba zapisywać 19 na początku roku urodzenia każdego człowieka.

Oczywiste jest, że metoda ta musi spowodować problemy przy końcu dwudziestego wieku, gdy zmienią się pierwsze dwie cyfry daty. Jednak technicy lat 60. rozumowali w ten sposób, że do lat 90. powinniśmy przejść na nowe technologie, zupełnie inne programy i całkowicie zmodernizowane bazy danych. W każdym razie twierdzili, że za trzydzieści lat nikt już nie będzie używał tych samych baz danych i tych samych programów, które oni zainstalowali.

Otóż czasy się zmieniły. Ruch hippisowski nadszedł i odszedł, disco pojawiło się i minęło, teraz yuppie są gatunkiem zagrożonym, lecz duszę systemów komputerowych rządów federalnych stanowią nadal te same stare bazy danych i programy. Powód tego jest bardzo prosty. Zawsze łatwiej jest zmodyfikować istniejący program, niż napisać od początku nowy. Za każdym razem, gdy modernizowano programy i bazy danych dla rządu federalnego i dołączano nowe systemy, stare nie były zmieniane. Aby uczynić nowe dane zgodnymi z tym, co już było, stosowano w systemie dwucyfrową datę.

Pierwsze oznaki nieszczęścia wystąpiły w większości agend rządowych w roku 1995, gdy ludzie zaczęli zasięgać informacji dotyczących pięcioletnich planów przez wprowadzenie na przykład daty 25/3/00. Jeśli mieli szczęście, otrzymywali na swoich ekranach wiadomość o błędzie, znaczącą w istocie: „Nie mam zielonego pojęcia, o czym mówisz”. Jeśli zaś go nie mieli (a krążyły w tych dniach czasami przerażające wieści), komputer interpretował ostatnie dwie cyfry roku 2000 jako komendę do wyciągania danych od roku 1900. Ciekawy jestem, ile ustaw i przepisów zostało ustanowionych na podstawie obliczeń, w których popełniono ten błąd i nie zauważono go.

Aby więc przygotować się na nadejście następnego wieku, rząd federalny zamierza zatrudnić olbrzymią rzeszę techników, żeby przejrzeli każdą bazę danych i każdy fragment programu i zwiększyli miejsce przeznaczone na daty z dwóch do czterech cyfr. Nie jest to łatwe przedsięwzięcie. Zarządowi Ubezpieczeń Społecznych (Social Security Administration), z oczywistych powodów jednemu z pierwszych, który popadł w te tarapaty, zajęło siedem lat, aby zmienić jedynie bazę danych – nie wspominając o oprogramowaniu. Koszty konwersji tego typu dla całego systemu komputerowego rządu federalnego szacuje się ni mniej, ni więcej tylko na 75 miliardów dolarów.

Jest tylko jedna pocieszająca wiadomość. 1 stycznia 2000 roku przypadnie w sobotę.