Subject: Re: bug#38360: Retroarch does violate FSDG

From: Arne Babenhauserheide <[email-masked]>
Date: Thu, 28 Nov 2019 11:06:44 +0100

Tobias Geerinckx-Rice via Bug reports for GNU Guix <[email-masked]> writes:

> Guix,
>
> This is not about Schrödinger's proprietary-until-proven-innocent
> binary.  The Updater includes at least two cores explicitly marked as
> non-free in Debian:
>
>  libretro-genesisplusgx
>  libretro-snes9x

In non-free because they are non-commercial, not because they
treacherous to users.

This is a distinction the FSF used to make until 2010 but dropped since then:
https://web.archive.org/web/20100126044451/http://www.gnu.org/philosophy/categories.html#semi-freeSoftware

> Disabling the Updater seems like an open & shut case to me.
>
> This is a shame, because I think these non-commercial clauses are
> silly and legally void.  Core authors can't place arbitrary
> restrictions on derivative works of a GPL3 project. Unfortunately,
> that obvious fact is for a court to point out, and until then we must
> act as if it makes any sense.

Retroarch is not a derivative work of the cores. There is an API-layer
between both.

This is similar to a PDF which can place restrictions on what I can do
with a PDF-viewer *while viewing that PDF*. For example I’m not allowed
to charge money for displaying a PDF for which I don’t have commercial
use rights.

(since PDFs can have Javascript embedded, this even applies when we have
a strict discussion about programs)

> Arne, to address your last point first:
>
> Arne Babenhauserheide 写道：
>> It is also not advertised (I just tried) but simply one in a long
>> list of possible cores. A very long list. And you have to actively do
>> the online-lookup.
>
> For the purpose of this (FSDG) discussion, that's exactly what
> ‘advertised’ means.
>
> I install Retroarch with Guix.  When I run Retroarch, it prods me to
> (literally) ‘use the Updater if available’.  When I do that, I can
> select from many cores, at least two of them non-free.
> There is no way for me to know this important fact; I have to type the
> name of the core into a search engine and dig, possibly deep (not
> everyone knows the awesome power of a Debian copyright file :-).

Look at what happens when you have at least one core installed: It shows
you the core with a line for the license (but that says N/A for snes9x,
which is likely a bug).

If we pre-install free cores, then these are what will be shown first.

And different from browser-add-ons, they are not run until you start
them — before which you see the license (barring the N/A bug).

> You're not required to agree with any of the above, but Guix must.

If the license-info line is fixed, then not: You are then clearly
informed of the license *before* you run the core.

>> We’re not restricting software which displays non-free online comics
>> either.
>
> Indeed, that would be against our stated goal of user freedom.
>
> Comics aren't software so don't count

I disagree, but that’s a personal opinion which is not mainstream in GNU.

>> Aren’t we overblocking here? This is not a case of a program
>> restricted
>> to push someone into proprietary software, but a case of a program
>> restricted to not-for-profit for everybody.
>
> It's just as bad for the same reason.

It is not *just as* bad. If I can choose between a
closed-source-likely-spies-on-you-and-you-cannot-do-anything-about-it
tool and a
you-can-see-and-fix-everything-but-noone-can-earn-money-with-it tool,
the latter is clearly better.

Not sufficiently good for inclusion in a free distribution, but in my
opinion also not bad enough to censor from lists.

> That violates a fundamental software freedom (#0: the freedom to run
> the software as you wish, for any purpose).
>
> Contrast this with the GPL, which places zero restrictions on use — I
> don't even have to share the software or my improvements with anyone!

This is not true for the AGPL, because that places the restriction that
you have to provide the source you’re running.

That’s a restriction I like, because it prevents circumvention of the
GPL, but it is a restriction.

The non-commercial clause for emulators was added because otherwise
they would have been struck down.

>> It is a similar case as allowing to ship GPLv3 software in a ROM
>> without
>> the option to modify it, as long as no one is able to modify it on
>> that
>> medium, including the propagator.
>
> I don't see any similarities.  With any GPL3 software, I am always
> allowed to copy the software and do with it what I want, no matter the
> underlying storage at some point in time.

In that case you cannot in practice do with it what you want, because
you cannot run a modified version on your device.

The important distinction is, that the creator cannot do so either.

And this is the symmetry which is also preserved with the non-commercial
cores.

I’m not arguing to include snes9x in Guix, just that this isn’t a case
where redaction of information is needed — if we package the free cores.

Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein
ohne es zu merken