Egregoros

Signal feed

Timeline

Post

Remote status

Context

2

@phnt

>dockerslop

For interpretable programming languages (e.g. Python), non-docker setups may be too difficult to maintain so developers simply don't bother. Any OS update on the user side may break their setup. Any library update on the maintainer side may break some user's setup. It never ends.

@silverpill @phnt "here's the docker file" being the only supported method is what you end up with when linux is overtly hostile to stability and people have real work to do. companies especially just targeted cent or ubuntu lts and said good luck. nobody wants to futz with arch's rolling bullshit or various distros bikeshedding.

clean enough docker files basically are the install instructions, so there's also that.

(apptainer build scripts are literal bash scripts with some light metadata in comments.)

Replies

13
@icedquinn @silverpill You don't have to ship prebuilt binaries only, I've specifically talked about that at the end. Instead write guides on how to compile and install your project on other OSes specifically due to universal binaries being almost impossible to do on Linux. Pleroma only ships Alpine and Ubuntu (technically might run on newest debian as well) prebuilt bundles and a docker image. But it also has guides for source installs on OpenBSD/FreeBSD and previously had NetBSD as well (removed due to lack of maintenance from anybody and inaccuracies). And you can run Pleroma on Haiku, Hurd and SunOS, if you are a little adventurous.

The shipping binaries excuse is nothing more than that, an excuse. And if your project is so hard to compile manually that Docker is the only option, you've already failed.
@icedquinn @silverpill @sun That is fine as long as it is actually doable without loosing one's hair. My take in Pleroma if you want install guides for other OSes is also "PRs welcome and as long as you'll maintain it in the future". Mostly because I can't run three different instances on three different OSes and test them out all the time.
@phnt @icedquinn @silverpill @sun how do you say "i refuse to read a dockerfile and then try to translate the package commands or whatever into the OS that I'm wanting to use" and then also talk about the maintenance burden of maintaining these OS guides (not even going into all the issues where you need to debug every user's custom OS and setup quirks. they're the same problem, the lack of dockerfile instructions is the filter. I would 1000% rather inspect and use a dockerfile that is validated to actually work because people use it rather than outdated custom OS install instructions that end up not working because of updates or whatever
@shibao @icedquinn @silverpill @sun
>how do you say "i refuse to read a dockerfile and then try to translate the package commands or whatever into the OS that I'm wanting to use"

I didn't say that.

>and then also talk about the maintenance burden of maintaining these OS guides

It's called a trade-off for user experience. One may not want to install Docker, one may want to use prebuilt OTP bundles (even thought they are a clusterfuck thanks to glibc), or simply install from source because they want to HACK ON SOFTWARE THEY USE. It's called options.

>(not even going into all the issues where you need to debug every user's custom OS and setup quirks.

I've been doing 1-800-PLEROMA support for over 2 years. Never had I need to do that outside of maybe asking 2 questions and giving an answer within 10 minutes. This is a mostly non-existent issue if you deliberately only support sane-ish OSes. It's the reason why I dropped the Arch source install guide, because I don't want to debug a rolling release where something can change any day. If you want to run Arch, there's been a barely known Docker image for that for years. I might even write an install guide on how to use that image some day. It's also the reason why I didn't bother writing a Fedora/RHEL source install guide despite literally running that OS, supporting it properly means updating my SELinux policies and I don't want to do that every 6 months.
@phnt @silverpill @sun i have actually tried to do something like that in the past. some of the CIs support matrix testing.

though when i eventually return to dealing with GUIs its harder to get CIs to do that. you end up having to finagle openQA or something with taskcluster.

i'm also the blob who tends to post about coming up with fingerprint tools to check if the docs page has fallen out of date, too, so i'd be weary still.