unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Simon South <simon@simonsouth.net>
To: 44374@debbugs.gnu.org
Cc: simon@simonsouth.net
Subject: [bug#44374] [PATCH 0/1] gnu: sdcc: Remove non-free code
Date: Sun,  1 Nov 2020 11:53:28 -0500	[thread overview]
Message-ID: <cover.1604237602.git.simon@simonsouth.net> (raw)

This patch updates Guix to remove non-free code bundled with SDCC, a C
compiler that targets a variety of microcontroller families.

It also adds a patch that removes from SDCC

  - The "--disable-non-free" option to its "configure" script and the related
    build logic;

  - All references to the "device/non-free" source directory and the
    corresponding "non-free" installation directory; and

  - The "--use-non-free" and "--no-warn-non-free" compiler options and
    references to them in build scripts and compiler output.

The patch furthermore updates SDCC's documentation to reflect these changes
and to remove instructions encouraging the use of non-free software.

I've tested these changes on x86-64 and AArch64 and while neither I nor the
distribution has a comprehensive test suite available, the compiler appears to
work fine on both architectures.

The non-free code in question involves the library source code and headers
specific to a number of PIC microcontroller models. This code was generated
from files distributed by Microchip, the current owner of the PIC design, with
the requirement they be used only with "authentic" PIC-compatible devices from
Microchip themselves. This violates freedom 0[0], and not only are the files
themselves non-free, any software built with SDCC that links against the
resulting libraries is necessarily non-free as well.

Regarding my changes to the documentation, as I feel these may warrant
additional scrutiny:

Most of my changes are to the SDCC manual (which is in doc/sdccman.lyx and can
be viewed with LyX, i.e. "guix install lyx") and are only to remove references
to the now-absent "non-free" directories and related compiler
options. However, I have also replaced text in sections 1.2, 4.5.5 and 4.6.7
that explained how to find and use the non-free code with a notice that it has
been removed. (Search for "guix" to find these sections quickly.)

I've also added a statement to the "Acknowledgements" section at the end that
the manual has been modified from the original.

Section 4.6.10, "Adding New Devices to the Port", is tricky: Some of the
information it contains would be useful to a developer working to replace the
non-free code with a free alternative; on the other hand, it's clear the
intent of the section as written is to help people bring even more non-free
code into SDCC. Probably the section should be replaced with something
different but without knowing what the correct instructions would be, I have
simply removed it altogether for now.

SDCC's statements regarding licenses (in section 1.2 of the manual, in
doc/README.txt and in support/cinc2h.pl) consistently give instructions on
using the non-free code and in each case I have replaced this with a notice
saying the code has been removed. I assume this is of no legal significance
but thought I would point it out just in case.

Any and all feedback welcome.

[0] https://www.gnu.org/philosophy/free-sw.html

--
Simon South
simon@simonsouth.net


Simon South (1):
  gnu: sdcc: Remove non-free code.

 gnu/local.mk                                  |    1 +
 .../patches/sdcc-disable-non-free-code.patch  | 3643 +++++++++++++++++
 gnu/packages/sdcc.scm                         |   10 +-
 3 files changed, 3653 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/sdcc-disable-non-free-code.patch

-- 
2.28.0





             reply	other threads:[~2020-11-01 16:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-01 16:53 Simon South [this message]
2020-11-01 16:56 ` [bug#44374] [PATCH 1/1] gnu: sdcc: Remove non-free code Simon South
2020-11-10 21:06 ` bug#44374: [PATCH 0/1] " Marius Bakke
2020-11-10 21:52   ` [bug#44374] " Simon South

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1604237602.git.simon@simonsouth.net \
    --to=simon@simonsouth.net \
    --cc=44374@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).