If you think that all other OSes are more complex, then I suggest that you investigate the fairly rich space of other OSes designed for single-user workstations.
The problem with a lot of these alternate OSes was that they were still too opinionated. Plan 9 tried to abstract away individual computers and impose a particular approach to sharing resources. Oberon was as you say type safe and object oriented and tied to a particularly peculiar Ui paradigm. Netware was barely an OS, really just a highly optimised network file system.
Tellingly a lot of the services and applications that were parts of these OSes made their way into Unix. That’s because these were application level services that had been tied into the OS at a low level. Too opinionated. If you wanted to access compute resources using a different model to Plan9, then Plan9’s implementation got in your way. If you didn’t want to run software using the Oberon language, the Oberon OS got in your way. If you wanted to do something other than access files using the Netware protocol, Netware got in your way.
To the extent any of these OSes were simpler or easier to develop on than Unix, their advantage simply wasn’t enough of a win to make it worthwhile.
That’s the historical argument though. For the forward looking situation, there is a lot of interesting work being done but it’s all at levels above that of the OS. Network services, storage systems, programming paradigms, resource abstraction. There’s plenty of innovation in these going on, it just doesn’t need to be done as something baked into a new underlying OS. There’s nothing wrong with building it as a service on top of Unix.
Most of those things really aren't part of the OS as such, they're just applications. Command line tools and UIs for example. They're just utilities, they don't matter at the level we're talking about here, about the operating system as a platform for developing and running software. You're complaining about the software people run on it, not the base layer of the OS itself.
This is what I'm trying to point out, too many other OS projects rolled abstracted services into the base layer of the OS in order to make things easier to develop applications. That was a mistake because it tied them to particular implementations of those services.
In fact I'd go so far as to say that none of those things are applications.
But one of the problems of discussions about concepts and philosophies in computing, I find, is that people are very wedded to their ideas and will eagerly redefine them on the fly in an attempt to defend them.
So, for instance, I think that a fairly useful example of what counts as "part of the OS" today would be, for instance, what comes along with the OS on its installation medium. And to dodge questions of who-wrote-what, let's say that as an example let us talk about, say, FreeBSD or OpenBSD. They are the products of single teams of people, unlike any Linux distro.
So they are recent, they are current versions, and can reasonably be described as two of the most complete modern versions of UNIX that are the products of single teams.
Excluding Firefox, for example, as being manifestly an external component, albeit a FOSS one that can be installed directly from either OS's repos.
Both come with an X.11 server as a standard OS component. That is not an application. Both offer Xfce as a standard desktop. That too is not an application.
An X server is every bit as much an OS component of 21st century UNIX as is `awk` or `sed`. It is not 1974. We are not using PDP-11s any more.
Tell me, can you pipe things to an X server? Can you usefully pipe its output to another program?
I don't think that you can. And that, I submit, blows clean out of the water all the high-minded stuff about the conceptual purity of UNIX.
Comments
The problem with a lot of these alternate OSes was that they were still too opinionated. Plan 9 tried to abstract away individual computers and impose a particular approach to sharing resources. Oberon was as you say type safe and object oriented and tied to a particularly peculiar Ui paradigm. Netware was barely an OS, really just a highly optimised network file system.
Tellingly a lot of the services and applications that were parts of these OSes made their way into Unix. That’s because these were application level services that had been tied into the OS at a low level. Too opinionated. If you wanted to access compute resources using a different model to Plan9, then Plan9’s implementation got in your way. If you didn’t want to run software using the Oberon language, the Oberon OS got in your way. If you wanted to do something other than access files using the Netware protocol, Netware got in your way.
To the extent any of these OSes were simpler or easier to develop on than Unix, their advantage simply wasn’t enough of a win to make it worthwhile.
That’s the historical argument though. For the forward looking situation, there is a lot of interesting work being done but it’s all at levels above that of the OS. Network services, storage systems, programming paradigms, resource abstraction. There’s plenty of innovation in these going on, it just doesn’t need to be done as something baked into a new underlying OS. There’s nothing wrong with building it as a service on top of Unix.
I think they only look to opinionated if you happen to primarily know and be familiar with Unix's opinions. :-)
I personally was not.
Unix was the about the 8th OS I learned when I was in my teens, and I still find it highly "opinionated" and not very comfortable to this day.
Not everything is a file, it only pretends that. Lots of things aren't.
Some things are case-sensitive, unless they're not.
Files don't have extensions unless they do, in which case they might be critically important, or they might not.
Programs communicate over console IO and pipes, unless they don't.
Command line switches can be a letter or a word or a phrase, might have a minus in front, might have two, might have none: do ya feel lucky, punk?
Standard UI? Don't make me laugh. It's as bad as DOS was in 1987.
It's a mess, and every successive version is worse not better.
Most of those things really aren't part of the OS as such, they're just applications. Command line tools and UIs for example. They're just utilities, they don't matter at the level we're talking about here, about the operating system as a platform for developing and running software. You're complaining about the software people run on it, not the base layer of the OS itself.
This is what I'm trying to point out, too many other OS projects rolled abstracted services into the base layer of the OS in order to make things easier to develop applications. That was a mistake because it tied them to particular implementations of those services.
I disagree.
In fact I'd go so far as to say that none of those things are applications.
But one of the problems of discussions about concepts and philosophies in computing, I find, is that people are very wedded to their ideas and will eagerly redefine them on the fly in an attempt to defend them.
So, for instance, I think that a fairly useful example of what counts as "part of the OS" today would be, for instance, what comes along with the OS on its installation medium. And to dodge questions of who-wrote-what, let's say that as an example let us talk about, say, FreeBSD or OpenBSD. They are the products of single teams of people, unlike any Linux distro.
I installed FreeBSD as recently as yesterday, as research for this article: https://www.theregister.com/2022/05/20/freebsd_131/
And as the piece mentions, OpenBSD in April, for this one: https://www.theregister.com/2022/04/22/openbsd_71_released_i...
So they are recent, they are current versions, and can reasonably be described as two of the most complete modern versions of UNIX that are the products of single teams.
Excluding Firefox, for example, as being manifestly an external component, albeit a FOSS one that can be installed directly from either OS's repos.
Both come with an X.11 server as a standard OS component. That is not an application. Both offer Xfce as a standard desktop. That too is not an application.
An X server is every bit as much an OS component of 21st century UNIX as is `awk` or `sed`. It is not 1974. We are not using PDP-11s any more.
Tell me, can you pipe things to an X server? Can you usefully pipe its output to another program?
I don't think that you can. And that, I submit, blows clean out of the water all the high-minded stuff about the conceptual purity of UNIX.