Slackware


Slackware is a Linux distribution created by Patrick Volkerding in 1993. Originally based on Softlanding Linux System, Slackware has been the basis for many other Linux distributions, most notably the first versions of SUSE Linux distributions, and is the oldest distribution that is still maintained.
Slackware aims for design stability and simplicity and to be the most "Unix-like" Linux distribution. It makes as few modifications as possible to software packages from upstream and tries not to anticipate use cases or preclude user decisions. In contrast to most modern Linux distributions, Slackware provides no graphical installation procedure and no automatic dependency resolution of software packages. It uses plain text files and only a small set of shell scripts for configuration and administration. Without further modification, it boots into a command-line interface environment. Because of its many conservative and simplistic features, Slackware is often considered to be most suitable for advanced and technically inclined Linux users.
Slackware is available for the IA-32 and x86_64 architectures, with a port to the ARM architecture. While Slackware is mostly free and open-source software, it does not have a formal bug-tracking facility or public code repository, with releases periodically announced by Volkerding. No formal membership procedure exists for developers, and Volkerding is the primary contributor to releases.

Name

The name "Slackware" stems from the fact that the distribution started as a private side project with no intended commitment. To prevent it from being taken too seriously at first, Volkerding gave it a humorous name, which stuck even after Slackware became a serious project.
Slackware refers to the "pursuit of Slack", a tenet of the Church of the SubGenius, a parody religion. Certain aspects of Slackware graphics reflect this, e.g. the pipe that Tux is smoking, as influenced by the image of J. R. "Bob" Dobbs' head.
A humorous reference to the Church of the SubGenius can be found in many versions of the install.end text files, which indicate the end of a software series to the setup program. In recent versions, including Slackware release 14.1, the text is ROT13 obfuscated.

History

Birth

Slackware was originally derived from the Softlanding Linux System, the most popular of the original Linux distributions and the first to offer a comprehensive software collection that comprised more than just the kernel and basic utilities, including an X11 graphical interface, TCP/IP, UUCP networking, and GNU Emacs.
Patrick Volkerding started with SLS after needing a LISP interpreter for a school project at the then-named Moorhead State University. He found CLISP was available for Linux and downloaded SLS to run it. A few weeks later, Volkerding was asked by his artificial intelligence professor at MSU to show him how to install Linux at home and on some of the computers at school. Volkerding had made notes describing fixes to issues he found after installing SLS, and his professor and he went through and applied those changes to a new installation. This took almost as long as it took to just install SLS, though, so the professor asked if the install disks could be adjusted so the fixes could be applied during installation. This was the start of Slackware. Volkerding continued making improvements to SLS - fixing bugs, upgrading software, automatic installation of shared libraries and the kernel image, fixing file permissions, and more. In a short time, Volkerding had upgraded around half the packages beyond what SLS had available.
Volkerding had no intentions to provide his modified SLS version for the public. His friends at MSU urged him to put his SLS modifications onto an FTP server, but Volkerding assumed that "SLS would be putting out a new version that included these things soon enough", so he held off for a few weeks. During that time, many SLS users on the internet were asking SLS for a new release, so eventually Volkerding made a post titled "Anyone want an SLS-like 0.99pl11A system?", to which he received many positive responses. After a discussion with the local system administrator at MSU, Volkerding obtained permission to upload Slackware to the university's FTP server. This first Slackware release, version 1.00, was distributed on July 17, 1993, at 00:16:36, and was supplied as twenty-four " floppy disk images. After the announcement was made, Volkerding watched as the flood of FTP connections continually crashed the server. Soon afterwards, Walnut Creek CDROM offered additional archive space on their FTP servers.

Development

