Ask HN: How to build a website that will last 30 years?

37 points by Equiet ↗ HN
It seems like that the first website http://info.cern.ch/ (made almost 30 years ago) still works in a today's browser, but is it possible to build a website that will really last 30 years without any kind of maintenance (i.e. a website that will stay up for 30 years after the author passes away)?

64 comments

[ 3.5 ms ] story [ 144 ms ] thread
It is possible but there are some caveats. The example shows what is needed: conservative technology and conservative hosting. A website built with the simplest and oldest Web templating will be parseable by all browsers now and into the foreseeable future. Cloud hosting providers come and go but a dedicated IP directed to a bare metal server you own will remain online so long as the electric bill is paid. Given this you’ll want to write a rather sparse HTML page(s) with interactivity driven by hyperlinks, then find some stable institution like a university to give you a static IP and an electrical socket for your bare metal server.

It’s a bit of a lost art but still well in the realm of practicability.

(comment deleted)
There are no promises but I think plain HTML 5 w/o Javascript or an interactive bacn end is likely to hold up well. (I'd be afraid of Google knocking over the chessboard though)

I'd think that storage in Amazon S3 and distribution via a CDN would be low maintenance but I'd think some discontinuity would be inevitable in 30 years. (The worst thing that happened in the last 30 years of the web was the transition from http to https, in another 10 years web browsers might quit supporting http entirely.)

The other question is how to pay for it, and the financial tool for this is a

https://en.wikipedia.org/wiki/Annuity

You need to invest some quantity of money and then spend some fraction of it every year. I used

https://www.bankrate.com/investing/annuity-calculator/

and assumed expenses were $10 a month and the investment gets an 8% yearly growth rate and found I had to put in $1,371.92 for the money to last 30 years.

> (The worst thing that happened in the last 30 years of the web was the transition from http to https, in another 10 years web browsers might quit supporting http entirely.)

Enforcing HTTPS was one of the best things to happen to the web, when attacks by tools such as Firesheep and nation states doing dragnet surveillance was (is) rife.

I really disagree.

Enforcing HTTPS is bad enough, but refusing to support plain HTTP for trivial sites is just arrogant and user hostile.

Say I don't care about the possibility of some of my magazine subscriptions being tampered with. Sure, put some kind of security in place for things that are delivering me important sensitive information — like official government information? I don't know. Forcing that down my throat for Fishing Weekly though, is just pointless. Oh, did hackers change the weight of that record fish? Oh no!

"But security!" is the new "Think of the children".

I didn't mean to make a moral judgement in "worst" except that it was the "worst" in terms of being some event that would require somebody to make changes. Those changes are certainly not covered in the $10 / month budget I'm suggesting.
No.

If “without any kind of maintenance” is the test, then no.

At a minimum you need to sign a contract with an organization and pre–pay for the term you expect them to maintain the site. And you probably need a third party to monitor that organization to ensure they’re meeting the terms of that contract. And pay them as well.

Systems fail. Systems get hacked. Organizations evolve, change, get bought, get shut down, or just die.

I bet someone, somewhere in Switzerland, is tasked with maintaining info.cern.ch and keeping the systems its on up to date and secure, even if the content is HTML 1.0 and the server is responding with HTTP/0.9. Same with the spacejam site.

Barring Internet Archive going into long term site hosting (and not just archiving content under web.archive.org, but archiving under the original host name) I don't think it's realistic to expect any site to stay up once the author/owner/originator stops maintaining it.

The oldest extant site I had anything to do with appears to be https://park.org/. My bit was the IBM Chess Challenge that seems to have evaporated. But you can see one problem with keeping a site up for 26 years. park.org is heavily imagemap dependent. Imagemaps used to be processed server side, and eventually flipped to be browser side, but required the map to be sent to the browser. No one has updated the park.org HTML to reflect this so the imagemap based navigation doesn't work.

And someone does appear to be doing some sort of maintenance because the links to the 1996 Chess Challenge site appear to have been removed whenever IBM lost interest in keeping that site up.

You can't permanently buy a domain name. Most registrars only let you register one for up to 10 years. Web hosting wouldn't even last that long.

HTML itself will fair well, it's human readable and trivial to parse.

Your best bet is you or the content being important enough for other people to take care of it for you, copying and sharing it, converting it to their media. Of course cultures change, and by 2050 the planet will be barely habitable, so they will change a lot. A culture that decides to preserve your website might get wiped out, or the infrastructure does. There might not be even an internet anymore.

>You can't permanently buy a domain name.

Websites don't require a domain name.

You can request IPv6 addresses from a RIR, but that won't last forever either, and nobody will visit your site, not even the search engines. People wouldn't be even able to open it for long, since most browsers are going to require SSL, and who knows what other changes are coming in the future that require a domain name.
You can permanently have an onion domain.
Is it possible to pay for domain and hosting for 30 years ahead? Is it possible to set some script which will auto-update the https theatre of security? What about security updates of everything?
Websites aren't articles in a newspaper you can cut out, nor artworks you can hang on your wall, even if they contain only text and/or some images.

Websites are shopping windows. Think about what would be required to keep the same shopping window alive for 30 years. It's exactly the same with the web.

bullshit. people with this mindset like you make internet worse every day
It's pretty easy. Write static HTML and host from home.
It's hard to form a good expectation on the liklihood of success, but the Arweave [1] project is trying to create a permaweb system built on top of a "Proof-of-Storage" cryptocurrency where you pay once and have permanent storage. I think something like this will eventually succeed. It's worth reading their whitepaper to decide for yourself if it is feasible.

[1] https://arwiki.wiki/#/en/main

You can bet your ass the solution will bear absolutely ZERO similarity to any of the jamstack nonsense going on right now, that's for sure... :-)
The only truly effective way to keep something for a long time is to get people to care about it enough to make sure it remains available. To quote Linus Torvalds “Only wimps use tape backup. REAL men just upload their important stuff on ftp and let the rest of the world mirror it.”
This is the real answer - anything "hands off" could eventually get taken down by accident, force, or corruption.
Zero maintenance is an impossibility. What happens when hosting provider goes bankrupt?

However, there is a way to make minimal maintenance websites.

Make a static website and upload it to a provider that you believe won’t go away for at least 30 years.

Checkout Astro.js for this purpose, you can then upload it to any CDN. I prefer to use bunnycdn due to costs but there are other providers too.

It is hard to ensure that a website would survive for 30 years without requiring maintenance. There are too many components involved in running a website and I think it is quite likely that at least one of them would break if no maintenance is done. I think a breakage is especially more likely if it is a personal website. For example, the domain name may expire, the server hosting the website may go down due to a hardware malfunction in your own server or a payment failure for your server provider, TLS certificates (if any) may fail to renew due to a breaking change in a certificate management tool, etc.

But I think it is possible for the HTML pages of a website to survive. If this can be done, then the website can survive in its original form even when it may not be available in its original domain name.

Here are some things I have done to increase the odds that my personal website would survive for several decades even if the primary website disappears some day:

- The entire website is a collection of static HTML pages.

- All internal links and path references, are relative. In fact, the paths to CSS files, images, videos, audios, etc. are also relative.

- The HTML pages do not loaded any resource from another domain.

- Since I use MathJax on my website to render mathematical content, MathJax is bundled within the website. Further, MathJax is loaded into the pages that need it using relative links only. (This is an example of the previous two points.)

- Stick to text as much as possible. Most pages are just text marked up with HTML. Use images, videos, audios, etc. only when absolutely necessary. Similarly, load MathJax using a relative link only on those pages that have mathematical content.

- Test that if the website is copied to a directory on the local filesystem, one can still navigate the website locally using a web browser. This is possible due to using relative links/paths (instead of absolute ones).

- While the primary copy of the website is hosted at a personal domain name I have registered, I publish a mirror copy on my GitHub account via GitHub pages. Should the primary domain name disappear someday (which did happen once for a few days due to a sinkhole incident), the mirror would still be available via GitHub pages as long as GitHub continues to maintain their service.

Finally, and I don't do this, but one could consider http://web.archive.org/ as well as IPFS to archive the pages of one's website to ensure that tertiary copies of the website also remain on the web.

SSL cipher invalidation is the technical obsolescence most likely to doom your efforts, I think.
I think the only way to get that would be plain HTML with all CSS embedded directly into the page, which you then get hosted by the Internet Archive.

In terms of working in future browsers you probably use pretty much any spec-compliant CSS. They pretty much never remove anything.

I think about this a lot.

When I build a project, I want it to be as low maintenance as possible. So that even if it never becomes a big commercial success, I can keep it running indefinitely.

The approach I took for my latest project is that I wrote a new static site generator in Python. I could have used Jekyll or something, but all static site generators I tried are much too complex for my liking.

Some of the characteristics of my generator are:

# File based

The content, templates and assets are stored as files on disk. No database is involved.

# Single script

Turning templates, content and assets into a website is not a complex thing. Basically it just means some templating of the content according to the templates. The python script I wrote for it is around 200 lines of code and offers me all the flexibility I need.

The html files it outputs stand a good chance to still function in 2053, just like info.cern.ch still functions today.

Will the Python script still function in 2053? Maybe not with the Python interpreters that ship with the OS, but it will probably still be possible to get a python 3 interpreter.

And it will probably not take more than a few hours to update it to Python 17 or whatever is the current version then.

If you use technology like JS, TS, common frameworks, and a provider that will likely not shutdown in 30 years, I mean, I think it can last 30 years.
Live for 30 years and keep updating it.

Setup a trust or other organization with enough funding and a mandate to keep the site going.

Make sure there are backups of the site available in various archives and libraries where it could be accessed if the technology, or maintenance thereof, were to ever fail.

Sure, write plain old html. There are still tripod sites up (like this one: https://librarycards.tripod.com/ ).

Prepay for hosting, preferably with a bigco that won't go out of business or pivot.

One of the things I love about the world is that for almost any random subject under the sun, you can find people who are deeply invested. The breadth of diversity of humanity is staggering.

So a 15-year-old coding a website about library cards so many years ago is wonderful, although not even close to the weirdest example :)

Write plain HTML, nothing else.

However, you still need to ensure the domain and hosting provider are paid to deliver their services.

Even if you add a credit card and enable auto-renew, the credit card will expire long before 30 years are over.

I honestly don’t believe the web as we know it today will exist in 30 years. The internet will, and browsers will, but we are headed toward a future of completely walled gardens and proprietary protocols. The web will probably live on as an “underground” thing akin to Tor today. But commercial use will probably cease.
If the web will go "underground", then i REALLY want to make use of simpler technology to avoid any crap that exists today (like, pinging out to privacy killers, etc.)...immediately i thought of the tactics that the folks use (relatively speaking of course) to broadcast their signals in the Matrix movies!