Your packaged app will almost always work too. There are not 50 distributions of these OSes.
They do this all day every day when they use a little something called Steam or when they install Google Chrome.
> I get what you're saying, but you know it's facetious to pretend that packaging is simple on Mac and Windows too.
It is...
Which while (initially) officially only released for a specific Ubuntu version ran on pretty much any up to date distro from day zero.
1) The system package manager. It will download a binary from the repository which is the right one for that system.
2) make && make install. This is mostly for software in development that hasn't made it into the package manager yet. It will compile from source and produce a binary for the target system.
All the problems are from people trying to do something other than this.
If you have a stable widely used application suitable for being installed by unsophisticated consumers, have the distributions put it in their package managers. This is hardly any different than consumer mobile platforms that require you to use an app store, except that it isn't actually required, just the thing you ought to do absent a good reason to do otherwise.
If you're distributing something sufficiently esoteric or experimental that the package managers won't touch it, your correspondingly sophisticated or adventurous users can compile it from source.
We don't need some malware-facilitating norm that encourages users to install opaque binaries from random websites.
Each distribution is a different operating system. You cannot package the "same" app for Windows and mac, so why should you be able to package the same application for Debian and Arch, which, even though they run a lot of the same code, have different underlying layers and assumptions?
You could make an AppImage or snap that would work across pretty much any mainstream non-hobbist-oriented distro, and Snap/AppImages is pretty much the Linux equivalent of EXE.
Raspberry Pi OS just moved to NetworkManager and they have PipeWire, which was the last reason I had to deal with less common software stacks, so it seems like stuff is getting more standardized.
image-editor.AppImage
image-editor.AppImage.home (folder, all settings are stored there)AppImages are just a fancy self-mounting disk image. If you do it right and include all required contents then it will work ~anywhere but you can just as well do that in a .tar.{gz,xz,zstd}/whatever archive.
I installed VSCode as a snap on my Fedora install and it worked fine as far as I could tell. This was in Mar 2021, and I chose the snap because code.visualstudio.com/docs/setup/linux said that "Due to the manual signing process and the system we use to publish, the yum repo may lag behind and not get the latest version of VS Code immediately. . . . Updates are automatic and run in the background for the Snap package."
(I don't have an opinion on Snap as compared to Flatpak or AppImage or none of the 3.)