Analysis updated 2026-06-20
Study how a real operating system kernel works by reading clean, modern C++ code rather than legacy C
Contribute to building a browser engine from scratch, including its own JavaScript and CSS implementation
Run a self-contained hobby OS in QEMU on your Linux, macOS, or Windows machine to explore OS internals
Learn about memory management, multi-threading, and security features by reading a complete OS codebase
| serenityos/serenity | carbon-language/carbon-lang | cmu-perceptual-computing-lab/openpose | |
|---|---|---|---|
| Stars | 33,135 | 33,676 | 34,060 |
| Language | C++ | C++ | C++ |
| Setup difficulty | hard | hard | hard |
| Complexity | 5/5 | 4/5 | 4/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Building the entire OS from scratch takes significant time and disk space, a fast multi-core Linux machine is strongly recommended.
SerenityOS is a complete operating system built entirely from scratch, written mostly in C++. It is not a Linux distribution or a project built on top of an existing OS, it is an independent operating system that includes its own kernel, its own web browser, its own set of applications, its own GUI framework, and its own standard libraries, all written by its community. The design philosophy is a nostalgic love letter to late-1990s desktop computing aesthetics (think classic Windows and Unix workstations) combined with modern technical capabilities. It runs on 64-bit x86, ARM, and RISC-V hardware. The kernel supports pre-emptive multi-threading, meaning multiple programs genuinely run simultaneously, and includes a range of modern security features such as address space randomization, hardware memory protections, and isolated web content processes. The browser included in SerenityOS, called Ladybird, is particularly notable: it implements JavaScript, CSS, and WebAssembly support from scratch rather than using any existing browser engine like Blink or WebKit. Ladybird has grown into a separate project with its own community. You would use or contribute to SerenityOS if you are deeply interested in how operating systems work at a fundamental level, want to study OS internals by reading clean C++ code rather than legacy C code, or enjoy the hobby computing aesthetic of building everything yourself. It is primarily an educational and hobbyist project, not a daily-driver replacement for existing operating systems. The entire codebase, kernel, userland applications, libraries, browser, games, and over 300 ports of popular open-source software, lives in a single repository with no external dependencies. It can be built on Linux, macOS, or Windows (via WSL2) and runs in QEMU for testing.
A complete operating system written from scratch in C++, including its own kernel, browser, GUI, and apps, inspired by late-90s desktop computing aesthetics and designed as an educational and hobbyist project.
Mainly C++. The stack also includes C++, x86-64, ARM.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.