The size of Slackware quickly increased with the addition of included software, and by version 2.1, released October 1994, it had more than tripled to comprise 73 1.44 MB floppy disk images.
In 1999, Slackware had its version jump from 4 to 7. Slackware version numbers were lagging behind other distributions, and this led many users to believe it was out of date, though the bundled software versions were similar. Volkerding made the decision to bump the version as a marketing effort to show that Slackware was as up-to-date as other Linux distributions, many of which had release numbers of 6 at the time. He chose 7, estimating that most other distributions would soon be at this release number.
In April 2004, Patrick Volkerding added X.Org Server packages into the testing/ directory of -current as a replacement for the XFree86 packages currently being used, with a request for comments on what the future of the X Window System in Slackware should be. A month later, he switched from XFree86 to X.Org Server after stating that the opinions were more than four to one in favor of using the X.org release as the default version of X. He stated the decision was primarily a technical one, as XFree86 was proving to cause compatibility problems. Slackware 10.0 was the first release with X.Org Server.
In March 2005, Patrick Volkerding announced the removal of the GNOME desktop environment in the development ChangeLog. He stated this had been under consideration for more than four years, and that other projects already provided a more complete version of GNOME for Slackware than what Slackware itself provided. Volkerding stated future GNOME support would rely on the community. The community responded and as of October 2016, several active GNOME projects were available for Slackware, including Cinnamon, Dlackware, Dropline GNOME, MATE, and SlackMATE. The removal was deemed significant by some in the Linux community due to the prevalence of GNOME in many distributions.
In May 2009, Patrick Volkerding announced the public release of an official x86_64 variant, called Slackware64, maintained in parallel with the IA-32 distribution. Slackware64 is a pure 64-bit distribution in that it does not support running or compiling 32-bit programs, but it was designed as "multilib-ready". Eric Hameleers, one of the core Slackware team members, maintains a multilib repository that contains the necessary packages to convert Slackware64 to multilib to enable running of 32-bit software. Hameleers started the 64-bit port as a diversion from the pain of recovering from surgery in September 2008. Volkerding tested the port in December 2008, and was impressed when he saw speed increases between 20 and 40% for some benchmarks compared to the 32-bit version. To minimize the extra effort of maintaining both versions in parallel, Slackware's build scripts, called SlackBuilds, were slowly transitioned to supporting either architecture, allowing for one set of sources for both versions. Slackware64 saw its first stable release with version 13.0.
Between the November 2013 release of 14.1 and June 2016, Slackware had a 31-month gap between releases, marking the longest span in release history. During this time, the development branch went without updates for 47 days. On April 21, 2015, though, Patrick Volkerding apologized on the ChangeLog for the absence of updates and stated that the development team used the time to get "some good work done". Over 700 program changes were listed on that ChangeLog entry, including many major library upgrades. In January 2016, Volkerding announced the reluctant addition of PulseAudio, primarily due to BlueZ dropping direct ALSA support in v5.x. while various other projects were, in turn, dropping support for BlueZ v4.x. Knowing some users would not be happy with the change, he stated, "Bug reports, complaints, and threats can go to me." These changes culminated in the release of Slackware 14.2 in June 2016.

Historical documentation

David Cantrell worked as a core member of the Slackware team between 1999 and 2001, and described that period on the Slackware ARM Vlog. Patrick Volkerding provided further information about the time period in two interviews.

Design philosophy

The design philosophy of Slackware is oriented toward simplicity, software purity, and a core design that emphasizes lack of change to upstream sources. Many design choices in Slackware can be seen as a heritage of the simplicity of traditional Unix systems and as examples of the KISS principle. In this context, "simple" refers to the simplicity in system design, rather than system usage. Thus, ease of use may vary between users; those lacking knowledge of command-line interfaces and classic Unix tools may experience a steep learning curve using Slackware, whereas users with a Unix background may benefit from a less-abstract system environment. In keeping with Slackware's design philosophy and its spirit of purity, most software in Slackware uses the original configuration mechanisms supplied by the software's authors; for some administrative tasks, though, distribution-specific configuration tools are delivered.

Development model

No formal issue tracking system and no official procedure is needed to become a code contributor or developer. The project does not maintain a public code repository. Bug reports and contributions, while being essential to the project, are managed in an informal way. All the final decisions about what is going to be included in a Slackware release strictly remain with Slackware's benevolent dictator for life, Patrick Volkerding.
The first versions of Slackware were developed by Patrick Volkerding alone. Beginning with version 4.0, the official Slackware announce files list David Cantrell and Logan Johnson as part of the "Slackware team". Later announce statements, up to release version 8.1, include Chris Lumens. Lumens, Johnson and Cantrell are also the authors of the first edition of "Slackware Linux Essentials", the official guide to Slackware Linux. The Slackware website mentions Chris Lumens and David Cantrell as being "Slackware Alumni", who "worked full-time on the Slackware project for several years." In his release notes for Slackware 10.0 and 10.1 Volkerding thanks Eric Hameleers for "his work on supporting USB, PCI, and Cardbus wireless cards". Starting with version 12.0 there is, for a second time, a team building around Volkerding. According to the release notes of 12.2, the development team consists of seven people. Future versions added people. Since version 13.0, the Slackware team seems to have core members. Eric Hameleers gives an insight into the core team with his essay on the "History of Slackware Development", written on October 3–4, 2009.