* FSDG issues of SCUMMVM-based games
@ 2022-08-06 4:59 Liliana Marie Prikler
2022-08-06 6:36 ` Tobias Geerinckx-Rice
` (2 more replies)
0 siblings, 3 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-08-06 4:59 UTC (permalink / raw)
To: guix-devel
Hi Guix,
The packages
- drascula,
- lure,
- queen, and
- sky
all share issues that make me question whether they should be in Guix.
1. Their license explicitly prohibits selling of the games themselves
and may thus be qualified as non-free.
2. The "sources" consist of binaries that are installed as-is.
Given the above, I think we ought not distribute them. Note that this
is not a statement on SCUMMVM itself, but only the packages built with
it.
WDYT?
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-06 4:59 FSDG issues of SCUMMVM-based games Liliana Marie Prikler
@ 2022-08-06 6:36 ` Tobias Geerinckx-Rice
2022-08-06 14:41 ` Tobias Geerinckx-Rice
2022-08-07 12:52 ` Christine Lemmer-Webber
2022-08-06 15:24 ` Maxime Devos
2022-08-24 12:53 ` Nicolas Goaziou
2 siblings, 2 replies; 26+ messages in thread
From: Tobias Geerinckx-Rice @ 2022-08-06 6:36 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 805 bytes --]
Hi Liliana,
Liliana Marie Prikler 写道:
> The packages
> - drascula,
[…]
> 1. Their license explicitly prohibits selling of the games
> themselves
> and may thus be qualified as non-free.
Yep, it's pretty explicit, and I agree that it's an unreasonable
restriction that makes the software non-free.
> 2. The "sources" consist of binaries that are installed as-is.
Wow, you weren't kidding. Of the 1145(!) or 63 MiB(!) of files,
literally not one is source code.
At best, the archive contains 3 ‘text’ files: one with only
numbers, one with only asterisks, and one with only blank lines.
> - lure,
> - queen, and
> - sky
I didn't check these, but I believe you if you say they're just as
bad.
I see no way to keep these in Guix.
Thanks!
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-06 6:36 ` Tobias Geerinckx-Rice
@ 2022-08-06 14:41 ` Tobias Geerinckx-Rice
2022-08-07 12:52 ` Christine Lemmer-Webber
1 sibling, 0 replies; 26+ messages in thread
From: Tobias Geerinckx-Rice @ 2022-08-06 14:41 UTC (permalink / raw)
Cc: Liliana Marie Prikler, guix-devel
[-- Attachment #1: Type: text/plain, Size: 459 bytes --]
I've sent an e-mail to the FSF licencing department asking for
their guidance on the matter. I erred on the side of netiquette
caution and didn't CC this list.
Either the inclusion of [a subset of] Drascula in Trisquel[0] is a
similar oversight, or we're missing some legal subtlety.
I'm hoping for the latter, as I'd hate to see old art become less
accessible.
Kind regards,
T G-R
[0]: https://packages.trisquel.info/hu/nabia/all/drascula/filelist
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-06 4:59 FSDG issues of SCUMMVM-based games Liliana Marie Prikler
2022-08-06 6:36 ` Tobias Geerinckx-Rice
@ 2022-08-06 15:24 ` Maxime Devos
2022-08-06 17:00 ` Liliana Marie Prikler
2023-06-15 16:30 ` Denis 'GNUtoo' Carikli
2022-08-24 12:53 ` Nicolas Goaziou
2 siblings, 2 replies; 26+ messages in thread
From: Maxime Devos @ 2022-08-06 15:24 UTC (permalink / raw)
To: Liliana Marie Prikler, guix-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 870 bytes --]
On 06-08-2022 06:59, Liliana Marie Prikler wrote:
> 2. The "sources" consist of binaries that are installed as-is.
The credits of ScummVM state that the source code is available for
Drascula[0]
[0] https://docs.scummvm.org/en/latest/help/credits.html: Emilio de Paz
Aragón from Alcachofa Soft for sharing the source code of Drascula: The
Vampire Strikes Back with us and his generosity with freewaring the game.
Maybe that only covered the engine and not the game bytecode though ...
I don't think bytecode falls under the 'non-functional data' exception
of the FSDG, because code (the sprites, backgrounds and sound are
another matter).
As such, I agree they should not be distributed (unless the actual
sources are found, but even then there is (1.)), as per the first
sentence of ‘(guix)GNU Distribution’.
Greetings,
Maxime.
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-06 15:24 ` Maxime Devos
@ 2022-08-06 17:00 ` Liliana Marie Prikler
2023-06-15 16:30 ` Denis 'GNUtoo' Carikli
1 sibling, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-08-06 17:00 UTC (permalink / raw)
To: Maxime Devos, guix-devel
Am Samstag, dem 06.08.2022 um 17:24 +0200 schrieb Maxime Devos:
> On 06-08-2022 06:59, Liliana Marie Prikler wrote:
>
> > 2. The "sources" consist of binaries that are installed as-is.
>
> The credits of ScummVM state that the source code is available for
> Drascula[0]
>
> [0] https://docs.scummvm.org/en/latest/help/credits.html: Emilio de Paz
> Aragón from Alcachofa Soft for sharing the source code of Drascula:
> The Vampire Strikes Back with us and his generosity with freewaring the
> game.
>
> Maybe that only covered the engine and not the game bytecode though
While that does mean that ScummVM folks have the source, it is not what
they distribute:
Archive: /gnu/store/wn9043a134dai59shxss6byrlfj2pp9x-drascula-1.0.zip
Length Date Time Name
--------- ---------- ----- ----
32847563 05-11-2008 08:38 Packet.001
46080 05-11-2008 08:38 drascula.doc
2871 08-31-2008 03:29 readme.txt
--------- -------
32896514 3 files
Also note the difference between freeware and free software.
Cheers
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-06 6:36 ` Tobias Geerinckx-Rice
2022-08-06 14:41 ` Tobias Geerinckx-Rice
@ 2022-08-07 12:52 ` Christine Lemmer-Webber
1 sibling, 0 replies; 26+ messages in thread
From: Christine Lemmer-Webber @ 2022-08-07 12:52 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: Liliana Marie Prikler, guix-devel
I thought I remembered that "Beneath a Steel Sky" was released by its
authors under GPLv2 to some applause back in the day. I remember that's
why I installed and played it...
It's mentioned here at least:
https://en.wikipedia.org/wiki/Beneath_a_Steel_Sky#Freeware_release_and_Remastered_edition
Tobias Geerinckx-Rice <me@tobias.gr> writes:
> [[PGP Signed Part:Undecided]]
> Hi Liliana,
>
> Liliana Marie Prikler 写道:
>> The packages
>> - drascula,
>
> […]
>
>> 1. Their license explicitly prohibits selling of the games
>> themselves
>> and may thus be qualified as non-free.
>
> Yep, it's pretty explicit, and I agree that it's an unreasonable
> restriction that makes the software non-free.
>
>> 2. The "sources" consist of binaries that are installed as-is.
>
> Wow, you weren't kidding. Of the 1145(!) or 63 MiB(!) of files,
> literally not one is source code.
>
> At best, the archive contains 3 ‘text’ files: one with only numbers,
> one with only asterisks, and one with only blank lines.
>
>> - lure,
>> - queen, and
>> - sky
>
> I didn't check these, but I believe you if you say they're just as
> bad.
>
> I see no way to keep these in Guix.
>
> Thanks!
>
> T G-R
>
> [[End of PGP Signed Part]]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-06 4:59 FSDG issues of SCUMMVM-based games Liliana Marie Prikler
2022-08-06 6:36 ` Tobias Geerinckx-Rice
2022-08-06 15:24 ` Maxime Devos
@ 2022-08-24 12:53 ` Nicolas Goaziou
2022-08-24 18:44 ` Liliana Marie Prikler
2 siblings, 1 reply; 26+ messages in thread
From: Nicolas Goaziou @ 2022-08-24 12:53 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: guix-devel
Hello,
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> The packages
> - drascula,
> - lure,
> - queen, and
> - sky
> all share issues that make me question whether they should be in Guix.
>
> 1. Their license explicitly prohibits selling of the games themselves
> and may thus be qualified as non-free.
> 2. The "sources" consist of binaries that are installed as-is.
>
> Given the above, I think we ought not distribute them. Note that this
> is not a statement on SCUMMVM itself, but only the packages built with
> it.
>
> WDYT?
For the record, I added these games because I agree with Debian
packagers on the topic. See
<https://metadata.ftp-master.debian.org/changelogs//main/d/drascula/drascula_1.0+ds4-1_copyright>.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-24 12:53 ` Nicolas Goaziou
@ 2022-08-24 18:44 ` Liliana Marie Prikler
2022-08-24 20:24 ` Vagrant Cascadian
2022-08-24 20:24 ` zimoun
0 siblings, 2 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-08-24 18:44 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: guix-devel
Am Mittwoch, dem 24.08.2022 um 14:53 +0200 schrieb Nicolas Goaziou:
> Hello,
>
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
>
> > The packages
> > - drascula,
> > - lure,
> > - queen, and
> > - sky
> > all share issues that make me question whether they should be in
> > Guix.
> >
> > 1. Their license explicitly prohibits selling of the games
> > themselves and may thus be qualified as non-free.
> > 2. The "sources" consist of binaries that are installed as-is.
> >
> > Given the above, I think we ought not distribute them. Note that
> > this is not a statement on SCUMMVM itself, but only the packages
> > built with it.
> >
> > WDYT?
>
> For the record, I added these games because I agree with Debian
> packagers on the topic. See
> <
> https://metadata.ftp-master.debian.org/changelogs//main/d/drascula/drascula_1.0+ds4-1_copyright
> >.
This statement seems to contradict itself.
> The data included in the source package represents the preferred form
> for modifications.
> If they were licensed under the G P L it would fail the "preferred
> form of modification" requirement
As far as I'm concerned, "preferred form of modification" should not be
dependant upon the license in question. Speaking of the license in
question, it's prohibition of selling is nowhere mentioned.
Cheers
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-24 18:44 ` Liliana Marie Prikler
@ 2022-08-24 20:24 ` Vagrant Cascadian
2022-08-24 21:31 ` Maxime Devos
2022-08-24 20:24 ` zimoun
1 sibling, 1 reply; 26+ messages in thread
From: Vagrant Cascadian @ 2022-08-24 20:24 UTC (permalink / raw)
To: Liliana Marie Prikler, Nicolas Goaziou; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 3196 bytes --]
On 2022-08-24, Liliana Marie Prikler wrote:
> Am Mittwoch, dem 24.08.2022 um 14:53 +0200 schrieb Nicolas Goaziou:
>> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
>>
>> > The packages
>> > - drascula,
>> > - lure,
>> > - queen, and
>> > - sky
>> > all share issues that make me question whether they should be in
>> > Guix.
>> >
>> > 1. Their license explicitly prohibits selling of the games
>> > themselves and may thus be qualified as non-free.
>> > 2. The "sources" consist of binaries that are installed as-is.
>> >
>> > Given the above, I think we ought not distribute them. Note that
>> > this is not a statement on SCUMMVM itself, but only the packages
>> > built with it.
>> >
>> > WDYT?
>>
>> For the record, I added these games because I agree with Debian
>> packagers on the topic. See
>> <
>> https://metadata.ftp-master.debian.org/changelogs//main/d/drascula/drascula_1.0+ds4-1_copyright
>> >.
> This statement seems to contradict itself.
>> The data included in the source package represents the preferred form
>> for modifications.
>> If they were licensed under the G P L it would fail the "preferred
>> form of modification" requirement
> As far as I'm concerned, "preferred form of modification" should not be
> dependant upon the license in question.
Is it Functional Data:
https://www.gnu.org/distros/free-system-distribution-guidelines.html
"For example, some game engines released under the GNU GPL have
accompanying game information—a fictional world map, game graphics,
and so on—released under such a verbatim-distribution license. This
kind of data can be part of a free system distribution, even though
its license does not qualify as free, because it is non-functional."
> Speaking of the license in question, it's prohibition of selling is
> nowhere mentioned.
It is mentioned in the above link:
"2) You may charge a reasonable copying fee for this archive, and may
distribute it in aggregate as part of a larger & possibly commercial
software distribution (such as a Linux distribution or magazine coverdisk).
You must provide proper attribution and ensure this Readme and all
associated copyright notices, and disclaimers are left intact.
.
3) You may not charge a fee for the game itself. This includes reselling the
game as an individual item."
You cannot sell the game itself, but you can charge "a reasonable
copying fee" and distribute it commercially... while slightly confusing
and seemingly contradictory at a passing glance, those two clauses alone
do not appear to violate any of the four freedoms to me:
https://www.gnu.org/philosophy/free-sw.html#four-freedoms
I'm not really sure you have the right to "sell" most software in GNU
Guix, but you're free to distribute it and even charge for the
distribution of it, and use it in products that you sell to customers.
Most licenses do not give you ownership of the software; they roughly
give you permission to use, study, modify, and share it under the terms
of that license. If you do not own it, I am not sure you can sell it...
live well,
vagrant
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-24 18:44 ` Liliana Marie Prikler
2022-08-24 20:24 ` Vagrant Cascadian
@ 2022-08-24 20:24 ` zimoun
2022-08-24 21:48 ` Maxime Devos
2022-08-24 22:08 ` Tobias Geerinckx-Rice
1 sibling, 2 replies; 26+ messages in thread
From: zimoun @ 2022-08-24 20:24 UTC (permalink / raw)
To: Liliana Marie Prikler, Nicolas Goaziou; +Cc: guix-devel
Hi Liliana,
(I have no opinion about this topic.)
Your quote is:
>> The data included in the source package represents the preferred form
>> for modifications.
>> If they were licensed under the G P L it would fail the "preferred
>> form of modification" requirement
but from the mentioned link [1], the quote includes a _but_:
--8<---------------cut here---------------start------------->8---
If they
were licensed under the G P L it would fail the "preferred form of
modification" requirement, but its BSD-like license grants you all the
necessary rights to modify, use and distribute them.
.
While there likely was, once upon a time, a custom set of tools to create this
game data, those tools do not exist any more. The original creators of the
game are in the same situation as Debian's users when it comes to
modifications.
.
Also, the reason for requiring the "preferred form for modification" is to not
put the creator of the software/data in a "monopoly" situation. This isn't the
case here.
--8<---------------cut here---------------end--------------->8---
> As far as I'm concerned, "preferred form of modification" should not be
> dependant upon the license in question. Speaking of the license in
> question, it's prohibition of selling is nowhere mentioned.
My understanding of the Debian argument is:
1. the licence is BSD-like respecting the Debian Free Software Guidelines
2. point #3 of DFSG [2] says «The license must allow modifications and
derived works, and must allow them to be distributed under the same
terms as the license of the original software.»
3. considering game data, all people are equals – from original author
to users – because the tool set for modifying these game data does not
exist anymore
Therefore, drascula is part of the ’main’ Debian archive, scummvm too.
Tobias wrote [3]:
Either the inclusion of [a subset of] Drascula in Trisquel[0] is
a similar oversight, or we're missing some legal subtlety.
so maybe some legal subtlety is indeed missed. Let wait an answer by
FSF licensing department… if any. :-)
1: <https://metadata.ftp-master.debian.org/changelogs//main/d/drascula/drascula_1.0+ds4-1_copyright>
2: <https://www.debian.org/social_contract#guidelines>
3: <https://yhetil.org/guix/87iln5a0u9@nckx>
Cheers,
simon
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-24 20:24 ` Vagrant Cascadian
@ 2022-08-24 21:31 ` Maxime Devos
0 siblings, 0 replies; 26+ messages in thread
From: Maxime Devos @ 2022-08-24 21:31 UTC (permalink / raw)
To: Vagrant Cascadian, Liliana Marie Prikler, Nicolas Goaziou; +Cc: guix-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 5985 bytes --]
On 24-08-2022 22:24, Vagrant Cascadian wrote:
> Is it Functional Data:
>
> https://www.gnu.org/distros/free-system-distribution-guidelines.html
>
> "For example, some game engines released under the GNU GPL have
> accompanying game information—a fictional world map, game graphics,
> and so on—released under such a verbatim-distribution license. This
> kind of data can be part of a free system distribution, even though
> its license does not qualify as free, because it is non-functional."
SCUMMVM, among other things, interprets the bytecode of the games (see: VM).
A long time ago, I looked at the Debian package of one of the games, and
there appeared to be only a single 'game' file IIRC, presumably this
includes the bytecode.
Bytecode is code and hence functional, if 'functional' is interpreted in
the narrow sense of 'it does a practical job'.
As such, I do not think this falls under 'non-functional data'
---
That paragraph also appears inconsistent to me. The world map, game
graphics, sounds ... are one of the most important components of the
game. If someone wants to modify the game, I consider it more likely
they have to modify the world map and maybe add some graphics and sounds
than that they have to change the engine. Seems pretty 'functional' to
me. It also does a practical job: entertaining the user.
As such, it appears to me that if the ‘meh, it's non-functional data’ is
non-free, then the game is effectively non-free ---- software does not
just consist of code, the non-code parts are sometimes as important as
the code or more important -- they belong together, as a whole.
Myself, being able to code but not good at art, I would rather have a
non-free game engine with free non-functional data than the free game
engine with non-free non-functional data that the FSDG refers to, at
least I would with a sufficient amount of work (*) be able to replace
the non-free engine, but don't ask me to replace the artwork ...
(*) and some assistance, depending on the size and complexity.
---
Another thing I would like to note is that, even if it were
non-functional data, according to (guix)Software Freedom everything in
Guix is free software:
> The GNU operating system has been developed so that users can have
> freedom in their computing. GNU is “free software”, meaning that users
> have the four essential freedoms
> (https://www.gnu.org/philosophy/free-sw.html): to run the program, to
> study and change the program in source code form, to redistribute exact
> copies, and to distribute modified versions. Packages found in the GNU
> distribution provide only software that conveys these four freedoms.
(I'm interpreting 'GNU operating system' and 'GNU distribition' as
'Guix' here.)
That paragraph, and the web page referred to there does not make an
exception for non-functional data -- if it's software, the 4 freedoms
should apply, this is usually code but the freedoms and the reasons for
them apply to software in general, not for code in specific.
To me, it appears that the SCUMMVM games cannot be in Guix, because of
that rule.
It is, however, contradicted by the following paragraph, which is also a
bit misleading:
> In addition, the GNU distribution follow the free software
> distribution guidelines
> (https://www.gnu.org/distros/free-system-distribution-guidelines.html).
> Among other things, these guidelines reject non-free firmware,
> recommendations of non-free software, and discuss ways to deal with
> trademarks and patents.
I consider it contradictory in the sense that it adds exceptions to the
'software must be free' claimed by the the previous paragraph, without
being explicit that there are exceptions (see: non-functional data). I
consider it misleading in the sense that the phrasing implies it just
adds a bit of rules (on top of the 4 freedoms thing) and advise on
potential legal problems, even though it also carves out a few
exceptions (see: non-functional data).
> You cannot sell the game itself, but you can charge "a reasonable
> copying fee" and distribute it commercially... while slightly confusing
> and seemingly contradictory at a passing glance, those two clauses alone
> do not appear to violate any of the four freedoms to me:
>
> https://www.gnu.org/philosophy/free-sw.html#four-freedoms
While initially I thought of it as 'a no-selling clause ->
non-commercial only -> non-free', after your explanation I agree -- it
does not appear to have the potential problems referred to in 'Free
software can be commercial' and there is no explicit 'The freedom to
sell software.'.
> I'm not really sure you have the right to "sell" most software in GNU
> Guix, but you're free to distribute it and even charge for the
> distribution of it, and use it in products that you sell to customers.
>
> Most licenses do not give you ownership of the software; they roughly
> give you permission to use, study, modify, and share it under the terms
> of that license. If you do not own it, I am not sure you can sell it...
Agreed, though myself I am considering this from another perspective --
everything in Guix is gratis ('free' in the commerce sense), usually it
appears that upstream _wants_ it to be available at zero-cost though
maybe I'm projecting here, so to me attempts to sell the software would
appear to be a scam to me, with some exceptions (*).
Some scams being illegal, maybe this one would be too, and hence no
right to 'sell' the software ...
(*) E.g., sometimes you can 'buy' a license to the software but what it
really means is that you are paying the developers to keep working on
that software -- in case of tome4, it's even explicitly named a donation
instead of buying. I do not recall an example where it was phrased as
buying though ...
Greetings,
Maxime.
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-24 20:24 ` zimoun
@ 2022-08-24 21:48 ` Maxime Devos
2022-08-24 22:08 ` Tobias Geerinckx-Rice
1 sibling, 0 replies; 26+ messages in thread
From: Maxime Devos @ 2022-08-24 21:48 UTC (permalink / raw)
To: zimoun, Liliana Marie Prikler, Nicolas Goaziou; +Cc: guix-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 2262 bytes --]
On 24-08-2022 22:24, zimoun wrote:
> My understanding of the Debian argument is:
>
> 1. the licence is BSD-like respecting the Debian Free Software Guidelines
>
> 2. point #3 of DFSG [2] says «The license must allow modifications and
> derived works, and must allow them to be distributed under the same
> terms as the license of the original software.»
>
> 3. considering game data, all people are equals – from original author
> to users – because the tool set for modifying these game data does not
> exist anymore
>
> Therefore, drascula is part of the ’main’ Debian archive, scummvm too.
I remember (3). I find this an interesting argument.
As far as I know, the 4 freedoms and the whole 'free software!' thing
was not a goal in itself, but rather a means to a goal, a response to
'many times some people and organisations have imposed impractical
restrictions on software, causing problems (example: this situation in
19NN, that situation in 20??, ...) -- can we identify the problems and
generalize until we have a set of rules (4 freedoms) that need to be
respected to avoid the problems?'.
As far as I know, drascula situation is not comparable (see: 'all people
are equals') to the old problems. Yet, I cannot say it's free software
(without the tools, it's effectively a binary instead of source code
until, if ever, the tools are reinvented) (see some of my other
responses in this thread).
As such, do the 4 freedoms need some refinement to accept drascula, do
we have to weaken our requirement of 'only free software' for special
situations like this one, or do we remove drascula, or is there somehow
a fourth option I'm not thinking of?
Myself, I do not know the answer. However, I cannot help with the first
option, the second sounds iffy to me (the exception would need to be
worded really well, or it would be a 'case-by-case' matter which could
take a long time to decide case-by-case, and in both cases it doesn't
seem to fit in 'GNU: free software!').
As such, for me, only the third (removing drascula) is practical for me,
but there are other people here too which could perhaps, say, do the
first or something ...
Greetings,
Maxime.
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-24 20:24 ` zimoun
2022-08-24 21:48 ` Maxime Devos
@ 2022-08-24 22:08 ` Tobias Geerinckx-Rice
2022-08-25 19:26 ` Tobias Geerinckx-Rice
1 sibling, 1 reply; 26+ messages in thread
From: Tobias Geerinckx-Rice @ 2022-08-24 22:08 UTC (permalink / raw)
To: guix-devel, zimoun, Liliana Marie Prikler, Nicolas Goaziou
I got an auto-reply with a ticket number from the FSF, but no answer yet.
I was aware of and unimpressed by Debian's rationalisations on the matter.
Still, this isn't as clear-cut as (say) the Realtek drivers, so IMO we can afford to wait as long as is needed.
Kind regards,
T G-R
Sent on the go. Excuse or enjoy my brevity.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-24 22:08 ` Tobias Geerinckx-Rice
@ 2022-08-25 19:26 ` Tobias Geerinckx-Rice
0 siblings, 0 replies; 26+ messages in thread
From: Tobias Geerinckx-Rice @ 2022-08-25 19:26 UTC (permalink / raw)
To: guix-devel, zimoun, Liliana Marie Prikler, Nicolas Goaziou
In a strange coincidence (I mean, I assume they don't troll our lists...?), I just got a friendly reply to assure me we've not been forgot.
Kind regards,
T G-R
Sent on the go. Excuse or enjoy my brevity.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2022-08-06 15:24 ` Maxime Devos
2022-08-06 17:00 ` Liliana Marie Prikler
@ 2023-06-15 16:30 ` Denis 'GNUtoo' Carikli
2023-06-15 17:34 ` Liliana Marie Prikler
1 sibling, 1 reply; 26+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-06-15 16:30 UTC (permalink / raw)
To: Maxime Devos; +Cc: Liliana Marie Prikler, guix-devel
[-- Attachment #1.1: Type: text/plain, Size: 7852 bytes --]
Hi,
About the license it's still unclear if it's free or not as some people
pointed on the gnu-linux-libre mailing[1] list that it's a bit similar
to the open font license, but that is a license for fonts not code
though. So I've looked at the other aspects (missing source code, etc).
On Sat, 6 Aug 2022 17:24:52 +0200
Maxime Devos <maximedevos@telenet.be> wrote:
> As such, I agree they should not be distributed (unless the actual
> sources are found, but even then there is (1.)), as per the first
> sentence of ‘(guix)GNU Distribution’.
For the lack of missing source code I've looked a bit more in depth
about Drascula and the other games mentioned and here's what I found
below.
Drascula:
---------
The file used by ScummVM is Packet.001.
Apparently it's an ARJ archive:
> $ file Packet.001
> Packet.001: ARJ archive data, v7, slash-switched, created 11 dec
> 1980+18, original name: PACKET.ARJ, os: MS-DOS
And binwalk can manage to extract the files from it:
> $ binwalk -e Packet.001
There might be way better tools to do that but I don't know them.
That extracted 1146 files.
One of these files is DRASCULA.COM, and it's safe to assume that it
should be a dos executable because many of these games were also
released for DOS. There are other .COM files too.
File also seems to think that DRASCULA.COM is a dos executable (file is
not 100% reliable).
> $ file DRASCULA.COM
> DRASCULA.COM: DOS executable (COM), start instruction 0xeb3a9043
> 6f6d7069
I've no idea what most of the files are for but here's their extensions:
> $ ls | sed 's#.*\.##' | sort -u
> ALD
> ALG
> ALS
> arj (that could be the header of the Packet.001 file)
> BIN
> CAL
> CFG
> COM
> DEV
> DRV
> EPA
> EXE
[GSAVE* (GSAVE00, GSAVE01, .. GSAVE10)]
> RCT
> VOC
So:
- We lack the source code for DRASCULA.COM
- If people re-make ARJ archives without any of the executables, and
that the game still works, then still have issues about the other
files that might contain code that lack corresponding source code.
More on that below (in the part about draci-historie).
Lure:
-----
The files used by ScummVM are: Disk1.vga Disk2.vga Disk3.vga
and Disk4.vga I don't know much more about the format.
I've also found an executable without source code (Lure.exe) in one of
the source pacakge, but Guix probably has a mechanism to take care of
that to republishing modified source code without Lure.exe.
queen:
------
The file used by ScummVM is queen.1c, but I don't know more.
sky:
----
The following 3 files are used by ScummVM:
- sky.cpt: Targa image data - Map - RLE 487 x 608 x 1 +353 +412 - 1-bit
alpha
- sky.dnr: DOS executable (COM), start instruction 0xe9130000 cfea0000
- sky.dsk: data
File seems wrong with sky.cpt, and I've no idea if file is write with
sky.dnr.
There are also deeper issues:
------------------------------
- All these files are not built from source, so it's complicated to
understand the provenance of what's inside. And so it's probably
safer not to ship them (unless we build everything from source)
because we're unsure that there is some corresponding source code
inside.
- Even if there was complete source code inside, we need to be able to
modify that source code somehow, so doing that might require a lot of
work to research or build the tools for that.
- ScummVM might contain checksums (See the "4. Play the recompiled
game" of the draci-historie build documentation [3]) but if someone
manages to build a game for ScummVM, it could be added as a
dependency of ScummVM and its checksum could be added inside ScummVM
at compilation time.
Also if:
- There are no free programs for ScummVM (a hello world under
a free license would could count as a free program) (we don't know if
it's the case or not)
- ScummVM needs to be patched to run modified games (this is very
likely)
- We don't know if it's possible to build a game for ScummVM
with only free software (the game doesn't necessarily need to be
public but free software tools would need to exist to build it).
Then it would clearly steers users toward nonfree software.
Though here we don't know if there are free programs or not but we also
cannot tell users that scummVM is usefull with a specific free program
or show them a use case that doesn't require nonfree software, so we
might also have a problem with that.
A way forward:
--------------
A possibility here could be to remove ScummVM and the games that run in
it. Another would be to find a 100% free program for ScummVM (that
doesn't have nonfree dependencies for being modified or rebuilt) or to
find a way to make your own program for ScummVM with 100% free software.
I've looked a bit at another game (draci-historie[2]) that has some
source code published. This game is not packaged nor redistributed by
Guix but it looks way better than the other freedom wise and it can
teach us how ScummVM games are made.
Its probably not good enough as-is as its source code also also relies
on a tarball that contains executable to build the game and I also
didn't manage to build it with Guix yet (I've attached a file with my
attempt) but maybe it's possible to get it to build and maybe we can
build a 100% free software version of it.
For the licenses the website has the following:
> In 2006, I (Robert Špalek) released the source codes under the GNU
> GPL2 license.
> [...]
> The game has been released under the GNU GPL license version 2,
> hence you can download it for free including full source codes. The
> new game engine is a part of ScummVM and its source codes are thus
> also a part of it. The old game engine was written in Borland Pascal
> and Turbo Assembler, and only runs on MS-DOS. It can be downloaded
> below. Besides the game player you can also download the source codes
> of the game scripts written in our proprietary game programming
> language, and source images, sounds, and animations.
So I'm unsure about the license of the executable, game data, etc.
The interesting thing is that it has some draci-historie specific
scripting language and a compiler for it. So we can safely assume that
the other games most likely have a way to script things and that the
games are complex enough to have scripts.
And these scripts may need to be compiled here (I've no idea how
scripts look like for the other games).
A way forward would be to try to build this draci-historie game if we
really want to have ScummVM games and to patch ScummVM to use the
checksums from the newly built game.
There is also an IDE (QT AGI Studio)[4] and some templates[5] for the
AGI game engine supported by ScummVM, but all that require some work
because (a) the IDE depends on QT4, and (b) the template license is a
bit similar to the games license[6], and (c) if scummVM still has
checksums, then users need to build their own version anyway (d) nobody
knows if that can work with 100% free software unless people audit or
package the software and try to see if it works.
References:
-----------
[1]This gnu-linux-libre mailing list is at nongnu.org. Despite its name,
this mailing list is meant for discussions about all FSDG compliant
distributions(even the ones without GNU or linux-libre like
Replicant), about the list of software to exclude from FSDG
distributions, about adding new distros in the list, etc.
[2]https://www.ucw.cz/draci-historie/index-en.html
[3]https://www.ucw.cz/draci-historie/src/doc/compiling-the-game.txt
[4]https://agistudio.sourceforge.net/#requirements
[5]https://github.com/nbudin/agikit-project-template
[6]https://github.com/nbudin/agikit-project-template/blob/main/README-original.txt
Denis.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: draci-historie.scm --]
[-- Type: text/x-scheme, Size: 6540 bytes --]
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; This file is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this file. If not, see <http://www.gnu.org/licenses/>.
(use-modules (gnu packages compression)
(gnu packages pascal)
(gnu packages python)
(guix build-system gnu)
(guix build-system trivial)
(guix download)
(guix gexp)
(guix packages)
((guix licenses) #:prefix license:))
;; Serious issues to address:
;; (1) Is the Data GPLv2 ? Is it redistributable? What the dh-en-2012.zip
;; binaries?
;; (2) compiling-the-game.txt[1] has a section "4. Play the recompiled
;; game" that explains that the game built is incompatible with
;; ScummVM unless scummVM is patched with the md5 of the game binary.
;; [1]https://www.ucw.cz/draci-historie/src/doc/compiling-the-game.txt
;; (3) Actually make it work
;; (4) Patch scummVM and test the game
;; TODO:
;; - Also pakcage licenses and license declarations too
;; - identify and remove the binaries that are not used by the build
;; system.
;; - Make sure only data that can be edited with free software
;; tools remains.
;; - Make a cleaned-up tarball and get that mirrored instead of the
;; binaries we don't use.
;; - Convert that into a function that makes a package for a given
;; language.
(define-public draci-historie-dubbing-en
(package
(name "draci-historie-dubbing-en")
;; There are no versions in the release.
(version "1+1")
(source (origin
(method url-fetch)
(uri
(string-append
"https://www.ucw.cz/draci-historie/binary/dh-en-2012.zip"))
(sha256
(base32
"08xffj4648nxp3mjxwf54z1y4nk1718jrnkib2ikj5h509cn4z40"))))
(build-system trivial-build-system)
(arguments
(list #:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils))
(let* ((destination
(string-append
(assoc-ref %outputs "out")
"/share/draci-historie-dubbing-en/"))
(source (assoc-ref %build-inputs "source"))
(unzip (search-input-file %build-inputs "/bin/unzip")))
(invoke unzip source "-d" "source")
(copy-recursively "source" destination)))))
(native-inputs (list unzip))
(home-page "https://www.ucw.cz/draci-historie/index-en.html")
(synopsis "TODO")
(description "TODO")
(license license:gpl2))) ;; Is the Data really GPLv2(+?) ???
;; TODO: also pakcage licenses and license declarations too
(define-public draci-historie-data
(package
(name "draci-historie-data")
;; There are no versions in the release.
(version "1+1")
(source (origin
(method url-fetch)
(uri "https://www.ucw.cz/draci-historie/source/new-gfx.zip")
(sha256
(base32
"09z7kipd1vpd7si4lmpqr1xfb0vc3jfnwllv9zvxiyqrr44n56py"))))
(build-system trivial-build-system)
(arguments
(list #:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils))
(let* ((gfx (string-append (assoc-ref %outputs "out") "/share/gfx/"))
(source (assoc-ref %build-inputs "source"))
(unzip (search-input-file %build-inputs "/bin/unzip")))
(invoke unzip source)
(copy-recursively "gfx" gfx)))))
(native-inputs (list unzip))
(home-page "https://www.ucw.cz/draci-historie/index-en.html")
(synopsis "TODO")
(description "TODO")
(license license:gpl2))) ;; Is the Data really GPLv2(+?) ???
;; TODO: also pakcage some the documentation in doc/ and package
;; licenses and license declarations too
(define-public draci-historie
(package
(name "draci-historie")
;; There are no versions in the release.
(version "1+2")
(source (origin
(method url-fetch/zipbomb)
(uri "https://www.ucw.cz/draci-historie/source/new-sources.zip")
(sha256
(base32
"1a7qxigbzmh7v85r83zc9hc347qwrq4iyia044vq87cy8n1z1whb"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No target
#:make-flags #~(list "-d") ;; debug
#:parallel-build? #f ;; debug
#:phases
#~(modify-phases
%standard-phases
(add-after
'unpack 'fix-build
(lambda _
(substitute* "Makefile"
(("^DIR=/.*")
(string-append
"DIR="
(getcwd)
"/build\n")))
;; TODO: Add support for more LANGS an AUDIO (see doc/compiling-the-game.txt)
(substitute* "Makefile"
(("^LANGS=.*") "LANGS=en\n"))
(substitute* "Makefile"
(("^AUDIO=.*") "AUDIO=\n"))
(substitute* (find-files "scripts" ".py$")
(("#!/usr/bin/python")
(string-append "#!" (which "python2"))))))
(add-after
'fix-build 'unpack-gfx
(lambda _
(let* ((gfx
(string-append
#$(this-package-native-input "draci-historie-data")
"/share/gfx/")))
(mkdir-p "build")
(copy-recursively gfx "build/orig-gfx"))))
(add-after
'unpack-gfx 'unpack-english
(lambda _
(let* ((dubbing-en
(string-append
#$(this-package-native-input "draci-historie-dubbing-en")
"/share/draci-historie-dubbing-en/")))
(mkdir-p "build/orig-exe/en")
(copy-recursively dubbing-en "build/orig-exe/en"))))
(add-before
'build 'clean-source
(lambda _
;; Turbo Pascal configuration files
(for-each delete-file (find-files "." ".*\\.tp"))
(invoke "make" "clean_all")))
(add-after
'build 'build-dubbing
(lambda _
(invoke "make" "dubbing_all")))
(delete 'configure))))
(native-inputs (list draci-historie-data
draci-historie-dubbing-en
fpc python-2.7 zip))
(home-page "https://www.ucw.cz/draci-historie/index-en.html")
(synopsis "TODO")
(description "TODO")
(license license:gpl2))) ; I didn't fin mentions of "or later"
(list draci-historie)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-15 16:30 ` Denis 'GNUtoo' Carikli
@ 2023-06-15 17:34 ` Liliana Marie Prikler
2023-06-16 15:41 ` Denis 'GNUtoo' Carikli
0 siblings, 1 reply; 26+ messages in thread
From: Liliana Marie Prikler @ 2023-06-15 17:34 UTC (permalink / raw)
To: Denis 'GNUtoo' Carikli, Maxime Devos; +Cc: guix-devel
Am Donnerstag, dem 15.06.2023 um 18:30 +0200 schrieb Denis 'GNUtoo'
Carikli:
> Also if:
> - There are no free programs for ScummVM (a hello world under
> a free license would could count as a free program) (we don't know
> if it's the case or not)
> - ScummVM needs to be patched to run modified games (this is very
> likely)
> - We don't know if it's possible to build a game for ScummVM
> with only free software (the game doesn't necessarily need to be
> public but free software tools would need to exist to build it).
>
> Then it would clearly steers users toward nonfree software.
I don't think we need to be that harsh on ScummVM itself, it being a
virtual machine. Compare it to Wine: the tools to create Windows
binaries with free software only are limited (albeit existing if we
discount the necessity for system headers), but it still serves a
purpose by enabling you to run said programs without resorting to a
Windows machine. Even if no such toolchain exists for ScummVM, you
need ScummVM as a testbed to write one :)
The only limiting factor here is your point (2), i.e. it being able to
run arbitrary games compiled for the VM. I don't think that weird
checksums ought to be enforced if they're not baked into the program
itself.
> I've looked a bit at another game (draci-historie[2]) that has some
> source code published. This game is not packaged nor redistributed by
> Guix but it looks way better than the other freedom wise and it can
> teach us how ScummVM games are made.
>
> Its probably not good enough as-is as its source code also also
> relies on a tarball that contains executable to build the game and I
> also didn't manage to build it with Guix yet (I've attached a file
> with my attempt) but maybe it's possible to get it to build and maybe
> we can build a 100% free software version of it.
You might be able to bootstrap parts of it with fpc, i.e. the Free
Pascal Compiler. I'm not sure whether you'll encounter the necessity
for Borland Pascal, as we package version 3.2.2, which is somewhat
newer than the mentioned 2.4.
Cheers
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-15 17:34 ` Liliana Marie Prikler
@ 2023-06-16 15:41 ` Denis 'GNUtoo' Carikli
2023-06-18 8:19 ` Liliana Marie Prikler
0 siblings, 1 reply; 26+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-06-16 15:41 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: Maxime Devos, guix-devel
[-- Attachment #1: Type: text/plain, Size: 5036 bytes --]
On Thu, 15 Jun 2023 19:34:32 +0200
Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> I don't think we need to be that harsh on ScummVM itself, it being a
> virtual machine.
>
> Compare it to Wine: the tools to create Windows binaries with free
> software only are limited (albeit existing if we discount the
> necessity for system headers), but it still serves a purpose by
> enabling you to run said programs without resorting to a Windows
> machine.
About wine, the first time GUix's wine starts it asks you to download
and install mono for you (and in my case I didn't manage to skip that),
but if that's 100% free (it's most likely the case), everything should
be OK because:
- We have an FSDG compliant toolchain for Wine in Guix
- Wine in Guix should also be 100% free software
- The guix build --target=x86_64-w64-mingw32 hello works fine in
Guix's Wine
- The package description also don't steer users toward nonfree
software.
So just with that have at least 1 valid use case that don't steer users
toward getting and installing nonfree software at all, and that use
case is not incompatible with the package description, so for me It's
hard to find something wrong with that here, especially when the use
case is of strategic importance for free software (shipping software to
people used by nonfree OS can help spread free file formats and
protocols).
> The only limiting factor here is your point (2), i.e. it being able to
> run arbitrary games compiled for the VM. I don't think that weird
> checksums ought to be enforced if they're not baked into the program
> itself.
The draci-historie build tutorial said that the checksums were backed
in ScummVM and that you needed to add your own checksum inside ScummVM
source code and recompile it to run a modified version of the game.
Maybe that changed since then, but that is probably not very likely to
have happened, and this checksum mechanism also likely applies to all
programs or games meant to run inside ScummVM.
And if we had at least one 100% free program that run inside ScummVM
(something without nonfree dependencies, that we can rebuild or modify)
then we'd be able to easily find out about the checksums.
If someone knows good tools to work with ARJ archives, we could also
try it by modifying existing games very slightly (like by adding
something new inside the ARJ archive).
> Even if no such toolchain exists for ScummVM, you need ScummVM as a
> testbed to write one :)
Assuming that some way around the checksums is found, the issue here is
that no such toolchain exist yet, so testing it won't work right now.
And assuming that draci-historie turn out to be a dead end, getting a
free toolchain probably requires significant work in research, or in
packaging.
In contrast, many other VMs (qemu, java, gjs, etc), they already
have valid use cases and/or it's trivial to make a free software hello
world.
So there is no such burden on the potential user to have to provide
development tools that don't exist yet for that VM.
And here the rationale doesn't try to weight uses cases (like wine has
many nonfree games and very few known 100% free software, so wine
should be removed[2]), only to make sure that there is at least a single
use case that works with 100% free software.
> > I've looked a bit at another game (draci-historie[2]) that has some
> > source code published. This game is not packaged nor redistributed
> > by Guix but it looks way better than the other freedom wise and it
> > can teach us how ScummVM games are made.
> >
> > Its probably not good enough as-is as its source code also also
> > relies on a tarball that contains executable to build the game and I
> > also didn't manage to build it with Guix yet (I've attached a file
> > with my attempt) but maybe it's possible to get it to build and
> > maybe we can build a 100% free software version of it.
> You might be able to bootstrap parts of it with fpc, i.e. the Free
> Pascal Compiler. I'm not sure whether you'll encounter the necessity
> for Borland Pascal, as we package version 3.2.2, which is somewhat
> newer than the mentioned 2.4.
I'm unsure of why it fails exactly. I've an error message[1] that comes
from the Pascal code, but I don't know Pascal and the comments aren't
in English.
Though I could indeed try a different compiler version and see if it
works, or try to build it in some FHS container.
References:
-----------
[1]cannot save palettes used in programs
/tmp/guix-build-draci-historie-1+2.drv-0/source/build/gfx/outro/outpal1.pcx
[2]In my opinion weighting use cases is a can of worms because the
importance of use cases is subjective, and if all FSDG distros go
this route, it could prevent valid use cases that are or turn out to
be strategic for free software. And since the use cases are
prevented, people might even not be able to see the problem that was
created by going this route.
Denis.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-16 15:41 ` Denis 'GNUtoo' Carikli
@ 2023-06-18 8:19 ` Liliana Marie Prikler
2023-06-18 19:07 ` Denis 'GNUtoo' Carikli
0 siblings, 1 reply; 26+ messages in thread
From: Liliana Marie Prikler @ 2023-06-18 8:19 UTC (permalink / raw)
To: Denis 'GNUtoo' Carikli; +Cc: Maxime Devos, guix-devel
Am Freitag, dem 16.06.2023 um 17:41 +0200 schrieb Denis 'GNUtoo'
Carikli:
> On Thu, 15 Jun 2023 19:34:32 +0200
> Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> > I don't think we need to be that harsh on ScummVM itself, it being
> > a virtual machine.
> >
> > Compare it to Wine: the tools to create Windows binaries with free
> > software only are limited (albeit existing if we discount the
> > necessity for system headers), but it still serves a purpose by
> > enabling you to run said programs without resorting to a Windows
> > machine.
> About wine, the first time GUix's wine starts it asks you to download
> and install mono for you (and in my case I didn't manage to skip
> that), but if that's 100% free (it's most likely the case),
> everything should be OK because:
> - We have an FSDG compliant toolchain for Wine in Guix
> - Wine in Guix should also be 100% free software
> - The guix build --target=x86_64-w64-mingw32 hello works fine in
> Guix's Wine
> - The package description also don't steer users toward nonfree
> software.
Mono is (afaik) indeed completely free software, but not easy to
bootstrap. The downloader does skirt around our quality controls, but
I'd argue it does so on any FSDG-abiding distribution.
> > The only limiting factor here is your point (2), i.e. it being able
> > to run arbitrary games compiled for the VM. I don't think that
> > weird checksums ought to be enforced if they're not baked into the
> > program itself.
> The draci-historie build tutorial said that the checksums were backed
> in ScummVM and that you needed to add your own checksum inside
> ScummVM source code and recompile it to run a modified version of the
> game.
>
> Maybe that changed since then, but that is probably not very likely
> to have happened, and this checksum mechanism also likely applies to
> all programs or games meant to run inside ScummVM.
>
> And if we had at least one 100% free program that run inside ScummVM
> (something without nonfree dependencies, that we can rebuild or
> modify) then we'd be able to easily find out about the checksums.
>
> If someone knows good tools to work with ARJ archives, we could also
> try it by modifying existing games very slightly (like by adding
> something new inside the ARJ archive).
I've tracked the checksum to the header in which it was declared, and
it says
/* MD5 of (the beginning of) the described file.
Optional. Set to NULL to ignore. */
const char *md5;
(Comment reformatted to fit into a mail)
In the case of draci, it appears to be used to distinguish different
language versions. I'd hazard a guess that this is actually pointless
in Guix – you can load different language versions via Guix shell – so
you can just null them all.
> > Even if no such toolchain exists for ScummVM, you need ScummVM as a
> > testbed to write one :)
> Assuming that some way around the checksums is found, the issue here
> is that no such toolchain exist yet, so testing it won't work right
> now.
>
> And assuming that draci-historie turn out to be a dead end, getting a
> free toolchain probably requires significant work in research, or in
> packaging.
>
> In contrast, many other VMs (qemu, java, gjs, etc), they already
> have valid use cases and/or it's trivial to make a free software
> hello world.
Didn't you say that a hello world for scummvm exists?
> So there is no such burden on the potential user to have to provide
> development tools that don't exist yet for that VM.
>
> And here the rationale doesn't try to weight uses cases (like wine
> has many nonfree games and very few known 100% free software, so wine
> should be removed[2]), only to make sure that there is at least a
> single use case that works with 100% free software.
My argument isn't that we ought to remove wine because it's quite often
used to run nonfree software. My argument is to apply the same
principles we use to justify not only wine, but also game engines,
where only the engine but none of the assets are free (some of which
are included in Guix). Indeed, we may not have access to the same
tools as the game developers did back then, but you can still run the
games on any machine of your choosing for any purpose, and if you don't
mind experimenting a little, you can also run modified versions. As of
right now, practical limitations require you to modify the binaries
directly, but there are no theoretical limitations: You can study the
engines as implemented in ScummVM to create your own games for them.
Cheers
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-18 8:19 ` Liliana Marie Prikler
@ 2023-06-18 19:07 ` Denis 'GNUtoo' Carikli
2023-06-20 4:30 ` Liliana Marie Prikler
0 siblings, 1 reply; 26+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-06-18 19:07 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: Maxime Devos, guix-devel
[-- Attachment #1: Type: text/plain, Size: 4607 bytes --]
On Sun, 18 Jun 2023 10:19:06 +0200
Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> I've tracked the checksum to the header in which it was declared, and
> it says
> /* MD5 of (the beginning of) the described file.
> Optional. Set to NULL to ignore. */
> const char *md5;
> (Comment reformatted to fit into a mail)
Thanks a lot. That means that we could easily patch ScummVM to ignore
checksums and at least fix this specific issue. It probably needs to be
done for each game engine we care about though.
> > > Even if no such toolchain exists for ScummVM, you need ScummVM as
> > > a testbed to write one :)
> > Assuming that some way around the checksums is found, the issue here
> > is that no such toolchain exist yet, so testing it won't work right
> > now.
> >
> > And assuming that draci-historie turn out to be a dead end, getting
> > a free toolchain probably requires significant work in research, or
> > in packaging.
> >
> > In contrast, many other VMs (qemu, java, gjs, etc), they already
> > have valid use cases and/or it's trivial to make a free software
> > hello world.
> Didn't you say that a hello world for scummvm exists?
I don't know. There is a template for AGI games but the license is
strange too, and it also requires some software to build it, and I've
no idea if it's compatible with QT AGI, and I've also no idea if QT
AGI works, doesn't have nonfree dependencies, etc.
So that makes things way more complicated because here it probably
requires a lot of work to confirm that it's possible or not possible to
develop programs that run inside ScummVM with free software.
> My argument isn't that we ought to remove wine because it's quite
> often used to run nonfree software. My argument is to apply the same
> principles we use to justify not only wine, but also game engines,
> where only the engine but none of the assets are free (some of which
> are included in Guix).
Ah OK, I slightly misunderstood because I didn't think about the other
games with non-FSDG compliant assets, so I've no idea about these
yet, especially because it would depend a lot on the details.
For instance in some engines, it might be trivial to make them start
/ work a bit with FSDG compliant game data, or at least data that the
user can easily make, and on some other it might not be possible
without a lot of effort. Some engines might require code, other other
only data, etc. I've also don't have their package description in mind.
And in the FSDG there is also an exception for licenses like CC-BY-ND
for non-functional data like game graphics, but I fear that the engines
you're referring to are mainly meant to work with non-re-distributable
data.
> Indeed, we may not have access to the same tools as the game
> developers did back then, but you can still run the games on any
> machine of your choosing for any purpose, and if you don't mind
> experimenting a little, you can also run modified versions.
The same logic also applies to software under free licenses that lacks
corresponding source code: users can experiment with it, modify the
assembly code, and so on.
But the amount of effort required to do that is huge compared to "the
preferred form of modification" of that software (typically source
code, commented assembly, with a build system that works and enable
users to do some small change and rebuild the code, etc).
Some firmwares are in this case, but they are considered nonfree until
their source code is produced somehow (for instance by reconstructing
it, and with some automatic reverse engineering tools, etc).
Another issue here is that it is way easier to reason on software that
exists and facts that are known or very likely to be true rather than
hypothetical software that require unknown or big amount of work. Here
it could turn out to be a huge amount of work just to manage to run free
code inside ScummVM.
That can also be compared to freeing firmwares under free licenses that
lack source code where there is some work and research needed to make
them useful for people wanting to use 100% free software.
In contrast if I take gjs, this program is free software:
> print("This software is released under the CC-0 License");
> print("hello world");
and it can run with 'gjs hello.js'. So weather or not gjs is reused by
other programs as a dependency, as-is it's ultra useful as anybody can
either write free software or software that isn't public (that's a
valid use case too). And making sure of that is trivial.
Denis.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-18 19:07 ` Denis 'GNUtoo' Carikli
@ 2023-06-20 4:30 ` Liliana Marie Prikler
2023-06-20 8:00 ` Efraim Flashner
` (3 more replies)
0 siblings, 4 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2023-06-20 4:30 UTC (permalink / raw)
To: Denis 'GNUtoo' Carikli; +Cc: Maxime Devos, guix-devel
Am Sonntag, dem 18.06.2023 um 21:07 +0200 schrieb Denis 'GNUtoo'
Carikli:
> [...]
> > Didn't you say that a hello world for scummvm exists?
> I don't know. There is a template for AGI games but the license is
> strange too, and it also requires some software to build it, and I've
> no idea if it's compatible with QT AGI, and I've also no idea if QT
> AGI works, doesn't have nonfree dependencies, etc.
>
> So that makes things way more complicated because here it probably
> requires a lot of work to confirm that it's possible or not possible
> to develop programs that run inside ScummVM with free software.
I see we're hitting a recurring pattern of not knowing things. This is
not aided by my personal disinterest for ScummVM, but I have to weigh
that disinterest against the potential interest of thousands of users
who are likely to only discover this argument to have taken place after
we've reached a conclusion.
Note, that this discussion started IIRC a year ago and we have
practically known about actually existing FSDG violations since then.
My approach here is quite simple and pragmatic: Remove the games which
obviously violate the FSDG (that is all the games currently depending
on ScummVM as far as I know), but keep ScummVM for now to allow folks
to experiment. If in some one to five years we still find no practical
way of using ScummVM with only free software, that might be a reason to
remove it then.
WDYT?
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-20 4:30 ` Liliana Marie Prikler
@ 2023-06-20 8:00 ` Efraim Flashner
2023-06-21 1:27 ` Denis 'GNUtoo' Carikli
` (2 subsequent siblings)
3 siblings, 0 replies; 26+ messages in thread
From: Efraim Flashner @ 2023-06-20 8:00 UTC (permalink / raw)
To: Liliana Marie Prikler
Cc: Denis 'GNUtoo' Carikli, Maxime Devos, guix-devel
[-- Attachment #1: Type: text/plain, Size: 1857 bytes --]
On Tue, Jun 20, 2023 at 06:30:26AM +0200, Liliana Marie Prikler wrote:
> Am Sonntag, dem 18.06.2023 um 21:07 +0200 schrieb Denis 'GNUtoo'
> Carikli:
> > [...]
> > > Didn't you say that a hello world for scummvm exists?
> > I don't know. There is a template for AGI games but the license is
> > strange too, and it also requires some software to build it, and I've
> > no idea if it's compatible with QT AGI, and I've also no idea if QT
> > AGI works, doesn't have nonfree dependencies, etc.
> >
> > So that makes things way more complicated because here it probably
> > requires a lot of work to confirm that it's possible or not possible
> > to develop programs that run inside ScummVM with free software.
> I see we're hitting a recurring pattern of not knowing things. This is
> not aided by my personal disinterest for ScummVM, but I have to weigh
> that disinterest against the potential interest of thousands of users
> who are likely to only discover this argument to have taken place after
> we've reached a conclusion.
>
> Note, that this discussion started IIRC a year ago and we have
> practically known about actually existing FSDG violations since then.
> My approach here is quite simple and pragmatic: Remove the games which
> obviously violate the FSDG (that is all the games currently depending
> on ScummVM as far as I know), but keep ScummVM for now to allow folks
> to experiment. If in some one to five years we still find no practical
> way of using ScummVM with only free software, that might be a reason to
> remove it then.
>
> WDYT?
This sounds like a sensible resolution to me.
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-20 4:30 ` Liliana Marie Prikler
2023-06-20 8:00 ` Efraim Flashner
@ 2023-06-21 1:27 ` Denis 'GNUtoo' Carikli
2023-06-21 8:38 ` Giovanni Biscuolo
2023-11-24 18:54 ` Denis 'GNUtoo' Carikli
3 siblings, 0 replies; 26+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-06-21 1:27 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: Maxime Devos, guix-devel
[-- Attachment #1: Type: text/plain, Size: 935 bytes --]
On Tue, 20 Jun 2023 06:30:26 +0200
Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> Note, that this discussion started IIRC a year ago and we have
> practically known about actually existing FSDG violations since then.
> My approach here is quite simple and pragmatic: Remove the games which
> obviously violate the FSDG (that is all the games currently depending
> on ScummVM as far as I know), but keep ScummVM for now to allow folks
> to experiment. If in some one to five years we still find no
> practical way of using ScummVM with only free software, that might be
> a reason to remove it then.
>
> WDYT?
That looks perfectly fine to me. It leaves some time to people to try to
fix ScummVM itself in a better way (like by packaging games built from
source like Draci Historiae, removing the checksums, making a hello
world, etc), and at the end ScummVM would get removed if it's not fixed.
Denis.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-20 4:30 ` Liliana Marie Prikler
2023-06-20 8:00 ` Efraim Flashner
2023-06-21 1:27 ` Denis 'GNUtoo' Carikli
@ 2023-06-21 8:38 ` Giovanni Biscuolo
2023-07-23 8:10 ` Liliana Marie Prikler
2023-11-24 18:54 ` Denis 'GNUtoo' Carikli
3 siblings, 1 reply; 26+ messages in thread
From: Giovanni Biscuolo @ 2023-06-21 8:38 UTC (permalink / raw)
To: Liliana Marie Prikler, Denis 'GNUtoo' Carikli
Cc: Maxime Devos, guix-devel
[-- Attachment #1: Type: text/plain, Size: 1463 bytes --]
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
[...]
> Note, that this discussion started IIRC a year ago and we have
> practically known about actually existing FSDG violations since then.
> My approach here is quite simple and pragmatic: Remove the games which
> obviously violate the FSDG (that is all the games currently depending
> on ScummVM as far as I know)
I totally agree with this simple and pragmatic solution, but the FSDG
violation is not that games are distributed with a non-free license
(IMHO the license of some or all games have the same legal effect of the
SIL Open Font License v.1.1, that is considered free [1])
AFAIU the violation comes from the absence of the source code (or just
the build tools?) to compile the game to ScummVM bytecode (other issues
with the way games are compiled and distributed can be patched, AFAIU)
IMO when removing teh games is very inportant to mention the motivation,
since it will be useful for potential similar use cases.
> but keep ScummVM for now to allow folks to experiment. If in some one
> to five years we still find no practical way of using ScummVM with
> only free software, that might be a reason to remove it then.
Yes, keeping ScummVM is not a clear FSDG violation AFAIU
Thanks all for the heads on!
[1] albeit very poorly worded: https://www.gnu.org/licenses/license-list.html#SILOFL
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-21 8:38 ` Giovanni Biscuolo
@ 2023-07-23 8:10 ` Liliana Marie Prikler
0 siblings, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2023-07-23 8:10 UTC (permalink / raw)
To: Giovanni Biscuolo, Denis 'GNUtoo' Carikli
Cc: Maxime Devos, guix-devel, Adam Faiz
Am Mittwoch, dem 21.06.2023 um 10:38 +0200 schrieb Giovanni Biscuolo:
> > Note, that this discussion started IIRC a year ago and we have
> > practically known about actually existing FSDG violations since
> > then.
> > My approach here is quite simple and pragmatic: Remove the games
> > which obviously violate the FSDG (that is all the games currently
> > depending on ScummVM as far as I know)
>
> I totally agree with this simple and pragmatic solution, but the FSDG
> violation is not that games are distributed with a non-free license
> (IMHO the license of some or all games have the same legal effect of
> the SIL Open Font License v.1.1, that is considered free [1])
I don't think the exception the FSF makes here for fonts holds for
actual software, but I might be mistaken. Also note that we only
bundle ScummVM with guix pack style tarballs, but not in the packages
themselves.
> AFAIU the violation comes from the absence of the source code (or
> just the build tools?) to compile the game to ScummVM bytecode (other
> issues with the way games are compiled and distributed can be
> patched, AFAIU)
>
> IMO when removing teh games is very inportant to mention the
> motivation, since it will be useful for potential similar use cases.
I've pushed the removals to master, pointing to the lack of
corresponding source as the fact we can all agree on. This comes in
just in time as Adam Faiz (hi there!) has packaged openquest [1], which
will hopefully soon give us a free as in freedom game to play with
ScummVM and compare other submissions against :)
Cheers
[1] https://issues.guix.gnu.org/issue/64787
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-06-20 4:30 ` Liliana Marie Prikler
` (2 preceding siblings ...)
2023-06-21 8:38 ` Giovanni Biscuolo
@ 2023-11-24 18:54 ` Denis 'GNUtoo' Carikli
2023-11-24 19:52 ` Liliana Marie Prikler
3 siblings, 1 reply; 26+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-11-24 18:54 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: Maxime Devos, guix-devel
[-- Attachment #1: Type: text/plain, Size: 1085 bytes --]
Hi again,
On Tue, 20 Jun 2023 06:30:26 +0200
Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> If in some one to five years we still find no practical way of using
> ScummVM with only free software, that might be a reason to remove it
> then.
With lot of help from anthk_ #hyperbola I finally found a practical way
to use it, and even without recompiling it, so we can keep ScummVM.
We need 3 repositories:
- https://jxself.org/git/inform.git GPLv3+
- https://jxself.org/git/devours.git AGPLv3+
- https://jxself.org/git/informlib.git (devours submodule) AGPLv3+
Here's how to do it:
> $ git clone https://jxself.org/git/inform.git
> $ cd inform
> $ gcc src/*.c -o inform
> $ git clone --recursive https://jxself.org/git/devours.git
> $ cd devours
> $ sed 's#inform#../inform#g' -i build.sh
> $ ./build
That creates the devours.z5 file.
We can then start scummvm:
> $ scummvm glk:devours
And we can then choose "add game" and add the game in the current
directory and accept the warnings.
Then pressing start starts the game.
Denis.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: FSDG issues of SCUMMVM-based games
2023-11-24 18:54 ` Denis 'GNUtoo' Carikli
@ 2023-11-24 19:52 ` Liliana Marie Prikler
0 siblings, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2023-11-24 19:52 UTC (permalink / raw)
To: Denis 'GNUtoo' Carikli; +Cc: Maxime Devos, guix-devel
Am Freitag, dem 24.11.2023 um 19:54 +0100 schrieb Denis 'GNUtoo'
Carikli:
> Hi again,
>
> On Tue, 20 Jun 2023 06:30:26 +0200
> Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> > If in some one to five years we still find no practical way of
> > using
> > ScummVM with only free software, that might be a reason to remove
> > it
> > then.
> With lot of help from anthk_ #hyperbola I finally found a practical
> way
> to use it, and even without recompiling it, so we can keep ScummVM.
>
> We need 3 repositories:
> - https://jxself.org/git/inform.git GPLv3+
> - https://jxself.org/git/devours.git AGPLv3+
> - https://jxself.org/git/informlib.git (devours submodule) AGPLv3+
>
> Here's how to do it:
> > $ git clone https://jxself.org/git/inform.git
> > $ cd inform
> > $ gcc src/*.c -o inform
> > $ git clone --recursive https://jxself.org/git/devours.git
> > $ cd devours
> > $ sed 's#inform#../inform#g' -i build.sh
> > $ ./build
>
> That creates the devours.z5 file.
>
> We can then start scummvm:
> > $ scummvm glk:devours
>
> And we can then choose "add game" and add the game in the current
> directory and accept the warnings.
While we do already have a free ScummVM game from what I know, one more
can't hurt. Do you perhaps want to package these up? :)
^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2023-11-24 19:52 UTC | newest]
Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-06 4:59 FSDG issues of SCUMMVM-based games Liliana Marie Prikler
2022-08-06 6:36 ` Tobias Geerinckx-Rice
2022-08-06 14:41 ` Tobias Geerinckx-Rice
2022-08-07 12:52 ` Christine Lemmer-Webber
2022-08-06 15:24 ` Maxime Devos
2022-08-06 17:00 ` Liliana Marie Prikler
2023-06-15 16:30 ` Denis 'GNUtoo' Carikli
2023-06-15 17:34 ` Liliana Marie Prikler
2023-06-16 15:41 ` Denis 'GNUtoo' Carikli
2023-06-18 8:19 ` Liliana Marie Prikler
2023-06-18 19:07 ` Denis 'GNUtoo' Carikli
2023-06-20 4:30 ` Liliana Marie Prikler
2023-06-20 8:00 ` Efraim Flashner
2023-06-21 1:27 ` Denis 'GNUtoo' Carikli
2023-06-21 8:38 ` Giovanni Biscuolo
2023-07-23 8:10 ` Liliana Marie Prikler
2023-11-24 18:54 ` Denis 'GNUtoo' Carikli
2023-11-24 19:52 ` Liliana Marie Prikler
2022-08-24 12:53 ` Nicolas Goaziou
2022-08-24 18:44 ` Liliana Marie Prikler
2022-08-24 20:24 ` Vagrant Cascadian
2022-08-24 21:31 ` Maxime Devos
2022-08-24 20:24 ` zimoun
2022-08-24 21:48 ` Maxime Devos
2022-08-24 22:08 ` Tobias Geerinckx-Rice
2022-08-25 19:26 ` Tobias Geerinckx-Rice
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).