Remix.run Logo
einpoklum 7 hours ago

> There is no guarantee the machine has any version of GTK or Qt installed at all, so to be self-contained

So don't be self-contained. I mean, you depend on an X server or Wayland, right? So why not depend on GTK or Qt being available?

(Of course, it _is_ tricky to be able to depend on any of several versions of these, but still.)

AlienRobot 6 hours ago | parent [-]

What I mean is that on Windows you can just ship an 100kb .exe and forget about it and it's still going to work 20 years later.

On Linux that doesn't happen. First of all you HAVE to ship the source code if you want it to keep working on every machine because people need to compile it on their machine for it to work, so you're practically forced to open source your desktop app. I know the notion of having a closed source app on Linux sounds weird, but it's more weird that this isn't an option as a side-effect of the how the whole system is designed. Second of all, even if you do ship the source code, you're going to be forced to maintain it. If you made an app in GTK 1 (which looks beautiful, by the way, compared to modern GTK), people won't be able to just install it because GTK 1 is so old that it's no longer in the repositories.

An app made in Java 8 runs in the modern VM. An app made for Windows 95 still runs on modern Windows.

It's only on Linux that I feel like the developer is pressured to open source it and make it the user's problem because the system won't provide support.

okanat 6 hours ago | parent | next [-]

I'm not defending this but there was (or has been) enough political motivation and intentionality in GNU/Linux systems to make binary compatibility a hassle. People actually made decisions against backwards compatible APIs, intending to cause issues and forcing open-sourcing.

Binary compatibility means closed source has a chance to grow in an ecosystem. It requires "responsible" developers to put more effort into designing APIs and keeping them alive. It adds complexity that requires a more stable set of long-term developers; in contrast, the constant churn in FOSS requires lower barriers for contributions. With stable APIs/ABIs you have to live with decade-long mistakes. You cannot "just fix it" in a next major bump.

Pay08 14 minutes ago | parent | prev | next [-]

This is downright misinformation. There are no 100kb Windows programs that work for 20 years. Every single program on Windows ships half of the system libraries again, just for use by itself. Microsoft couldn't be bothered to version their libc at the beginning ffs.

WINE is often somewhat jokingly called a more stable platform for Windows programs than Windows is but there's truth there.

skydhash 5 hours ago | parent | prev [-]

> First of all you HAVE to ship the source code if you want it to keep working on every machine because people need to compile it on their machine for it to work, so you're practically forced to open source your desktop app. I know the notion of having a closed source app on Linux sounds weird, but it's more weird that this isn't an option as a side-effect of the how the whole system is designed.

That's so very not true.

Most Linux distros allows for custom repositories. So you can just setup the build infrastructure on your side and then have the users include your repos on their side. No need to open source code and users have painless update notifications.

> It's only on Linux that I feel like the developer is pressured to open source it and make it the user's problem because the system won't provide support.

Lots of users have never seen the source code of their software, they just get the binary package. The pressure you're talking about is imaginary.