From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id eOncOSG+jmRZmAAASxT56A (envelope-from ) for ; Sun, 18 Jun 2023 10:19:46 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id WAX7OCG+jmRjVAEAG6o9tA (envelope-from ) for ; Sun, 18 Jun 2023 10:19:45 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 78EF4147BD for ; Sun, 18 Jun 2023 10:19:45 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qAncw-00014N-3T; Sun, 18 Jun 2023 04:19:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qAncu-00014F-Oq for guix-devel@gnu.org; Sun, 18 Jun 2023 04:19:12 -0400 Received: from mail-ej1-x643.google.com ([2a00:1450:4864:20::643]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qAncs-0007ns-UV for guix-devel@gnu.org; Sun, 18 Jun 2023 04:19:12 -0400 Received: by mail-ej1-x643.google.com with SMTP id a640c23a62f3a-9881b9d8cbdso138874366b.1 for ; Sun, 18 Jun 2023 01:19:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687076348; x=1689668348; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=vLDRKNWof2uGX2nUfRq3Apg4OfV3BFt2p5WSh+t96N0=; b=UpBqPKYtIKTG5s4ULfF888ArLq+29fwHierqruraN5bQF/V26pHhgUdapDUrHcd5Ri PI2wxH1g6UY1eY+23UVJmX9gp2/FyuC8gOWnrTv1EbyiYjJ1Mp86FV+cyvLHh7nLvNWR 5LMzzOCh/UhdhESxMvvz9T2qlOPsKZ6b8UDf3IN5lo4ugcHSaAHZ7XtahA7gJde8+d4d XmBBvbGMQimAEMn0Ho8/sqogvIfgGtGoy3uKqwGLMa1AiI4Y4J9s8Z9C2/STaKD8a/it 2EXecN5AYaWJwQ1At9QAfBCnshLx2r/H7pLsmnvDCrvbTN3pGQ+2ZtrRLOu+gwdkLhzo 4bIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687076348; x=1689668348; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=vLDRKNWof2uGX2nUfRq3Apg4OfV3BFt2p5WSh+t96N0=; b=jeXqvImVRmss97xFGe/BI8ReEQusxoQj8wAYV0IECB1AQ8bmorJtKBA/+xhcLeOURx RPuMy5z/lu9W10Nkw3kyxeSW2sFw4I80GvY8T4bEqGCjt+v7mAQ6ODGq+N4JCRROo4Kf 8zk+/FUuvhwhv1oTvHY4wEHNKUy82pC8HQ8zQfBlHfHvsk9UFuWylaWdYD1djqomOv8P Oc0jRBoTbm1uYJjkm6NPvGZCihewh45r2Lxu5ol3Eq2XLFvtT9HHTkx0EQLvlK8j6LMO HEltLodeU2Tb26/LbeUeW9ROIUdJr4DUz74bPR9yNDG2O622f1pjNtceIYUr/281H+Zd /1rw== X-Gm-Message-State: AC+VfDwxPtwv/MNrFIf0Eok110dhdOXgsbWtb4ENndh0iwNHS1G1W0xl eD4z5M1StI97a3WxFKm7wEA= X-Google-Smtp-Source: ACHHUZ4TVu3H++XpeEfByI9lshidQa7FCTJnlKtGjL4Qc0y9rB4MoAexJQeC9LvVRaEaOmwZXQ5rgg== X-Received: by 2002:a17:906:58d2:b0:988:77f0:b671 with SMTP id e18-20020a17090658d200b0098877f0b671mr659113ejs.38.1687076348394; Sun, 18 Jun 2023 01:19:08 -0700 (PDT) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b16-20020a170906491000b0098864f474cesm833158ejq.126.2023.06.18.01.19.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Jun 2023 01:19:07 -0700 (PDT) Message-ID: Subject: Re: FSDG issues of SCUMMVM-based games From: Liliana Marie Prikler To: Denis 'GNUtoo' Carikli Cc: Maxime Devos , guix-devel@gnu.org Date: Sun, 18 Jun 2023 10:19:06 +0200 In-Reply-To: <20230616174126.3e16c6c7@primary_laptop> References: <48ce733acba20030aba9eba1a45e18a805cfcf73.camel@gmail.com> <20230615183007.78b46914@primary_laptop> <9a7226e950d1764c48a87650ca3440c3f7eee485.camel@gmail.com> <20230616174126.3e16c6c7@primary_laptop> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::643; envelope-from=liliana.prikler@gmail.com; helo=mail-ej1-x643.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1687076385; a=rsa-sha256; cv=none; b=DZ9+Is7fEOHUyvNEe9a7i2DbgMPcIrhCfa9cZFs4mX7gFgxzc7P/w6005pAILk1/yYT8Kr rKgilpp2RKbPeMtVFRiAVp+Kvsn/+L1vAiy6lPE9qrXBhHPTJa0yJ+Mls0NIKWR6cKgPDm Uu1DC6yvf/x6SGG1N3V8Mi9u9wRJVr/3sEaBhPhWeRdySHPjCd+wphR7XKhL6cM6zF1avU iKEQ2Ea621JxcjNl/iisUD/evoJETRTzE6/hTtFBjhNyvyLRik1EyXtDeKqqbTsKYkegAY Sd0AoGvQwGTQu9p+50qHJqx02erIfc+0w57V1h06NPAk76neiZQ3K6K90ktnSw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=UpBqPKYt; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1687076385; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=vLDRKNWof2uGX2nUfRq3Apg4OfV3BFt2p5WSh+t96N0=; b=uWErMMshehusvCCDuVGy+VzaQ6Mm6FoZri2QPxGHtrGnTwGf2ekD0PdrGama7LGGo9tAFR qQUUjsOxQVgvn55qCkl4sM97NxD5zNy2HOrLo4td3S9zah3G7c+vkqkR5+lgSEkxYOImj5 eTxEe/dLjrCL2eRzveLWVB/Zd3E8cA9hUH8AKc+tEB2anwGELT2dqKoQmLMEnUq0FU15BU nHi3gckg3xn5YugAX6pncRqOk29/CdjstwMFW6f6z1yRTZC+vjR5FalD/pzrMWUgP6dnyS o9wj9W9b7U1mnV9wJaWVHYh7N7LVhjU2e2YxNHS/zlWgDhjSibNVyZoWasig+w== Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=UpBqPKYt; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -8.19 X-Spam-Score: -8.19 X-Migadu-Queue-Id: 78EF4147BD X-TUID: 4EwxFwyDD0RR 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 wrote: > > I don't think we need to be that harsh on ScummVM itself, it being > > a virtual machine.=C2=A0=20 > >=20 > > 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=3Dx86_64-w64-mingw32 hello works fine in > =C2=A0 Guix's Wine > - The package description also don't steer users toward nonfree > =C2=A0 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.=C2=A0 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. >=20 > 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. >=20 > 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. >=20 > 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.=C2=A0 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 =E2=80=93 you can load different language versions via Guix shell = =E2=80=93 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. >=20 > 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. >=20 > 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. >=20 > 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