HACKER Q&A
📣 asim

Hundred Year Software


How and what will last 100+ years? If I was to own a domain tied to a google email account today, it is very unlikely that it is going to last 100 years, but it would be interesting to be able to maintain such levels of continuity. How or what will last 100 years?


  👤 mattbgates Accepted Answer ✓
Too much could happen in 100 years, so personally, unless your family or friends choose to keep it going and find their own friends and family to keep it going, all will die.

Hundreds of thousands of domains were here yesterday but gone today.. either due to lose interest or the person died and no one knew how to keep it going or even cared.

It is very likely that the major websites, such as Chase or Home Depot or Lowes or any of these types of business websites will be here to stay for as long as we do banking and use the Internet.

There are some things that can be done for continuity, such as funding a bank account that is specifically linked to domains and then you'd just have to account for hosting and the domain. If you leave it in your Will, you could keep that bank account going if you don't have greedy family members. In this case, you can set your domain to auto-renew and set autopay for hosting and just make sure you account for the amount you might want to keep it going though this could get expensive.

But unless there is a successor or someone who really is as passionate and cares about your project enough to keep it going, it is very unlikely that it will go on without you.


👤 mikewarot
It's important to note that the core protocol of the internet used to be NCP, and everything was switched to TCP/IP at the start of 1983. Given the way people have dropped support for FTP and HTTP, and various encryption schemes for HTTPS, it is highly unlikely that anything networked would work correctly directly connected to the InterNet via Ethernet in 2123.

Software written in a compiled language distributed as an executable for MS-DOS or Windows 95/98/2000 are likely your best bet. Avoid .NET, and stick to either the MS-DOS documented API, or Win32 API. There are likely to be emulators for that running forever.

C Source code from even 2 decades ago is almost impossible to compile correctly, I learned that with my adventure with Stoic. Python from a decade ago doesn't work now either... I learned that with WikidPad. Too many upgrade obligations are built in to source code for them to work reliably in the future, unless you bring along the entire support tree from that time with them.


👤 gradschool
If you think anyone might care about your software in a hundred years, explain it in writing in a technology-independent way that would make it easy for anyone to re-implement it by reading your explanation, along with a reference implementation in pure lisp, lambda calculus, or the MIX architecture from Knuth's TAOCP. Self-publish your explanation and reference implementation in a book printed on acid-free paper, get an ISBN for it, and send the book to the Library of Congress. Spread the risk by also sending it to other national depository libraries.

👤 willmeyers
No matter what gets built, it'll need upkeep as with anything. Take a bridge, for example. There's lot that can change in a bridge's lifetime:

- Natural disasters can cause it to fall

- Accidents can damage it

- New regulations can prevent it from being used

- Your government could decide to simply close it

Maintaining any service for 100+ years requires humans to maintain it.


👤 kleer001
Fortran, COBOL because they're tied into big money

then there's

A successful religion (I consider them software running on human hardware)


👤 patatino
A lot of software would still run but we decided to optimize it and write it new. No way to prevent that.

👤 jjgreen
C, F77