This was inspired by a Twitter comment and subsequent DMs, but I’m not going to name names. You know who you are… 🙂
Let me ask you some questions.
- Do you have an archive of all your OS installation media?
- Do you have an archive of all your software versions?
- Do you have an archive of the patches you’ve downloaded over the years, along with any supporting tools?
If you answer “No” to any of those questions, you probably need to rethink your approach to managing your software.
You never know when there will be a catastrophic event and you will need to rebuild something. If you don’t have the exact software, you might not be able to get your system up and running again.
Don’t even get me started on build automation and/or documentation…
But I only use the latest software, so I can download it again!
I’m tempted to scream, “Liar!”
Every company I’ve worked for over the last 25+ years has had a mix of products, including some out of support old crap they try not to talk about. If they say they don’t, they are either a new startup, or they are lying.
But I can contact the vendor and get the media!
Can you? Do you know that? In the past I’ve had to open service requests to get old versions of the Oracle database software, and I’ve never been told no yet, but that’s a big risk to take. There is nothing to stop a vendor from hitting the delete key and making it impossible for you to get a copy of that software from them in future.
This is especially important if you are running old versions of products that are out of support.
When should I purge my archive?
I’m tempted to say never, but lets put a few ground rules in place.
- A piece of software can only be removed if it is not used in your company anymore.
- That includes offsite backups that might need the software if a rebuild were needed to allow you to restore/recover the backup. Some places keep old backups for several years, so this could be a long time.
- For vendors, only when you can 100% guarantee the last of your customers has stopped using that version of the software. 100% guarantee. That probably means never.
Vendors: But we can rebuild that version using our build process!
Shut up. You need to keep all your build artefacts. You can’t guarantee that several years later your build process will be able to build exactly what you need. I know you kid yourself you can, but I think you are probably wrong. Just keep the bloody build artefacts.
What do I do?
I’m sure what I do is not perfect, but it’s pretty good. At work I have all the software we use. For each product version there is a directory containing the base installation media, along with sub-directories for all the patches we’ve downloaded, which includes any supporting tools. In the case of Oracle database software that will include the latest version of OPatch and tools like the PreUpgrade.jar etc.
It is your responsibility to keep hold of all your installation media and patches. If you don’t and a vendor won’t/can’t give you a download, you only have yourself to blame.
I don’t agree with vendors ever deleting old versions of their software, but you have to protect yourself against them potentially doing that.
PS. Don’t ask me to send you old copies of stuff. It is illegal to do that, and I may not have what you are looking for anyway…
PPS. I reserve the right to post a, “I’ve messed up”, post next week when something happens and I don’t have the software. But at least I’ve tried… 🙂