On 6/9/25 10:55 PM, Quentin Michaud wrote:
The (more generic) questions are the following: under which criteria do we want to accept multiple "similar" packages in official repos or replace one by another? Do we want to fix (or already have) rules or guidelines for these situations or do we want to proceed on a case-by- case basis?
I think this should be up to the packager maintainer's discretion, and if the software is relevant enough (but that's difficult to quantify).
- Hard fork of a project but projects are very close / are trying to stay compatible. Examples : redis (AUR) / valkey (extra), terraform (extra) / opentofu (extra) - Soft fork of a project aiming at adding / removing functionalities using patches. Examples : vscode (extra) / vscodium (AUR), firefox (extra) / librewolf (AUR) and other Firefox forks - Rewrite of a project but aiming to achieve the exact same goals / drop-in replacement : Examples: sudo (core) / sudo-rs (extra), coreutils (core) / uutils (extra). This category is tricky because the definition of "exact same goals" is unclear, but I exclude software that implement common standards but that are vastly different in practice, such as docker / podman or openssh / dropbear. This is more relevant to the "replace one by another" part, as Ubuntu did recently with sudo [4].
I think all projects mentioned would be suitable for [extra] if somebody is willing to take the responsibility of maintaining them (note however browsers need a lot of special attention, due to the urgency of security updates, and upstream should have a good track-record in doing so, i.e. "no toy browsers"). We also have libtorrent and libtorrent-rasterbar for example, somebody felt like we should have both and nobody took issue. What wouldn't qualify, in my opinion, would be "it's the exact same software but with one Github issue patched that upstream is unresponsive about". Also "the less relevant the software and it's fork, the better the reason needs to be". Furthermore, I think Arch Linux is mostly providing "unopinionated building blocks"[1], so if there's two relevant solutions both of them would be available and it's up to me to decide which one of them I want for my computer. For uutils that happens to be difficult, I've filed an issue upstream in the hopes of moving this forward and one could opt-in through $PATH: https://github.com/uutils/coreutils/issues/8029 cheers, kpcyrd [1]: "a documentation project of the opensource ecosystem, about what the source code is and how to compile it, that also happens to provide pre-compiled binaries", if you will