[GNU-linux-libre] Guix and FSDG

From: Raghav Gururajan Subject: [GNU-linux-libre] Guix and FSDG Date: Wed, 20 Nov 2019 14:10:38 -0500

Hello Donald! I hope this email finds you well. I came across, a discussion, in #fsf IRC channel, regarding GNU Guix project and it's non-compliance with FSDG. Here, in this email, I would like to express my thoughts, about what the situation is and how it can be rectified. Please consider reading this email to the end. Guix, as a free software, doesn't pose any confusion. It is completely licensed as free software and respects/provides all the four freedoms. Guix, as a free system distribution, does pose some confusion, whether or not it violates Free System Distribution Guidelines (FSDG). The concerns regarding Guix and FSDG, floats around two aspects. (a) Distribution of non-free information/code/program/software and/or (b) Facilitation of non-free information/code/program/software. (a) Distribution of non-free information/code/program/software: Guix distributes two main things, that are, (i) Package Definitions (Scheme Code) and (ii) Subsitiutes (Pre-Built Binary). If we take Package Definitions, it does not include any definitions for non-free software/programs and any definitions itself does not contain any non- free code. If we take the Substitutes, it does not include any binary for non-free software/programs. Therefore, Guix DOES NOT violate FSDG in this aspect. (b) Facilitation of non-free information/code/program/software: As per FSDG, free system should neither steer users nor refer to third- party repositories, to obtain information/code/program/software that can contain non-free parts. Let's consider the same two main things provided by Guix, that are, (i) Package Definitions (Scheme Code) and (ii) Subsitiutes (Pre-Built Binary). If we take substitutes,they are pre-built binaries, built on the guix build farm, where the source is obtained, de-blobbed (if required) and compiled. Since guix provides substitutes only for free software/programs, there is no facilitation of non-free information/code/program/software here. If we take the package definitions, that is were issue rises. When no substitutes are available or when the program/software is chosen to be built, guix on the user's system does this: downloads source directly from upstream (along with non-free parts if it contains), then strips out non-free parts (if any), then builds and installs binaries. So these package definitions, contains information/lines-of-code, that steer users or refer to third-party repositories, to obtain information/code/program/software that can contain non-free parts. Therefore, Guix DOES violate FSDG in this aspect. But should the current FSDG be revised? Growth requires change. The current FSDG was constructed based on conventional approaches to free system distributions. That is, a conventional distrubution distributes free source code (obtained from upstream and de-blobbed) and/or pre-built binaries built from de-blobbed source code. So there is no need for a free system to steer users or refer to third-party repositories, to obtain information/code/program/software that can contain non-free parts. But guix, instead of distributing free or de- blobbed source code, it distributes package definitions and scripts, which gives user the choice to either obtain pre-built binary from guix or to build directly from source via de-blobbing, on the user's system. Thus, due to this new approach, there is a need for guix system to steer users or refer to third-party repositories, to obtain information/code/program/software that can contain non-free parts. However, this DOES NOT pose any threat to free software movement or to freedom of users. In fact, the user is given more freedom of choice to build programs directly from source and perform their computing (de- blobbing and building) on their own system instead of soely relying on distribution's build farm. This new approach by guix, provides users a favourable platform and oppurtunity, to build a whole free system completely from scratch, even when no/zero pre-built binaries are available. This is not a threat to software freedom, this is excersing software freedom in a higher level. Therefore, I request the FSDG to be revised, to allow codes/programs in a free system to obtain source code containing non-free parts, ONLY for the purpose of de-blobbing and/or building; provided that respective codes/programs (1) are itself free (2) gives output that are always a free information/code/program/software and (3) should not contain options to obtain non-free information/code/program/software as output (Eg. -- disable-cleaning or --skip-deblobbing). I can see two ways to end the confusion between Guix and FSDG, once in for all. Either the FSDG remains unchanged and Guix gets removed from the FSD list (or) the FSDG gets revised and Guix remains on the FSD list. I am inclined to the latter, however, I am open to hear how the former could be a better option. I request you to make a conclusion, at your earliest convenience. Thank you! Regards, RAGHAV GURURAJAN. (Free Software User and Supporter)

signature.asc

Description: This is a digitally signed message part

reply via email to

