Comment by jwrallie
1 day ago
It is better when you cannot get a package otherwise, so if you use a distro with a big repo, it happens mostly with proprietary software.
1 day ago
It is better when you cannot get a package otherwise, so if you use a distro with a big repo, it happens mostly with proprietary software.
Most proprietary software ships as tgz files which you can just unpack and run.
A few ships with "installers", which are mostly just bash scripts with the tgz embedded.
Simple enough.
If you pretend dependencies don’t exist. Binaries aren’t portable.
For all practical purposes they mostly are. Linux famously hasn't broken userspace in over thirty years. Pretty much all commercial software for unix (and Linux) is distributed this way since several decades. Things like ld-linux.so is mostly backwards compatible for this reason. You can still run ancient Firefox builds even if you might have to fetch an old libstc++. But those are still around, for exactly that reason.
Of course, the world changes. Running X11 software might be tricky a few decades from now if nobody speaks the protocol. Something compiled for ALSA or esound might not work forever. Software dependent on a mail transport might not work when email is finally dead and everyone uses Facebook instead. Perhaps one day IPv4 sockets won't be available.
That type of dependencies are the hard ones that will kill your software before any binary incompatibilities will. As long as there is a.out binaries or 32-bit software out there someone will make it work. Software from the past three decades still runs so there's hope for the next three.
Until then, don't let perfect be the enemy of what's simple and works.