Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is the kind of thing that can rapidly escalate to a CTO asking his Microsoft sales VP why he's spending $18M/year on upgrade and support contracts when a report that's worked "forever" can start talking back like Clippy.

Microsoft doesn't preserve backward compatibility because they're stubborn; it's a key part of their value proposition to some of their biggest clients.



This is the thing: I'm also a paying customer, I just don't pay as much. But I'd like to pay for more security/less compatibility, instead of the other way around.

This should also be very easy to do e.g. by noticing whether you are in a setting where there is any risk of the scenario you say. If it's a home machine for example, then don't worry about compatibility, focus on security.


We've seen where that leads to: there is plenty of software out there where you'd have to open every document you wrote with version N - 1 in version N to "convert it" to N's format, and version N + 1 can't read N - 1 files at all.

That can lead to a very ugly form of bitrot quickly. Do you convert every document you've ever touched every time, even ones you haven't needed in years, just in case? Do you worry that every time you convert a file it might corrupt the file in the process? Do you find some way to keep every version of the program available at all times and play try every version until it opens the file?

Backwards compatibility in general offers much greater means for archival.

In this specific example: losing backwards compatibility for ancient equations directly threatens the archival of math and science documents. That seems like it could have huge repercussions in some fields.


If I were designing the software, there would be a module which can upgrade a file format from version N to N+1.

That code is written in some kind of sandboxed VM/bytecode. You freeze the bytecode when you release a version.

When you release version 20 of the app, it has bytecode to convert 1 -> 2, 2->3, 3->4, etc, all the way to version 20. When it finds an old file, it runs all the updates as necessary.

If there is a bug in the updaters, it stays there forever.

If there is a security problem with the updaters, thats whats the sandbox is for.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: