a. Deconfliction. They don't coexist. Whichever one happens to run first will work,
and the rest of them spew confusing messages.
b. Getting everyone on the same page. There's no need for three of these things. Who
would argue that each edition/spin needs to have their own /dev/urandom swap setup
scripts, with completely different configuration files? if swap on zram is a basic thing,
and I think it is, then users should be able to understand it, consistently, across the
distribution, and not need a secret decoder ring to figuring out how to configure it on
each edition and spin.
c. Why Rust discussed in this thread a year and a half ago. But the Rust part is not as
interesting and useful as the "is a generator" part, it's using an existing
systemd facility well suited for this purpose, and uses existing systemd function to load
the kernel module, do mkswap, and swapon, so there is a decent amount of code reuse.
d. There is a possibility systemd/zram-generator can be adopted across distributions, and
is in a position of being more upstream than the other options so far. And that makes this
even more a defacto standard and simpler for users.