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