From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id 8G+ONIynjGTYpAAASxT56A (envelope-from ) for ; Fri, 16 Jun 2023 20:18:52 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 0NBcNIynjGRrPgEA9RJhRA (envelope-from ) for ; Fri, 16 Jun 2023 20:18:52 +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 9E336F6BE for ; Fri, 16 Jun 2023 20:18:52 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qAE1g-00045h-Px; Fri, 16 Jun 2023 14:18:24 -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 1qAE1f-00045T-8u for guix-devel@gnu.org; Fri, 16 Jun 2023 14:18:23 -0400 Received: from cyberdimension.org ([80.67.179.20] helo=gnutoo.cyberdimension.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1qAE1d-00062b-3D for guix-devel@gnu.org; Fri, 16 Jun 2023 14:18:23 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id cc86c1b5; Fri, 16 Jun 2023 18:18:15 +0000 (UTC) Received: from primary_laptop (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 8ba01f2d; Fri, 16 Jun 2023 18:18:15 +0000 (UTC) Date: Fri, 16 Jun 2023 17:41:26 +0200 From: Denis 'GNUtoo' Carikli To: Liliana Marie Prikler Cc: Maxime Devos , guix-devel@gnu.org Subject: Re: FSDG issues of SCUMMVM-based games Message-ID: <20230616174126.3e16c6c7@primary_laptop> In-Reply-To: <9a7226e950d1764c48a87650ca3440c3f7eee485.camel@gmail.com> References: <48ce733acba20030aba9eba1a45e18a805cfcf73.camel@gmail.com> <20230615183007.78b46914@primary_laptop> <9a7226e950d1764c48a87650ca3440c3f7eee485.camel@gmail.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.37; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/kYtHGGtqnkP51QesKW2AiB1"; protocol="application/pgp-signature"; micalg=pgp-sha256 Received-SPF: pass client-ip=80.67.179.20; envelope-from=GNUtoo@cyberdimension.org; helo=gnutoo.cyberdimension.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-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=1686939532; a=rsa-sha256; cv=none; b=JeQCF5GJeMaWFzxodtLoYVzmfdyrW1OZDHdzqHAGPuluxjqDCsdBNv/kS8QWNt61/rLS51 wxF3cHQYRD1TRRnI7x6n3AmFcPaxq7tWgFaFcslFsL3xdD+7ih/xVEMRvVq49Toe8t9JPX yEz+oSksUaHzwGp4DyZMyAGxuVEiHgdvYyUA3udX6isga3c6LNxTdphRQ54lw0evI7f2Rp Aaud702ToX1itkWzRB+GiJYQ2rCzVxd1lBNYMag0l5waxihizT97UUqmAGiOHT9HLCy/mT 4byd6UyenvFY2+hq1xppwLIianLRma/qlWxWZEhPjYeHGLCf4TgCSTZxCs2VWg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; 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=1686939532; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=zWo2iT6TlcsA807/Uv/hJmGh4zRXzgeO9gnFH1m0Kbg=; b=GH0K8cn574GWF5d/XDLWWWS+fW1Agc9yUcSHANgztazFxWCsEgI8nF71oOfQQNpwSQJkRF jjMWgcstqHR6sTODqvHa2ZmFMLHaWaBpFkhbk5cWqmX24DtKqS7ZRbTqapLMlrfuZT4Q8p npaJ9BkoZLgsBx3s6i6XAQCH9EhZhtnCHXXhVwO1IrFRdB+hX/WbQLpgXAvlc6CVMz1O9c 9sW1bCi5/8jx8WOQEKzMMH937qTMlPgVekH8BGUJreHNCLEcrgbxs1FHbQ7jo5JkPIu/W9 fYjT4gqogUmfV0ZOiPC4hC1KGLM8ac3lwxqtyuor1NqJNPJuUayKIrSpHBhnkg== Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; 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: -3.93 X-Spam-Score: -3.93 X-Migadu-Queue-Id: 9E336F6BE X-TUID: FiROfhKq8i1I --Sig_/kYtHGGtqnkP51QesKW2AiB1 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable 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. =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 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. > >=20 > > 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.=20 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. --Sig_/kYtHGGtqnkP51QesKW2AiB1 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmSMgqYACgkQX138wUF3 4mNhQw//RtT8NUA8yIaM8CGT7wP7+7escy4wCe8Zt3UR3aQwbzxfGJN9tEQKuLaq P4FXaCXPCnw60eUeZRWDuAKVVzVVoRf4E4fux9HUmOFo1uYKFY8Sx4C2zC7ncQ3n jbzi43pUO381/igxrXwJymzLl5a3VG0lSMBxgHY7wDcjvg0X6DC2eSL024+cQsF4 mRD6jPu2VP7VNBL8HTAyjMaYUTRLrEipGNfzMa3DemhxGPC6QxtLNK0FgHKQ/fdI XvoQWvb2ok9cJYWxgkX5truK0FLc33f1sJVz1CeE910Qav60P7/G+8moZzTi8gXJ yY9LPS205ObD1LpFJxKJcfkDX3X4GVvHkTcJtYuX+uBN3/egGqv1IV8Ay7TSlmol SPusBlXLrK7AOl8eGjT/toO0qQA3mg9DSpwwo5BUwmWTQMu+6t7TLbx6+RL4VJTD gkOw7Y3oUQ/1AbitageO2f5kLdzBENn0rKTr4Isy2FTTn7dfHT1GnEzjx2RaV27c i1iXwwhLtAfZTohfZvf++00j2pH2NXSt4a7FhcxMYrHBP8l7xsDny4Am+WAheMnm JJvLB0HQbdxe5V1CxXGDKtiYo3c2DNsEP9U/c1WD1ZltWNhSEcp/eBgx4z03Bv5J nVVMxapxCDnSioArMktqp1mM1Gp825mK0JOIBPnYszoCYuauqS8= =qzM1 -----END PGP SIGNATURE----- --Sig_/kYtHGGtqnkP51QesKW2AiB1--