Comment by bruce511

1 day ago

It also makes support more or less impossible.

Even if we ship as source, even if the user has the skills to build it, even if the make file supports every version of the kernel, plus all other material variety, plus who knows how many dependencies, what exactly am I supposed to do when a user reports;

"I followed your instructions and it doesn't run".

Linux Desktop fails because it's not 1 thing, it's 100 things. And to get anything to run reliably on 95 of them you need to be extremely competent.

Distribution as source fails because there are too many unknown, and dependent parts.

Distribution as binary containers (Docker et al) are popular because it gives the app a fighting chance. While at the same time being a really ugly hack.

Yep. But docker doesn’t help you with desktop apps. And everything becomes so big!

I think Rob pike has the right idea with go just statically link everything wherever possible. These days I try to do the same, because so much less can go wrong for users.

People don’t seem to mind downloading a 30mb executable, so long as it actually works.

  • What do you mean docker doesn’t help you with desktop apps? I run complicated desktop apps like Firefox inside containers all the time. There are also apps like Citrix Workspace that need so specific dependency versions that I’ve given up on running outside containers.

    If you don’t want to configure this manually, use distrobox, which is a nice shell script wrapper that helps you set things up so graphical desktop apps just work.

Then you only support 1 distro. If anyone wants to use your software on an unsupported distro they can figure out the rest themselves.

  • No, they come online and whine that you didn't package your software for <obscure distro>, that your software is shit and you're incompetent.

And being 100 things is completely unavoidable when freedom is involved. You can force everyone to use the same 1 thing, if you make it proprietary. If people have freedom to customize it, of course another 99 people will come along and do that. We should probably just accept this is the price of freedom. It's not as bad as it seems because you also have the freedom to make your system present like some other system in order to run programs made for that system.