gnu-linux-libre
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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)

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]