On Wed, 02 Jul 2025 15:40:34 +0200
Ludovic Courtès <l...@gnu.org> wrote:
> > So yeah, spacecadet, if you really want to continue to package it,
> > we would add it to Guix, I don't think there's any policy in Guix
> > against it (unless their documentation or so is also part of the
> > package and includes political messages that promote any kind of
> > discrimination).
> 
> This is entirely correct.  However, as a project, we have a code of
> conduct and generally work to be inclusive, which is apparently the
> exact opposite of what this people are doing.
> 
> I think we can’t ignore it or we’d be sending the wrong signal.

This is a good point, but many people probably don't understand what it
means practically and I'd like to explain that to make sure we don't do
the wrong thing here.

To do that I'd like to add a trigger warning first because unwrapping
what all that means means looking at extremely negative things that are
not technical anymore but human issues (which are at the end of this
post).

The practical consequences and risks that could turn out to be
disastrous, depend a lot on how upstream really behaves.

For a start, I think that how upstream behaves with regard to
contributions is relevant to any downstream in general.

For instance if the maintainers take really bad technical decisions,
that also affect Guix as a downstream.

For instance they could refuse to fix security issues, refuse patches
because "ARM is not important", purposely include code that sabotage
their software when they detect it is running under Debian, include
nonfree software, have bad legal practices, etc.

Then all that affect downstream in some way, forcing the downstream
projects to take decisions and at least to discuss in some way with the
upstream project to hopefully reach some way to make things work for
everybody.

The example I gave are all real and this has led to discussions inside
downstream distributions (especially Debian) and sometimes even to forks
if the matter could not be resolved. These discussions also take time
and energy from the contributors.

Here I didn't verify the allegations against Xlibre, and I'm more
concerned about the general issue: basically software with
extremely toxic maintainership (more on what it means below, 
between the trigger warnings).

The problem is that that kind of software makes it in Guix, it would
push Guix users and contributors to interact with its upstream in
some way, to fix this or that issue, especially when it affects Guix
(for instance fix a compilation issue with a newer compiler, etc). And
if upstream is extremely toxic that could have disastrous consequences
for these contributors.

And this happened to me multiple times: I contributed to upstream to
fix issues I had in Guix, and once I was even very strongly pushed by
Guix to do so (with adl-submit) and became (co-)maintainer of the
project because of that. And in these cases the maintainers were nice.

And we definitely don't want to push contributors to interact with
projects that are known to be extremely toxic, so when there are
strong allegations like the ones that were reported earlier in this
thread, if they are true, the risk of having extremely toxic
maintainership is extremely high, especially if there are not
safeguards against toxic behavior.

And the problem here is that if upstream behave in an extremely toxic
way and if a fork is made, it will also push the people who are
responsible of the fork to have to interact with upstream, which again
raises the same issues.

And if the fork is abandoned because upstream is way too toxic, it
creates again the same issues.

And if people go their own ways (like re-implement the project with
extremely toxic maintainership from scratch) instead of simply forking
it, the alternative project will needs to be very robust not to push
people toward the original project if the alternative fails.

So all that are good reasons to stay as far as possible from this mess.

/!\ Trigger warning /!\

This is especially the case because I don't see anyway to give
guarantees that extremely bad things won't happen.

Usually the guarantees are not that great as some maintainers are
difficult to work with, while other are really nice, so it depends a
lot on the maintainers or how well they feel and the interactions
themselves (which depend on the people and on a lot of things). There
are also a lot of different opinion and feelings on that.

But here we are talking about maintainers specifically discriminating
people in very violent ways, during their role as a maintainer, so we
probably all agree that this is way too dangerous, and that this is
bad, and that it needs to be avoided. 

I assume we all agree here because the only discussion here was if we
could package the software maintained by such people, not if the
behavior of these people was justified in some way.

And given that I've shown that there is a risk that people contributing
to Guix could be exposed to such maintainers, I think that we should
avoid this risk as much as possible.

Burning contributors or being in part responsible for their suicide
is not a good thing. Having the contributors back and/or giving the
right signal here would help avoiding these extremely bad consequences.

Pushing contributors to interact with extremely toxic upstream would
have the opposite effect. The way the support network of affected people
behave (having their back or the opposite) has huge consequences on the
outcome and/or the well being of contributors (many of which can be
close to burnout already (it's a common issue in FLOSS)).

/!\ End trigger warning /!\

In contrast if an upstream is simply not responsive, don't care about
"ARM support", or even sabotage their software, we can still discuss
with them, or if they don't reply, act accordingly by patching their
software or trying to gather volunteers from many distributions to
fork the software that is not maintained anymore. If upstream includes
nonfree software or has dubious legal practices we can often patch that
away. All these are dealt with.

Discriminatory upstream on the other hand is a problem that looks
different as many of the ways we use to deal with disagreements
with upstream as downstream simply don't work anymore ("send a
patch" is not as simple anymore as it also depends on what individual
sends the patch and not on the patch content or purpose).

And personally what matters to me is not necessary the outcome of
Xlibre or even the specifics on how to deal with software that has
extremely toxic maintainership but rather that we have each other's back
and not engage in direct or indirect discrimination or attacks of each
other when we are in the same boat.

For instance if a way I didn't think of is found to make the
discrimination go away in a reliable way, that would also work for me
(there could be more than one way to do it).

Denis.

Attachment: pgpEv5J4fCA9m.pgp
Description: OpenPGP digital signature

Reply via email to