Email or username:

Password:

Forgot your password?
Top-level
✧✦✶✷Catherine✷✶✦✧

@eevee @Tvorsk the underlying problem is "Linux userspace keeps breaking its ABI". there are several ways to deal with it, including "bundle almost the entire userspace or literally all of it in some cases" (snap, AppImage) or "build against an ABI that doesn't break" (wine)

I don't think anymore that shipping a relatively simple GUI application in a way that works and keeps working on a broad range of Linux systems is a task a single person can reasonably manage, which is a problem

10 comments
✧✦✶✷Catherine✷✶✦✧

@eevee @Tvorsk (or the cursed thing I did with wasm that I mentioned earlier)

my position on this issue is informed specifically by extensively using Linux and shipping Linux software. it is and will remain my primary system, and the fact that I, as a Linux developer, have an easier time shipping software to macOS and Windows is absurd.

Dag Ågren ↙︎↙︎↙︎

@whitequark @eevee @Tvorsk I mean, there is definitely something very important to learn from the fact that people are so desperate for a stable ABI and environment that they think Win32 will do, actually.

eevee 🦊

@whitequark @Tvorsk "bundle almost the entire userspace" is what half of windows software does anyway, and as you are pointing out there is infrastructure developing around doing it on linux, so i don't know why you're saying it like it's wildly unreasonable for an external binary release

eevee 🦊

@whitequark @Tvorsk but also this thread was originally about video games which often do not have any native gui whatsoever

Tvorsk

@eevee @whitequark Oh, sorry, I don't argue about function (although, having for now successfully avoided dealing with any of the snap/flat/appimage stuff I don't know how well -or not- they function), just that it feels so unlike the way unix and linux stuff been meant to be.

I totally agree the root problem is linux these days being an absolute mess of ever changing ever incompatible my-own-bikeshed projects all fighting for their own bit of control, and it must be an insane pain for the app developers to deal with that.

It shouldn't have been like that, but...

@eevee @whitequark Oh, sorry, I don't argue about function (although, having for now successfully avoided dealing with any of the snap/flat/appimage stuff I don't know how well -or not- they function), just that it feels so unlike the way unix and linux stuff been meant to be.

I totally agree the root problem is linux these days being an absolute mess of ever changing ever incompatible my-own-bikeshed projects all fighting for their own bit of control, and it must be an insane pain for the app developers...

doll!

@Tvorsk @eevee @whitequark i think the "there is one canonical system version of libfoo everything on the system uses" model is fundamentally not suitable for a general purpose OS; there will always be software that needs different versions of libfoo, and as a developer it takes too much work to test against 15 different distributions

it's like how people realized "hmm, maybe installing every python library any piece of software uses into a single global namespace was a bad idea, let's use virtualenvs"

@Tvorsk @eevee @whitequark i think the "there is one canonical system version of libfoo everything on the system uses" model is fundamentally not suitable for a general purpose OS; there will always be software that needs different versions of libfoo, and as a developer it takes too much work to test against 15 different distributions

eevee 🦊

@hierarchon @Tvorsk @whitequark that's a weird comparison since you can install multiple versions of an .so but not multiple versions of a python library

doll! replied to eevee

@eevee @Tvorsk @whitequark most distributions that I've used only let you install one version of a package; you can have libfoo3 and libfoo4, but that assumes breakage only happens on major version changes

✧✦✶✷Catherine✷✶✦✧

@eevee @Tvorsk I think it's perfectly reasonable for a binary release of software to bundle the entire userspace (and rely on the kernel's ABI and, probably, X11's stability). this has significant costs, such as "you may have to bundle nvidia's proprietary drivers and that's quite difficult" or "your software can't natively pick up wayland because you ship ancient libSDL and never update".

or you could use WinAPI as your ABI, which doesn't have those issues, but has some of its own

tef
@whitequark @eevee @Tvorsk the biggest thing i don't like about this is that if i install a distro package i know it's gone through at least minimal vetting, and if upstream did something really heinous it's more likely to be mitigated

shipping everything with its dependencies means I have to trust every individual upstream and I'm not sure some are exactly worthy of trust. not endorsing any specific solution here though because I don't know one, but
@whitequark @eevee @Tvorsk the biggest thing i don't like about this is that if i install a distro package i know it's gone through at least minimal vetting, and if upstream did something really heinous it's more likely to be mitigated

Go Up