I have a plan. I'm not sure I'll be able to finish it, but I DO have it.
Let's look at Plan 9 for a moment. Plan 9 was created, because the Bell Labs team looked at UNIX and realised that it's a bit outdated. A lot of new technologies sprung up and became mainstream since UNIX's creation. The few obvious being networking and GUIs. UNIX was not build with these ideas in mind and they had to be glued on.
Plan 9 was intended to experiment with these new technologies. It never became popular and the development ended. There are projects, mainly 9front, that keep Plan 9 somehow, if not alive, maintained.
This is good. Plan 9 is nice system and it's fun to play with it. It does give me this weird feeling, tho. When using this, supposedly revolutionary, OS, you are constantly reminded that it's, well, old.
Web browser with no JS that only supports ancient version of HTML and CSS. UI designed for ancient three-button mice that are no longer being made. Standard commands missing more modern features. (I mean, BSDs also don't support many of the GNU extensions, but still...) You get this revolutionary network filesystem (still without encryption I think), but no servers to connect to, as the world moved in different direction.
I'm no stranger to using 'old' or 'retro' or 'traditional' software or whatever you feel like calling it today, but this just feels different. The idea was building an OS which incorporates the latest tech. The community, however, keeps it at live support as an obsolete relic of the past, instead of devoting the effort towards building something new and fresh.
That is not a problem, tho. Surely, other projects experiment with new tech, right? RIGHT?
Well, I have searched. I sure have not seen all operating systems, but I have seen a few. They mostly fall into two categories:
And I get it. Building an OS is hard and building an innovative OS with design never seen before is even harder. I can still be sad about it tho...
What would an OS built on modern tech of 2025 look like?
Well, I'll say that Plan 9 is a good start. Fancy filesystem shenanigans are always fun and make whatever tech you have at hand easier to embed into your OS. Networking has mostly been narrowed down to the web. I think that HTTP/HTTPS should be the main building block, with some support from the SSH stack, but extending to other protocols should not be all that hard.
Plan 9 was build for private cloud. I think that a switch to the public cloud (while still leaving the local cloud a valid option) would be a good idea.
You could have the OS running somewhere on a server and connect to it from a web browser. Here you could open web applications, like if they were native apps. 'Native' apps would be either CLI, or web apps running locally on your server. I wouldn't call it a thin client tho, as many things would still run in your browser on your local machine.
Programs on Plan 9 communicate with each other via synthetic filesystems. I think that programs on this hypothetical OS could communicate via a REST API or something like that, which could also be mounted to a filesystem somehow.
AI is all the rage now, and is kinda the prime example of bleeding edge tech right now. If for no other reason, the OS should be AI capable. It should still be a fully optional part tho, and be done in way better way than Microsoft Copilot. Maybe somehow blend it with the filesystem, since all things will be routed through it as well? Maybe mix it into some sort of plumbing system? This part could still use some designing, but it should be there.
And this all thinking got me sad, because it's all just in my head and I won't be able to experience it and realise how shitty idea it actually was all along.
Unless-
Well, kinda. You see, there is actually no need to start from scratch. All the main parts of the experiment should be implementable from userspace. Sure, rebuilding everything could allow for even more experimentation, but I feel like Linux already provides all the tools needed to implement this experiment. In addition, sticking to Linux will mean that I will give users access to plenty of command line tools and allow development in whichever language you want, which is very nice.
So the plan (in no particular order) is the following:
Let's see how long til I get bored and take a stab at gamedev again or something.