upvote
> With Linux, you have to target specific distros, do something insane like a giant bundle of everything,

This is what you do for Flatpack, Steam, or Docker. All these are popular options.

> Oh and I almost forgot.. install scripts that detect distros, install dependencies.

Most distros offer tooling to make packages for their package managers. With them you declare the dependencies you want and the package manager does the rest.

> And god help you if you need to ship a kernel module.

The right way to do it is to open source it and let the installer compile the software against the kernel headers. Sysdig and VirtualBox do that.

reply
>do something insane like a giant bundle of everything, or static linking

But isn't this exactly what shipping on Windows looks like? I've just checked my Windows partition and there are 43 instances of sqlite dll and 16 instances of Qt5Core.dll because every program that uses those libs needs to include them in their "giant bundle of everything".

reply
Now count up the .NET runtime dlls too!
reply
For every version between 3.5 and 10.
reply
You can also simply use Flatpak with the Freedesktop Runtime. It runs everywhere regardless of the distribution. For games Steam offers something similar with the Steam Runtimes. You simply develop for that one container and the software will still be running in 20 years. Even though, of course, making software proprietary isn’t best practice. If you make everything open source from the start the various Linux distributions and users can adapt it themselves for their distribution and eventually modernize it as well.
reply
From the flatpak docs:

> A given branch of the Freedesktop runtime has a 2 year support period after which they are declared EOL.

reply
EOL doesn't mean you can't install or use it anymore. It simply means you shouldn't use it anymore because security updates are no longer available. You face the same problem with Windows software that is no longer updated. The only difference is that no one tells you it's no longer supported.
reply
deleted
reply