FreeSlack

FreeSlack is a documentation project. Its primary goal is to document all non-free software in Slackware distribution.

This page was updated on 2014-08-27 - zoo was free all along.

Contents

  1. Slackware 14.1
  2. Slackware 14.0
  3. Caveats
  4. Project Goals
  5. Methodology
  6. Branding
  7. Files
    1. Kernel Packages
  8. Participation
  9. Licensing

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/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.

  1. 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.
  2. kernel-firmware
    kernel-generic
    kernel-huge
    kernel-modules
    kernel-source
    getty-ps
    lha
    unarj
    amp
    bluez-firmware
    ipw2100-fw
    ipw2200-fw
    trn
    zd1211-firmware
    xfractint
    xgames
    xv
  3. Build and install a free kernel. If you are feeling lucky, you are welcome to try one of our binary Slackware packages.

  4. At this point you should be running the free kernel, so you can remove the non-free Slackware packages with
  5. removepkg kernel-firmware kernel-generic kernel-huge \
    kernel-modules kernel-source getty-ps lha unarj amp \
    bluez-firmware ipw2100-fw ipw2200-fw trn zd1211-firmware \
    xfractint xgames xv

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.

Slackware 14.0

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.

Note that the methodology has changed since 14.0, so this section looks shorter than it should have been. Even though the table for 14.1 looks longer, no new non-free packages were added between 14.0 and 14.1.

Name Comment Reference
extra/google-chrome/google-chrome-pam-solibs-1.1.3-x86_64-1.txz Since Chrome is non-free, there is no point to this package.
slackware64/a/getty-ps-2.1.0b-x86_64-1.txz Non-commercial only. main.c
slackware64/a/kernel-firmware-20120804git-noarch-1.txz Non-free blobs are included.
slackware64/a/lha-114i-x86_64-1.txz Too vague, according to FSF.
slackware64/a/unarj-265-x86_64-1.txz Cannot 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/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

Additionally, there are a few SlackBuilds which install non-free software, namely
extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild
extra/google-chrome/google-chrome.SlackBuild
extra/source/java/java.SlackBuild

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 rolling your own repository.

Project Goals

  1. Identify all non-free software distributed on Slackware DVD, as well as all software that does not belong in a free operating system.
  2. For each non-free piece of software (usually, a Slackware package), provide a short description of the license(s).
  3. Develop and document a way to get rid of all non-free software in an existing Slackware installation.
  4. Develop and document a way to upgrade an all-free Slackware installation.

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:

  1. tar archive
  2. gz, bz2, or xz archive
  3. SlackBuild script
  4. 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

  1. non-free software installers,
  2. have no practical use besides enabling the user to run non-free software,
  3. 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.

Branding

As a bit of an icing on the cake, we provide a distinctive lilo boot screen. This is strictly optional, as there is absolutely nothing wrong with the stock logo. Click on the thumbnail to get the BMP file.

FreeSlack lilo boot screen

If you like the logo, put it in /boot and make the following changes to /etc/lilo.conf

bitmap = /boot/freeslack.bmp
bmp-colors = 0,255,0,255,0,255
bmp-timer = 65,27,255,0

Files

Package licensing for Slackware 14.1: slackware-14.1-licenses.ods.

Package licensing for Slackware 14.0: slackware-14.0-licenses.csv. The CSV file is UTF-8, separated by tab only, with text delimiter ".

Binary Linux-libre Kernel Packages

Browse binary kernel packages (signed with this public key) or grab the SlackBuild script.

These are straight-up Linux-libre kernels, using the stock generic config (the one used to build kernel-generic). Well, almost: there are two important differences. First, the support for commonly used root file-systems is built in (ext2, ext3, ext4). Second, this single Slackware package contains kernel image, modules, and firmware. To reflect that it is different from the generic kernel, the name of the Slackware package is kernel-common. Its kernel version $(uname -r) has a -gnu suffix, and it will not collide with the stock kernels (we even install the firmware into a suffix-based path).

Simply install them with installpkg, then configure lilo or whatever bootloader you are using, and try booting. You should probably leave your old kernel in place until you are certain that the replacement works.

Participation

To participate, simply grab the table and start documenting in any order. Send me updates any time you've made considerable progress, and I will merge them and update this site. Don't worry about coordinating with other contributors: double-checking a package is of great utility to this project. Let me know if you have any comments, suggestions, or if and how you would like to get credited. My contact info can be found there. Email is OK, but encrypted email is better.

Licensing

All FreeSlack project documentation is licensed under GNU FDL 1.3 or the latest version published by FSF. In short, you are permitted to use it as you wish, but you must relicense derivative works under the same (or similar) license.

Contact the maintainer