In the last four years, a former Apple developer named Andreas Kling has been working on a personal project (in fact, it was originally born as a ‘therapy’ project) that, in recent weeks, has been reaping increasing popularity. Its name is SerenityOS and, as its name suggests, it is a new operating system.
It is not exactly a general-purpose operating system, but one aimed at users with very specific tastes:
“SerenityOS is a love letter to ’90s user interfaces on a custom Unix-like foundation. I’d be honest to say that it steals good ideas from various systems – broadly speaking, the goal is to marry the aesthetics of late office software of the ’90s with the accessibility of Unix for advanced users of the late 2000s”.
In other words, we are dealing with a Unix operating system (but it does not belong to the Linux or *BSD subfamilies, although it uses the open BSD license ), equipped with a vintage graphical interface and designed for x86 desktop computers.
It already has your own multitasking kernel, your own window manager an IPv4 network stack (ARP, TCP, UDP and ICMP protocols), Ext2 file system, a graphical toolkit (LibGUI) and a 2D graphical library (LibGfx).
And it is that absolutely everything in SerenityOS has been developed from scratch (using C++), which has allowed you to experiment without being due to future customers or backwards compatibility. So the system even includes a spreadsheet application whose formulas are written using JavaScript.
As Kling explains in an interview with Ars Technica:
“When we started, we imported four or five functions from the NetBSD C standard library, but they ended up being removed over time. Now we’re free of third-party code, with the exception of the build process.”
The above build process is the only way to get an executable version of SerenityOS: there is, for now, no ISO available for download, just a source code which, once compiled, will generate a virtual machine.
It does not have a package system or repositories: all the software available for SerenityOS is included in the operating system itself, although it does leave open the option to install third-party software using a system of ‘ports’ similar to that of FreeBSD… but forcing you to recompile the entire operating system again.
Among the ports already available we can find those of several popular video games such as Quake (I and II), Half-Life (since last January), Doom or VVVVVV, which complement own developments of the project’s collaborators:
Quake II running on a SerenityOS installation with experimental multicore support (watch out for that ‘System Monitor’).A negative aspect of SerenityOS is that multicore support, although already available, is still considered ‘immature’ by its creator. However, even if you only harness the power of a single processor core, you will get the most out of it: its clean code offers exceptional performance for the type of OS we are talking about.
Before rushing to ask if this or that functionality of your interest will end up being implemented in the operating system, we recommend read their FAQ:
Will SerenityOS be compatible with $THING?
Maybe. Maybe not. There is no plan.
When are you going to implement such $THING?
Maybe one day. Maybe never. If you want something to happen, you can do it yourself!
And, although everything in SerenityOS seems to revolve around Andreas Kling, the truth is that it has more and more help from the community: last September it celebrated half a thousand collaborators on its GitHub… and it is about to reach 750.
An operating system aesthetically identical to Windows NT with a Unix heart? Every sysadmin’s dream… well into years
How this project came about (and how it evolves)
Why call this new operating system SerenityOS? We have mentioned before that, for its creator, this was a personal therapy project: Kling is an ex-addict who, after leaving a detox clinic, decided to create an operating system to focus his mind and occupy his time with something.
So to baptize his creation he decided to be inspired, in a reminder way in the ‘serenity prayer’, so popular among addicts anonymous organizations.
The project seems to have been positive for him, since last May he made the decision to quit his job so he can focus on SerenityOS full-time. At that time, as revealed on his blog, she was earning more than $2,000 a month as a donation, in addition to occasional merchandising sales.
“I’m not trying to get rich off of this: I’m just a human being trying to stay sane and healthy, but it turns out that my therapy project has connected with thousands of people, many of whom want to support it and see where it’s going. It is truly an honor to be in this position.”
In any case, even if you have no interest in installing and using SerenityOS at some point, it’s still a very interesting project for any lover of operating systems…… well Kling has been documenting on their website (and 2) and on YouTube (with hundreds and hundreds of videos) the process of building an OS from scratch commenting on all the challenges he has faced and the reasons behind his approach to developing it. An earlier version of this article was published in 2021.