"Installation: we recommend that you use Docker."

what I'm supposed to see: "hey, it's a simple one-liner! Such clean install, much wow."

what I actually see: "we couldn't figure out how to install this thing on anything but our own machine, but hey, here is a well-compressed image of our entire disk, use this instead so that we can stop trying"

@ssafar That’s not that awful. There’s software with weird enough dependencies that I really don’t want to figure out how to install the dependencies properly. Granted, extremely wrong things can and do also happen (like ad-hoc patching of files in /usr/lib :blobfoxterrified:).

If the Dockerfile is clear enough, it is self-contained recipe to install/build all the dependencies and build the software, so it can even help proper packaging downstream. I’d much rather prefer a Dockerfile that I run in reproducible manner than a bunch of unmaintained instructions in a text file, even if I ultimately wanted to install or package (AUR) a tool for my own native system.


@kristof yeah, if it's a complex install, having a Dockerfile is a lot better than not having one; at least you now have _one_ way this thing can be seen working. It's also great for reproducible builds... but if the default way of installing something on your OS involves installing another OS, something might be wrong with our idea of what an OS is supposed to be :)

(I've seen projects where "non-docker" installs were in the "compiling / hacking / advanced" section...)

@ssafar I’d say a “non-docker” install could be reasonably considered “compiling / hacking / advanced” from the project’s standpoint — if I wanted to install something “natively”, but not compile it / hack on it, I’d turn to the distro I use, and not necessarily towards the upstream.

Of course, an OS where Docker is the only way to install something is probably bad (unless you consider Kubernetes an OS… ugh :blobcatglare:), but upstream projects are likely not part of any particular OS. Linking to OS packages would still be nice, though.

@kristof @ssafar kubernetes is an OS, and in that OS, Ubuntu is a library, and docker image is a statically linked executable.

It's not a particularlu good OS (eg. it has no pipes) and I don't likebhow many layers it has below it, but it's easier to think about it as an OS.

Sign in to participate in the conversation

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.