"One of the things, none of the distributions have ever done right is application packaging ... making binaries for Linux desktop applications is a major fucking pain in the ass. You don't make binaries for Linux, you make binaries for Fedora 19, Fedora 20, maybe even RHEL5 from 10 years ago. You make binaries for Debian Stable…well actually no, you don't make binaries for Debian Stable because Debian Stable has libraries that are so old that anything built in the last century it doesn't work. …and this [“Don't Break Userspace!”] is like, a big deal for the kernel, and I put a lot of effort into explaining to all the developers that this is a really important thing, and then all of the distributions come in, and they screw it all up. Because they break binary compatibility left and right."
--Linus Torvalds, DebConf 2014
When is that end of the day? Over the last decades it would have been extremely difficult making money with Linux dekstop software. Windows and Mac were the only viable options to run a business.
Let me ask you a quick question: How can I distribute an application in a way that will work on all Linux Desktops?
There is also work towards a more modular approach with Flatpak and Snaps, but those require support from the distro side. AppImage doesn't need any specific distro support.
It's 2018 and the Linux Desktop still doesn't have a consistent way to... well do anything now that I think about it, but that you can't even reliably distribute an application is pretty insane.
Flatpak and Snaps are a typical Linux Desktop solution: Over-engineer the shit out of it.
Beyond that, AppImage is really just a container. It is still up to the developer to bundle the necessary dependencies (libraries, runtimes, VMs, data files, etc), but this is something they'd need to do with Windows too.
What problems do you have with it?
> It is still up to the developer to bundle the necessary dependencies (libraries, runtimes, VMs, data files, etc), but this is something they'd need to do with Windows too.
Only for libraries not present in the base system. Problem with Linux Desktop world is that they seem to actively loathe the concept of a consistent base system.
It's a trick question without a clear answer.
Many people tried, noone has ever succeeded.
Linux is a very large family of operating systems, with hundreds of members and variations. It's really a meaningless term.
https://support.steampowered.com/kb_article.php?ref=1504-QHX...
AppImage/Flatpak/Snap/Docker is mostly the same idea, just executed differently.
Oh, you meant that they package the libraries with the application? Yeah. If it isn't part of the base system, they do. That's how it should work or you get DLL hell.
Problem with Linux Desktop is if you put any two of its community in a room you'd have 4 different incompatible base systems within a week.
Usually the only ones willing to pay for Linux software are enterprise shops.
Try to get a mortage, pay a monthly rent, pay the kids school,.... just with donations.
One needs a regular source of income.
Desktop users are usually not keen to pay for consulting, trainigs or documentation. Rather just paying once.
Vendors that have pushed for web solutions get a constant revenue, but that solution makes the desktop irrelevant thus regular users see no benefit in running e.g. Chrome in other OS that wasn't already installed on the hardware that they bought.
Additionally such hardware is as proprietary as it ever was, even if built with a FOSS stack, as no one gets the sauce running on the server.
Most are though.