Static Linux

I use GNU/Linux almost every day, but I don't really like the way it handles 3rd party programs. In order for a program to work under a Linux distribution, it has to be compiled specifically for that distro. This is because all distributions use different versions of shared libraries, essentially making them different operating systems.

This is a superficial problem. Under the hood, they all use the same protocols and kernel interfaces but they package them differently. Therefore they look like different operating systems. This problem can be solved easily by static linking. When you make a static binary, the program has all the code it needs (including libc) to run. This way, it becomes independent of the underlying distribution. Sure, it does lose some opportunities to integrate with any specific distribution but this is rarely a problem because Linux distributions don't really add anything of value to the general GNU/Linux sphere. They don't write any new code, but simply package existing code in different ways to satisfy themselves.

I occasionally run into problems with mainstream software being distributed with whatever Linux distro I happen to be running. When it becomes too frustrating, I replace it with my own if I can. Here is a list of programs which might be of general interest.

There are a couple of common properties these program have.