General-purpose OS, special-purpose OS, and now: vendor-purpose OS June 26, 2020 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/public-inbox@lists.sr.ht [mailing list etiquette]

Articles from blogs I read Generated by openring

Saying "no" to unethical tasks

Back in spring 2019, I was a student working as an intern at the Intel Open Source Graphics Center in Finland. I was mainly focused on improving igt-gpu-tools, the test suite that runs each time a patch is submitted for the i915 kernel driver. I really liked…

via emersion November 23, 2020

SourceHut's second year in alpha

Today is the second anniversary of SourceHut being made available to the general public during its alpha phase of development, and the end of the fourth year of development. What a year it’s been! If only I could send a warning to the younger me who wrote la…

via Blogs on Sourcehut November 15, 2020

Graphics for JVM

Introducing Skija, Java bindings for Google graphics library, Skia

via tonsky.me November 14, 2020