The past and future of games on the Internet

I tried to find a way to preserve code for 69 years (this is not a joke)

How do you preserve code for more than half a century? I am not talking about companies solving technical problems to secure their data, I am talking about you, a solo developer. You developed a game, a piece of software, a script or whatever, and you want to preserve it for a long time. I mean, a VERY long time, too long to imagine you being still alive by that point. How would you do it? Is it even possible?

This blog post is not a guide on how to preserve code. Sorry about that, but I have no concrete and definitive solution to this problem. This is what it is: I wanted to find a way to preserve code for 69 years, and this is a recap of my research, where I went from confusion to frustration, before settling for a half-assed solution.

First, a bit of context: When I decided to launch the Museum of Screens 2091 I was interested in the future of game preservation, the idea that web games from the early 2000s could still be around by the 100th anniversary of the World Wide Web. How would people react to amateur games made decades ago? Would they still be playable? And while I was making the game jam, I had an idea: I would take every entry in the game jam and put them in a single compressed file, and make sure this file is preserved until 2091, effectively creating a digital time capsule. Simple enough, right? After all, a file can be copied an infinite amount of time with no data loss. 

Of course it wouldn’t be simple, at all. True, software can very easily copy data from one support to another, but software never were the problem, the supports are. Every piece of technology ends up breaking due to technical failure. We even have a name for that: digital decay. A simple google search can give you estimates on the longevity of most data supports: HDDs are said to last between 3 and 5 years, for SSDs it’s around ten years.  Nothing lasts, so in order to keep data around, you would have to keep copying data to new supports until you die. Between 2022 and 2091 there are “only” 69 years. I would be 97 years old by the end, or dead. So I can’t trust myself to keep copying the files on new supports for that long. Entrusting someone else to the task in the event of my death doesn’t really solve the problem, as they would be the one that would have to solve this preservation problem. I want to be sure that a simple compressed file will be around by 2091 with no intervention on my part necessary.

Now I have a stated mission, so where to start? Well my first thoughts were: I’m not a data specialist, I don’t know a thing about long term preservation, so I will ask for partnership. Alone, I am limited by my lifespan, but an association or a company can last for centuries. Maybe a game preservation association could help me, a museum, a non profit organization, or anything in between. I contacted a bunch of them, and here are their answers: None. I had almost no answer, and the one who answered told me they were not equipped to preserve source code. I wasn’t really surprised, after all they had no obligation to read my weird request to preserve a digital time capsule. I was still bummed out, though.

Agreed, I could simply upload the digital time capsule on some website and just let it go. The Internet Archive, for example, accepts any upload as long as it’s not illegal. Companies can last for centuries, true, but remember the current state of the Internet: Even the oldest website is barely 30 years old. And there are already so many examples of websites closing down, causing the loss of thousands of content of all sorts: Yahoo Groups, Geocities, etc… (Mostly websites owned by Yahoo if you think about it). It might seem comical, but it is the reality of faceless companies that only care about profits. Also since they are like five companies that run 99% of the Internet… Yeah you can’t really rely on them. Also, as much as I respect the Internet Archive for their work, and despite the fact it is a non profit organization that does so much good work at preserving what most companies throw away with no consideration, it is not entirely sure that they will be still around in 69 years. I do not trust any website to hold my data for more than a year, so I put this option aside as well.

Source: https://xkcd.com/2102/

Back to square one. I wasn’t willing to upload the digital time capsule on any website, and I could only count on myself. Truly there weren’t that many options left. I could, I don’t know, keep a physical copy as long as possible. Printing the source code is a possibility, paper doesn’t have technical failures, and as long as you keep it in a safe environment it will still be readable. After all, the earliest computer games were preserved because the code was printed on specialized magazines. But it is very impracticable, once it’s printed you can’t easily make copies, unless you have the file on your computer and a printer, and then it’s still the same problem of digital decay. Also it would defeat the purpose of the digital time capsule, as it wouldn’t be available to everyone.

Desperate to find anything, I googled “data support with the most longevity”. Most websites kept telling me about M-DISC, incredible write-once optical discs said to last for at least 1.000 years, a claim so incredible I doubted it immediately. The Wikipedia page said, with no sources, that it has been tested and said to be durable for at least 60 years, a number way more believable, but still I had no real proof on this… And also the fact that the company that manufactured M-DISCs  went bankrupt in 2016. Nowadays you can find M-DISC on Amazon for a fair price, but manufactured by a different company so I have no idea if the durability claim still holds up. Plus you have to buy a special and expensive CD burner, something I absolutely didn’t want to do.

Small aside, but on top of having to preserve code, there is also a big problem: Will this code still be compatible with future softwares? Assembler and LISP are programming languages the closest we have to binary, and so they are the most likely to survive the longest. Converting your code into one of these languages is -I GUESS- a possibility but wow do I hate coding in assembler, like most of developers. It would be better if the source code was preserved in its current state. About software emulation, we can already see modern examples: You can perfectly run scripts in COBOL, BASIC or anything made for 80s computers. For game preservation, and compiled code in general, it’s more complicated. We have so many examples of classic retro games, even games barely 20 years old, not being remastered or remade because the source code was thrown away. Emulators take time and effort to work, the most recent examples are the online emulator Ruffle for Flash, which, even though having done so much progress since the death of Flash in 2021, is still far from being perfect. So, unless you preserve the source code alongside your compiled code, it is worthless.

https://www.reddit.com/r/DataHoarder/

So let me recap things: I won’t upload it to any website, no one wants to help me, making physical copies of the code would be impractical. What option do I have left? At this point I kinda gave up on finding a good solution, I was thinking about dropping the idea altogether, and ended up browsing the data hoarder subreddit, my mind half turned off. This is a strange community, they talk mostly about retrieving data from broken HHDs, news about the Internet archive, and how they downloaded 2To of images of sunflowers or whatever. They are very passionate about tech, data support and all that, but most of their solutions end up being about solving problems as they show up: Broken hard drive? Here is a solution to retrieve the data. One archive went down? Here is an alternative link. I mean, this is what communities online are for, right? Coming together to solve problems, and if enough people are working on the same problem it is more likely to be solved. This is when I got an idea.

Here is my solution, my very, VERY flawed solution: Throwing a bottle to the sea. I can’t be trusted to keep data for 69 years, no one can’t, not even a company or an association. But all Internet users combined might. I will upload the digital time capsule to the Internet Archive, and ask as many people as possible to make copies. If it’s spread widely enough, we have a chance for a copy to still be around by 2091. I would say, the chances of the digital time capsule to be lost are very high. But to my point of view, some random guy with no resources, this is my best option. At least until someone with more knowledge corrects me and shows me a better way to preserve code. Well at least, they will be able to download a copy of the digital time capsule and preserve it themselves.

The digital capsule is available here for everyone to download. And with that, it’s the end of the story. I’m sorry if this post only retold things you already knew. I said it at the beginning: this is not a guide, and the solution I found in the end is very not ideal. My challenge was to make a file available with little to no action on my part. If you want to preserve your data, copying on external drives and keeping track of the state of your physical support is the ideal solution. Until we invent data supports made of diamonds or something.

Leave a comment

Design a site like this with WordPress.com
Get started