Subject: Re: [bug#35234] [PATCH] gnu: Add the-dark-mod.

From: Ricardo Wurmus <[email-masked]>
Date: Mon, 22 Apr 2019 11:19:21 +0200

Pierre Neidhardt <[email-masked]> writes:

> Ludovic Courtès <[email-masked]> writes:
>
>> Thoughts?
>>
>> Now, I would hope that the free game engine could serve as the basis for
>> a free game, with free game data as well.
>
> Absolutely.  Technically all those engines can be re-used for
> fully-free game development.
>
> There is a blurred line however between the means and the ends here.
> For instance, lots of packages we have in Guix can be used to deal with
> some proprietary data, from web browsers to video players, you name it.
>
> My take at this issue is that free game engines are a first step towards
> liberating the video game industry further.  If we don't allow the
> opportunity for free game engines in the first place, free game data
> will never be worked on.

This is a separate issue.  There is no objection to providing free game
engines.

This is how we got here:

--8<---------------cut here---------------start------------->8---
>>> First: what game engines do we provide that can only be used with
>>> proprietary game data?
>>
>> OpenMW, Arx Libertatis, OpenRCT2, off the top of my head.
>
> Hmm, that’s not good then.  I think we should take a closer look at them
> to decide whether they should be removed.
>
> The description of Arx Libertatis says this:
>
>    Arx Libertatis is a cross-platform, open source port of Arx Fatalis,
>    a 2002 first-person role-playing game / dungeon crawler developed by
>    Arkane Studios.  This port however does not include the game data, so
>    you need to obtain a copy of the original Arx Fatalis or its demo to
>    play Arx Libertatis.[…]
>
> Aside from the “open source” mention I don’t think it’s right for us to
> recommend that users obtain a copy of a proprietary game.

The “you need to obtain a copy…” bit is problematic because it refers to
non-free software.
--8<---------------cut here---------------end--------------->8---

The package claims to provide a game, not a game engine.  As a user I
would install this only to be told that I need to obtain proprietary
software (i.e. the game or the demo) to play this.  This is steering
people to seek out and use proprietary software.

We should change the package so that it conveys the right message,
either by making it clear that this is not a game but the game engine,
or by including the game data.  Even if the data are non-functional they
must be redistributable.  If they are not then we cannot include the
game data and it would be highly misleading to call the package after
the game.

> The Dark Mod is fully free, the game data is under some CC, so I'll
> commit the package if there is no objection.

Please hold off on pushing this package until we reach an agreement.  My
original objection was this:

--8<---------------cut here---------------start------------->8---
> * gnu/packages/games.scm (the-dark-mod): New variable.
[…]
> +      (synopsis "Game based on the Thief series by Looking Glass Studios")
> +      (description (format #f "The Dark Mod (TDM) is stealth/infiltration game
> +based on the Thief series by Looking Glass Studios.  Formerly a Doom III mod,
> +it is now released as a standalone.
> +
> +The game data must be fetched manually by running @command{tdm_update}.
> +The ~a environment variable specifies the location where the game data is
> +saved (defaults to ~a)."
> +                           the-dark-mod-env-var-name the-dark-mod-env-var-value))

Is this actually free software?  Does it depend on the proprietary Thief
game data to be playable?  What is the purpose of tdm_update?
--8<---------------cut here---------------end--------------->8---

I don’t think it’s good to have people run the tdm_update tool, because
this smells like the anti pattern seen for many games in other
distributions where you really only install a downloader, which then
fetches the (potentially non-free) game data.

The game data are free in this case, but since this is provided by an
unversioned URL it might not be when a user runs the command.  I prefer
to include a snapshot of the game data.

--
Ricardo