General-purpose OS, special-purpose OS, and now: vendor-purpose OS

Published 2020-06-26 on Drew DeVault's blog

There have, historically, been two kinds of operating systems: general-purpose, and special-purpose. These roles are defined by the function they serve for the user. Examples of general-purpose operating systems include Unix (Linux, BSD, etc), Solaris, Haiku, Plan 9, and so on. These are well-suited to general computing tasks, and are optimized to solve the most problems possible, perhaps at the expense of those in some niche domains. Special-purpose operating systems serve those niche domains, and are less suitable for general computing. Examples of these include FreeRTOS, Rockbox, Genode, and so on.

These terms distinguish operating systems by the problems they solve for the user. However, a disturbing trend is emerging in which the user is not the party whose problems are being solved, and perhaps this calls for a new term. I propose “vendor-purpose operating system”.

I would use this term to describe Windows, macOS, Android, and iOS, and perhaps some others besides. Arguably, the first two used to be general purpose operating systems, and the latter two were once special-purpose operating systems. Increasingly, these operating systems are making design decisions which benefit the vendor at the expense of the user. For example: Windows has ads and excessive spyware, prevents you from making a local login without a Microsoft account, and aggressively pushes you to switch to Edge from other web browsers, as well as many other examples besides.

Apple is more subtle from the end-user’s perspective. They eschew standards to build walled gardens, opting for Metal rather than Vulkan, for example. They use cryptographic signatures to enforce a racket against developers who just want to ship their programs. They bully vendors in the app store into adding things like microtransactions to increase their revenue. They’ve also long been making similar moves in their hardware design, adding anti-features which are explicitly designed to increase their profit — adding false costs which are ultimately passed onto the consumer.

All of these decisions are making the OS worse for users in order to provide more value to the vendor. The operating system is becoming less suited to its general-purpose tasks, as the vendor-purpose anti-features deliberately get in the way. They also become less suited at special-purpose tasks for the same reasons. These changes are making improvements for one purpose: the vendor’s purpose. Therefore, I am going to start refering to these operating systems as “vendor purpose”, generally alongside a curse and a raising of the middle finger.

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/ [mailing list etiquette]

Are you a free software maintainer who is struggling with stress, demanding users, overwork, or any other social problems in the course of your work? Please email me — I know how you feel, and I can lend a sympathetic ear and share some veteran advice.

Articles from blogs I follow around the net

A Satisfactory Way of Building

With apologies, as usual, to Christopher Alexander. Satisfactory is a first-person factory construction game. COVID-19 has given me license to spend FAR too much time playing it, and I’d like to share a few thoughts that I hope might prove useful, or at le…

via Aphyr: Posts June 21, 2020

Time to upgrade your monitor

A non-comprehensive and opinionated guide to best monitor for programming

via June 17, 2020

Status update, June 2020

Time for a new monthly status update! Let’s start with Wayland stuff. Once again I’ve continued working on wlroots’ DRM backend. I’ve submitted a bunch of bugfixes for all of the atomic refactoring done last month. I’ve also started working on integrating…

via emersion June 17, 2020

Generated by openring