Has Linux lost the Unix Philosophy?

Off the Beat: Bruce Byfield's Blog
Whenever a technical dispute breaks out in Linux, someone is sure to condemn a solution for not following the Unix Philosophy. The argument makes sense, because, although GNU may be short for GNU's not Unix, the structure of GNU/Linux remains an obvious derivative of UNIX. But is the Unix Philosophy even relevant to modern GNU/Linux, with its emphasis on the desktop and efforts to attract disaffected Windows users? In some ways, definitely.
The Unix Philosophy is a design aesthetic describing how programs and operating systems should interact. It exists in several versions, many of which are expansions or summaries of others. However, the versions remain roughly consistent with each other. My favorite version -- mainly because of its brevity -- is Peter H. Salus' in A Quarter-Century of Unix:
- Write programs that do one thing and do it well.
- Write programs to work together.
- Write programs to handle text streams, because that is a universal interface
Keeping the old school alive
How closely is that followed today? Relatively well, so far as using text stream goes. A majority of Linux programs continue to use plain text configuration files, which means that users can easily edit them, using the text editor of their choice.
However, there are a few exceptions. GRUB 2, for example, discourages manual editing, automating new entries after a new kernel or operating system is added. Similarly, Systemd uses binary files for its logs, while KDE's Akonadi, by making use of a database, ensures that any failure will be catastrophic, and unrepairable manually.
Such changes are usually made in the name of efficiency. All too often, however, the efficiency is gained by interfering with the do-it-yourself ethos that should almost be a fourth pillar of the Unix Philosophy.
The situation is even better when it comes to programs working well together. In modern Linux, open standards are a rule with very few exceptions.
For instance, GIMP and Krita have their own formats, but, thanks to the innumerable open graphics formats, files are exchangeable with very few problems.
The problems that do exist are largely a matter of how formats are interpreted. For example, transferring files in Open Document Format between LibreOffice and Calligra Suite can result in inconsistencies such as changes in color. Correcting these inconsistencies is unglamorous work, which is perhaps one reason why improvement is slow, but, these days, even a relatively highly formatted MS Word document can be handled reasonably successfully in Linux. True, something like a MS Word brochure rapidly crumbles into gibberish when exchanged, but the progress over the last decade is noticeable. If the situation is not ideal, at least the ideal is recognized.
However, modern Linux's greatest departure from the Unix Philosophy is having one small program do one thing well. In fact, the idea has been largely abandoned.
You can see the change quite clearly. Image Magick, for example, is the name for a collection of individual scripts for editing graphics. By contrast, Krita is a collection of features integrated into a common interface. Similarly, groff/troff are a collection of options for editing plain text files, LibreOffice an interface with similar features integrated into it that supports multiple formats.
Without actually counting, I suspect that Krita has more features than Image Magick, and LibreOffice more than groff/troff (although I could be wrong), but the main difference is that, as desktop projects, Krita and LibreOffice offer convenience at the cost of being vastly larger programs.
In a few corners, such as the Slackware community, the ideal is still alive. From LibreOffice to KDE, more than one program does not accompany a Slackware release because it is actually a loose collection of dozens of programs. However, many people want these excluded programs, so they are easy to find in online repositories or else in derivative-distributions. Refugees from Windows in particular seem to want to have large programs that do everything, and the majority of distributions do not even try to control them.
Even if official efforts are made to have one program do one thing, the unoffical efforts to bypass this principle more or less reduce the official efforts to empty gestures before they are done.
Why it matters
The Unix Philosophy cannot be enforced, and, even if it could be, whether it should be is uncertain. After all, if people want a huge office suite, is anything wrong with giving them one, especially when memory shortages are no longer a concern? Anyway, as the acronym says, GNU's Not Unix, so why should it be expected to follow Unix conventions?
At the same time, the Unix Philosophy can be said to encourage elegant and economical solutions. In weakening its tenets, and abandoning one almost entirely, Linux may have not only abandoned its roots, but, perhaps, some of its excellence as well.
comments powered by DisqusIssue 269/2023
Buy this issue as a PDF
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Find SysAdmin Jobs
News
-
Kubuntu Focus Announces XE Gen 2 Linux Laptop
Another Kubuntu-based laptop has arrived to be your next ultra-portable powerhouse with a Linux heart.
-
MNT Seeks Financial Backing for New Seven-Inch Linux Laptop
MNT Pocket Reform is a tiny laptop that is modular, upgradable, recyclable, reusable, and ships with Debian Linux.
-
Ubuntu Flatpak Remix Adds Flatpak Support Preinstalled
If you're looking for a version of Ubuntu that includes Flatpak support out of the box, there's one clear option.
-
Gnome 44 Release Candidate Now Available
The Gnome 44 release candidate has officially arrived and adds a few changes into the mix.
-
Flathub Vying to Become the Standard Linux App Store
If the Flathub team has any say in the matter, their product will become the default tool for installing Linux apps in 2023.
-
Debian 12 to Ship with KDE Plasma 5.27
The Debian development team has shifted to the latest version of KDE for their testing branch.
-
Planet Computers Launches ARM-based Linux Desktop PCs
The firm that originally released a line of mobile keyboards has taken a different direction and has developed a new line of out-of-the-box mini Linux desktop computers.
-
Ubuntu No Longer Shipping with Flatpak
In a move that probably won’t come as a shock to many, Ubuntu and all of its official spins will no longer ship with Flatpak installed.
-
openSUSE Leap 15.5 Beta Now Available
The final version of the Leap 15 series of openSUSE is available for beta testing and offers only new software versions.
-
Linux Kernel 6.2 Released with New Hardware Support
Find out what's new in the most recent release from Linus Torvalds and the Linux kernel team.