This is an extremely bad argument. “Universal package managers are complicated” yes, true, “so everyone should build from source” no, that’s harder, and more complicated. Package managers were introduced for a reason, one of which is that it’s almost impossible to reliably uninstall software installed from source, not to mention the yak shaving operation involves when there’s dependencies.
The fundamental problem with binary package managers is that they solve the problem of “every program installed is a global variable that potentially affects the operation of the OS in non-trivial ways” by proposing a solution for globally managing any installed software, which necessarily is slow-moving and complicated.
This is not usually how users see things. Installing a web browser is fundamentally a different type of operation than upgrading the version of python used to run system scripts or replacing the window manager. Those are deep, cross-cutting concerns that affect the system and need to be synchronised.
The version of python I use for writing web applications is not a central concern and shouldn’t be treated as one.
deleted by creator
I think Drew makes some good arguments here, in particular the one about mediation and users vs developers as groups with different interests.
Not everyone has the savvy to git clone;make;make install either. If we want linux to be more common place we need something straightforward like flatpak or appimages. Most people just want apps to start reasonably fast to get work done and storage is cheap (or at least was getting cheaper) so they aren’t gonna care. It would also be easier in the phone space thats happening. Compiling on a pinephone sounds like a chore cause its not that powerful and how much battery would I use to do that? Its better to have a native package but better than nothing. For a power user it doesn’t matter, its not necessarily for us (even tho we could use it)
I wouldn’t go that far as the “guy with a computer”, for example in the case of gnu+linux phones, and gnu+linux non desktop (mobile). There are several apps needing to be adapted to the mobile form factor and touch screen, and plain lack of apps as well, that mos probably flatpak or similar are required on gnu+linux phones.
But I truly dislike the bunch of stuff one gets installed, when installing any flatpak or similar package, both, other flatpak packages, plus what each package itself carries within. It’s way bloated in my humble opinion.
As an Artix/Arch user, I prefer AUR packages, and I even prefer AUR requiring building, over the binary (*-bin) ones, so that I get system libraries being linked, and the right built packages. And only if there’s no option (mainly unavoidable proprietary/closed apps) then I go with AUR binary packages. But if only available through flatpak or similar, then I prefer looking for an alternative SW/app.
Besides the bloated way of that kind of packaging, there’s some sort of centralization. Although there are different flatpak repos, for example, there’s sort of a “central” one, where you find most of the stuff, and then you go to other repos offering some things you don’t get on the “central” one, and if you don’t like their packaging policies, then as usual, go have your own and package yourself, I’d guess… Distros, having their different policies (not just packaging ones):
- vanilla vs making many changes
- rolling release vs. periodic releases
- only free SW vs. free separated from non free vs. not caring at all
- single packages when possible vs. splitting everything when possible
- having a social sort of contract vs. not caring
- focusing on security vs. other focus
- focusing on privacy vs. other focus
- graphical installation vs. CLI installation
- toolset and tooling choices in general
- musl vs glibc
- guix vs apt vs yum vs pacman vs xbps vs …
- enterprise focused vs end users focused
- business oriented vs non profit oriented
And the divergent policies adopted by different distros grow beyond those ones. Such variety can’t be compressed into a single solution fits all. And if you’ve heard pretty influential and vocal open source guys challenging that diversity, and particularly the ability to building the SW differently, I suggest double thinking what that really means, and how that would affect different users, having divergent policies affinities. I, for example, would prefer to use gnu+guix, but given the current hw assigned to me at the office, I can’t be as free/libre SW focuses as I’d like, but I still try preferring as much free/libre SW as possible (slack and zoom are necessary evils in the office for example)…
So this reach diversity, in my mind is good and needed, and having several people building stuff is also good, since having just a few, with unique and common policies, might become dangerous…
Just another opinion, not exactly the same as the one from the “guy with a computer”, but my opinion aligns somehow with theirs.
deleted by creator
While it may take longer to install, it is much faster
took way too long to figure out what this was trying to say (also does building it yourself actually lead to binaries being noticeably faster? i always thought that was gentoo koolaid)
Faster? I don’t think so. Lighter? Yeah.
deleted by creator
This guy really managed to write a whole page on package managers without talking about UX
I disagree with the one, especially with the arguments, that I found weak.
The Article ignores some advantages of universal package mangers and ignores some shortcomings.
As others stated, building from source is not a package manager. It does not manage dependencies, it can be very tricky, it takes a lot of time. If you build from source, you have to install dependencies, often manually. Exotic languages and exotic build scripts can make compiling really time-consuming. Uninstalling is also very complicated. That’s what package managers are for.
The stated arguments are only true for free software. I use some closed source software from time to time and I would like to have it up to date.
Speed of UPAs are a problem, but it is a solvable one. It is not inherent to UPAs, that they are slow. It usually arises as trad-off from sandboxing. From a user’s perspective, I like to have sandboxed applications. AppImage applications are AFAIK not sandboxed and usually comparably fast.
From a developer’s perspective, I would like to push out updates fast and don’t rely on some package maintainers. If I publish a new version, I want that all users get that version ASAP. Debian stable release cycles are just too slow for end-user software. I am a bit envy of the fast update cycles of android play store packages. I wish this would be the new standard in terms of fastness (of pushing updates) and sandboxing.
I want to conclude with an example. GURPS Character Sheet is a software that I like to use. It did not have a fedora packge and installing via alien or compile the sources were a bit of a hassle. Thankfully the developer release an AppImage and now updating and installing is just a lot more simple.