This is an old revision of the document!
Table of Contents
Slackware 14.1
The following table lists all the packages on the Slackware 64 DVD which contain non-free software. Note that comments are no substitute for the respective licenses. In particular, “non-commercial” may limit either use, or distribution, or both. Consult the licenses for details.
Name | Comment | Reference |
---|---|---|
extra/google-chrome/google-chrome.SlackBuild | Installs non-free software. | |
extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild | Installs non-free software. | |
extra/source/java/java.SlackBuild | Installs non-free software. | |
slackware64/a/getty-ps-2.1.0b-x86_64-1.txz | Non-commercial only. | main.c |
slackware64/a/kernel-firmware-20131008git-noarch-1.txz | Non-free blobs are included. | |
slackware64/a/kernel-generic-3.10.17-x86_64-3.txz | Will load non-free firmware if present. | |
slackware64/a/kernel-huge-3.10.17-x86_64-3.txz | Will load non-free firmware if present. | |
slackware64/a/kernel-modules-3.10.17-x86_64-3.txz | Will load non-free firmware if present. | |
slackware64/a/lha-114i-x86_64-1.txz | Too vague, according to FSF. | |
slackware64/a/unarj-265-x86_64-1.txz | Can't use the code in ARJ archivers with encode/decode support. | unarj.c |
slackware64/ap/amp-0.7.6-x86_64-1.txz | Non-commercial only. | README |
slackware64/d/kernel-headers-3.10.17-x86-3.txz | A part of the non-free kernel meta-package. | |
slackware64/k/kernel-source-3.10.17-noarch-3.txz | Will load non-free firmware if present. | |
slackware64/n/bluez-firmware-1.2-x86_64-1.txz | All rights reserved, no source. | broadcom/BCM-LEGAL.txt |
slackware64/n/ipw2100-fw-1.3-fw-1.txz | No source, no modification, and more. | LICENSE |
slackware64/n/ipw2200-fw-3.1-fw-1.txz | No source, no modification, and more. | LICENSE.ipw2200-fw |
slackware64/n/trn-3.6-x86_64-2.txz | Non-commercial only. | EXTERN.h |
slackware64/n/zd1211-firmware-1.4-fw-1.txz | No source. | WS11UPh.h |
slackware64/xap/xfractint-20.04p11-x86_64-1.txz | Non-commercial only. | fractsrc.txt |
slackware64/xap/xgames-0.3-x86_64-4.txz | xminesweep is non-commercial only. | xminesweep.c |
slackware64/xap/xv-3.10a-x86_64-6.txz | No distribution of modified copies, non-commercial only, personal use only. | copyright.h |
Sanitizing an Existing Installation
We assume that the user performed the full install.
- Blacklist the offending Slackware packages in
/etc/slackpkg/blacklist
by adding the following lines.
Make sure they are separate lines, and also free of white space.kernel-firmware kernel-generic kernel-huge kernel-modules kernel-source kernel-headers getty-ps lha unarj amp bluez-firmware ipw2100-fw ipw2200-fw trn zd1211-firmware xfractint xgames xv
- Build and install a free kernel. Also, install the free headers if you want to compile stuff that makes system calls. The headers are expected in /usr/include, so you will have to uninstall the stock package at this point.
- At this point you should be running the free kernel, so you can remove the non-free Slackware packages with:
removepkg kernel-firmware kernel-generic kernel-huge \ kernel-modules kernel-source kernel-headers getty-ps lha unarj \ amp bluez-firmware ipw2100-fw ipw2200-fw trn zd1211-firmware \ xfractint xgames xv
- Optionally, you can replace some of the removed packages with free packages. lha can be replaced with lhasa, a free decompressor. unarj can be replaced with arj, which is actually an archiver too.
Upgrading
We haven't tried this, but we don't know of a reason why it wouldn't work. Get the Slackware DVD, unpack it into a directory, remove all non-free packages, and then upgrade as usual.
Caveats
Please be aware that as long as you keep using the official repository, non-free packages may still creep in during updates, unlikely as it is. We see no easy cure for this, short of switching to a free repository.
Methodology
For the purposes of this document, an installer package or simply package is any file found on Slackware DVD which is one of the following:
- tar archive
- gz, bz2, or xz archive
- SlackBuild script
- bash script
Note that this definition includes, but is not limited to Slackware packages.
A list of all packages on a Slackware DVD is created with:
find . -name "*.[gx]z" -o -name "*.t?z" -o -name "*.bz2" -o -name "*.SlackBuild" -o -name "*.sh" | sed 's|^\./||'
… and saved as a spreadsheet. If possible, the list is compared with that for the previous Slackware release. In general, upgraded packages are assumed to have the same license type. For each new package, the sources are examined and the licenses are determined. If the licenses are free according to the FSF (either GPL-compatible or not), then the package is marked as free. Otherwise, the package is marked non-free and the licenses used are described briefly. When applicable, the name of at least one file with an offending license should be cited.
Once a package is found to be non-free, it is not necessary to keep checking the remainder of its contents. A possible exception to this rule is a piece of free software that comes with non-free plugins which are packaged separately.
Free Packages that do not Belong
Some packages omit non-free software, yet we mark them as non-free, as long as they are either
- non-free software installers,
- have no practical use besides enabling the user to run non-free software,
- should be replaced, because they are a part of a collection which contains non-free software. For example,
kernel-generic
Slackware package may well be free, but for all practical purposes it is a part of a non-free kernel meta-package.
The idea here is to mark as non-free everything that would have to be purged or replaced in order to achieve a free operating system.