Un peu des deux mon général
Il y a en effet un circuit qui compte les secondes, et le logiciel transcrit le nombre de secondes passées depuis une date fixée par convention (1 janvier 1904) en la date du jour. La date limite est lié au nombre maximum gérable par ce compteur de 32 bits (4294967296 secondes, soit environ 138 ans -sans prise en compte des années bissextiles et avec des mois de 30 jours-

).
Initialement, ce système de datation est propre à Unix, c'est pour cela que cet environnement n'a pas été sensible au bogue de l'an 2000, contrairement à celui de Microsoft

.
Enfin, le problème est le plus souvent venu des programmes écrits par les développeurs n'imaginant pas avoir à les maintenir si longtemps et soucieux d'économiser l'espace de stockage couteux au début de l'informatique.
Et voilà, pour une petite leçon d'histoire de l'informatique et des limites qui en découlent.