serenity
The Serenity Operating System 🐞
SerenityOS: a from scratch operating system with a 90s heart
SerenityOS is a custom Unix like operating system built from scratch, aimed at the look of late 1990s software and the power user reach of late 2000s Unix. The whole thing lives in one repository.
The idea
The README calls SerenityOS a love letter to 90s user interfaces wrapped around a custom Unix like core, and it owns the borrowing openly, stealing beautiful ideas from other systems. The goal is a marriage between the aesthetic of late 1990s productivity software and the power user accessibility of late 2000s Unix. It is a system by its own community, based on what they like.
What's in the box
A 64 bit kernel with pre emptive multi threading, a browser with JavaScript and WebAssembly, system services like WindowServer, AudioServer, and WebServer, and modern IPC. POSIX compatibility covers a shell, syscalls, signals, pseudoterminals, and standard Unix utilities. File systems are POSIX like with ext2, and there is a network stack speaking IPv4, TCP, and UDP, plus DNS, HTTP, Gemini, IMAP, and NTP.
Security and tooling
The security list includes hardware protections, limited userland capabilities, W^X memory, pledge and unveil, ASLR, OOM resistance, and web content isolation. Developer tools run from kernel supported profiling to a CrashReporter, a HexEditor, an interactive GUI playground, and the HackStudio IDE for C++. There is a unified style and a flexible theming system with custom fonts.
Libraries and formats
Libraries span cryptography to OpenGL, audio, JavaScript, and a GUI toolkit, even a chess engine. Supported file formats include PNG, JPEG, GIF, MP3, WAV, FLAC, ZIP, TAR, PDF, and QOI. Everything is built from scratch in the repository with no extra dependencies, and on top of that sit over three hundred ports of popular open source software, from games to compilers and multimedia apps.
Building and reading the docs
Cross compilation works from Linux, macOS, Windows with WSL2, and other Unix systems, and the default build launches a QEMU instance. Man pages are generated from Markdown sources and hosted at man.serenityos.org. The README's author list is long, naming everyone with over 100 commits, which gives a sense of how many hands have touched the project.
Editorial conclusion
The tone of the README is part of the charm, a system by its own community, built from the things they like. For anyone curious what a hobby OS project with big ambitions looks like in one place, this is a good read.
Community notes