A few weeks ago I had to install very old software on very old server. And it turned out, that a few libraries for Visual Basic 6 were not found anywhere in the net. The company which made them doesn’t exist for many years, their website was abandoned and purchased by squatters since then. There were some binaries posted at some ancient pages, but most of them led to 404 (file not found) and the authority of the files that I managed to find, couldn’t be verified. I mean – I wouldn’t install such file at production server.
And if you think that such ill fate is only for small and unknown companies – you couldn’t be farther from truth. One of such companies is Sheridan, if you remember such name. They were quite famous in the era of Visual Basic 4, 5 and 6. But the point is – any binary of any company can be virtually lost or extremely hard to find in 10 years from now – at least the specific version of it.
That’s how I came with the
What if, just like the NuGet Package Manager, we would be able to get the binaries from a simple and never changing link, and be sure that this file is not infected and won’t disappear?
For some time now, I wanted to publish a few projects of mine, but didn’t want to make setup packages, that would refer to files that could simply disappear. I had to postpone the release and do something.
In 2011 I made quite advanced link redirector, available at byte.lv(spoiler: new user registration is disabled). It was never meant to be public and 100% reliable, but coincidentally I was about to publish the engine, so companies could have their own redirectors. If you’ve seen aka.ms of Microsoft, or services of Twitter and LinkedIn, you know what I mean.
I wanted to put reliable prerequisites there, but I didn’t have service for it, yet I was about to reuse the technology of byte.lv to redirect links to right locations.
So, I made a service, which holds information about packages (for example, .NET framework 4.5 redistributable – both full and web installers), contains a list of links, periodically checks links for validity and files for infection, checks if websites are still considered to be safe, if files changed since the initial submission, and what’s more interesting – could mirror the files if there is a possibility of extinction. In one of the future updates it should also learn to give you the geographically closest link, which should be extremely handy for distributed installations, and in the distant future release – implement the possibility to download prerequisite using bit-torrent.
Speaking about .NET 4.5, here is how the link looks when using the repository: http://prerequisit.es/.net/4.5f – for full installer, and http://prerequisit.es/.net/4.5 – for web installer. Easy to remember or even make up following the logic. Both links lead to official Microsoft website.
Reasons and Terms
The reasons for me to create and maintain such service are very simple – I have and make lots of installation packages, and it’s extremely important to keep them reliable. I also have some very reliable (in terms of availability) websites and should have more in the future, so it’s natural for me to host a system like this.
The terms for end users are simple – the service is free, and always will be. When I need a new package – I just add it and then it can be found using search, browsing or RSS (two latter functions are under construction at the moment of writing this post). When you need a new package, there is a package suggestion dialog, which ensures package will become available asap.
The website is not going to die, and after beta there will be a certain promise or even SLA to ensure the availability.
You are free to use that website, suggest new features and, if you like, spread the link to make software development part of life more comfortable.
Prerequisit.es library website
Since this project was the prerequisite, required to release some other projects, I hope to publish some new cool stuff pretty soon, as it seems that my addiction to Visual Studio gives some interesting results.