SerenityOS

Last updated
SerenityOS
LadyBall-SerenityOS.png
SerenityOS 2023-07-14.png
The SerenityOS Desktop
Developer Andreas Kling and the SerenityOS community
Written in Serenity C++
OS family Unix-like
Working stateCurrent
Source model Open source
Initial releaseOctober 10, 2018;5 years ago (2018-10-10)
Repository
Available in English
Package manager Ports (as part of the build system)
Platforms x86-64
Kernel typeMonolithic
Userland POSIX
Default
user interface
GUI
License BSD-2-Clause
Official website www.serenityos.org

SerenityOS is a free and open source desktop operating system that has been in continuous development since 2018. Initially the one-man project of Swedish programmer Andreas Kling, SerenityOS is now developed by a community of hobbyists. The system supports the x86-64 instruction set, [1] features a preemptive kernel, and hosts multiple complex applications including its own web browser, Ladybird, and integrated development environment (IDE). [2] [3]

Contents

History

Buggie, the SerenityOS mascot Buggie-SerenityOS.png
Buggie, the SerenityOS mascot

Andreas Kling previously worked at Nokia and later at Apple on the WebKit team. [4] He began developing the project in part to aid his recovery from addiction, and as such the name of the project derives from the Serenity Prayer. [5] As of 2021, Kling works full-time on SerenityOS, supported by community donations. [5]

Features

SerenityOS aims to be a modern Unix-like operating system, with a look and feel that emulates 1990s operating systems such as Microsoft Windows and Mac OS. [6] Incorporating third-party code into the system is discouraged. The web browser, for instance, does not use a pre-existing web engine such as WebKit, instead using its own known as LibWeb. There is a collection of ported software, such as GCC, Git and Doom, with varying levels of functionality. [7]

Development does not adhere to a release cycle; as such, there are no releases. [8] Additionally, no binary distributions are provided and prospects are expected to build the system from source. [9] The system is written in what the authors call "Serenity C++", [10] a variant of C++ that lacks exceptions and features its own standard library. [11]

The relative popularity of SerenityOS compared to other hobbyist systems is in part due to the modest success of Kling's YouTube channel, where he uploads videos of himself developing parts of the system alongside demos and monthly progress updates. [12]

Web browser

SerenityOS includes the Ladybird browser, which can also run on other operating systems. It includes a functional JavaScript engine. [13] [14]

Reception

Jim Salter of Ars Technica regarded the use of the ext2 file system as his least favorite feature of the operating system. Compared to TempleOS (another operating system well known in the hobbyist community), he considered it more accessible. [3] For less technical users that are looking for a mid–to–late 90s reminiscent visual style, the Xfce Chicago95 theme or the Redmond Project has been recommended instead. [15]

Related Research Articles

<span class="mw-page-title-main">Irssi</span> Text-mode IRC client

Irssi is an Internet Relay Chat (IRC) client program for Linux, FreeBSD, macOS and Microsoft Windows. It was originally written by Timo Sirainen, and released under the terms of the GNU GPL-2.0-or-later in January 1999.

<span class="mw-page-title-main">Minix</span> Unix-like operating system

MINIX is a Unix-like operating system based on a microkernel architecture. Since version 2.0, it has been Portable Operating System Interface (POSIX) compliant.

Darwin is the core Unix operating system of macOS, iOS, watchOS, tvOS, iPadOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.

<span class="mw-page-title-main">Camino (web browser)</span> Discontinued open-source web browser

Camino is a discontinued free, open source, GUI-based Web browser based on Mozilla's Gecko layout engine and specifically designed for the OS X operating system. In place of an XUL-based user interface used by most Mozilla-based applications, Camino used Mac-native Cocoa APIs. On May 30, 2013, the Camino Project announced that the browser is no longer being developed.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which in addition to macOS is also the basis for the Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS OSes.

WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon Kindle e-book reader, Nintendo consoles starting with the 3DS Internet Browser, and the discontinued BlackBerry Browser. WebKit's C++ application programming interface (API) provides a set of classes to display Web content in windows, and implements browser features such as following links when clicked by the user, managing a back-forward list, and managing a history of pages recently visited.

This article compares browser engines, especially actively-developed ones.

<span class="mw-page-title-main">NetSurf</span> Web browser

NetSurf is an open-source web browser which uses its own layout engine. Its design goal is to be lightweight and portable. NetSurf provides features including tabbed browsing, bookmarks and page thumbnailing.

<span class="mw-page-title-main">Chromium (web browser)</span> Open-source web browser project

Chromium is a free and open-source web browser project, primarily developed and maintained by Google. It is a widely-used codebase, providing the vast majority of code for Google Chrome and many other browsers, including Microsoft Edge, Samsung Internet, and Opera. The code is also used by several app frameworks.

<span class="mw-page-title-main">Uzbl</span> Open source minimalist web browser

Uzbl is a discontinued free and open-source minimalist web browser designed for simplicity and adherence to the Unix philosophy. Development began in early 2009 and is still considered in alpha software by the developers. The core component of Uzbl is written in C, but other languages are also used, most notably Python. All parts of the Uzbl project are released as free software under GNU GPL-3.0-only.

<span class="mw-page-title-main">Arora (web browser)</span> Free and open-source web browser

Arora is a discontinued free and open-source web browser developed by Benjamin C. Meyer. It was available for Linux, Mac OS X, Windows, FreeBSD, OS/2, Haiku, Genode, and any other operating system supported by the Qt toolkit. The browser's features included tabbed browsing, bookmarks, browsing history, smart location bar, OpenSearch, session management, privacy mode, a download manager, WebInspector, and AdBlock.

<span class="mw-page-title-main">ChromiumOS</span> Free open-source operating system designed by Google

ChromiumOS is a free and open-source operating system designed for running web applications and browsing the World Wide Web. It is the open-source version of ChromeOS, a Linux-based operating system made by Google.

<span class="mw-page-title-main">Dolphin Browser</span> Web browser for Android and iOS

The Dolphin Browser is a web browser for the Android and iOS operating systems developed by MoboTap Inc. It was one of the first alternative browsers for the Android platform that introduced support for multi-touch gestures. Dolphin Browser uses its native platform's default browser engine.

Emscripten is an LLVM/Clang-based compiler that compiles C and C++ source code to WebAssembly, primarily for execution in web browsers.

<span class="mw-page-title-main">Raspberry Pi OS</span> Debian-based operating system for Raspberry Pi

Raspberry Pi OS is a Unix-like operating system based on the Debian GNU/Linux distribution for the Raspberry Pi family of compact single-board computers. First developed independently in 2012, it has been produced as the primary operating system for these boards since 2013, distributed by the Raspberry Pi Foundation.

<span class="mw-page-title-main">GNU LibreJS</span> Browser add-on to block nonfree nontrivial JavaScript

GNU LibreJS, or simply LibreJS, is a free software web browser extension for Mozilla Firefox-based browsers, written by the GNU Project. Its purpose is to block nonfree nontrivial JavaScript programs and allow free or trivial JS in a user's web browser. The add-on was written to address the so-called "JavaScript Trap" first described by Richard Stallman in 2009, a situation in which many users unknowingly run proprietary software in their web browsers.

<span class="mw-page-title-main">Fuchsia (operating system)</span> Computer operating system by Google

Fuchsia is an open-source capability-based operating system developed by Google. In contrast to Google's Linux-based operating systems such as ChromeOS and Android, Fuchsia is based on a custom kernel named Zircon. It publicly debuted as a self-hosted git repository in August 2016 without any official corporate announcement. After years of development, its official product launch was in 2021 on the first-generation Google Nest Hub, replacing its original Linux-based Cast OS.

References

  1. "SerenityOS update (December 2022)". YouTube .
  2. Kling, Andreas. "SerenityOS" . Retrieved 2021-08-26.
  3. 1 2 Salter, Jim (2021-08-18). "Not-a-Linux distro review: SerenityOS is a Unix-y love letter to the '90s". Ars Technica . Archived from the original on 2021-08-21. Retrieved 2021-08-18.
  4. Proven, Liam. "SerenityOS: A remarkable achievement for a small project". The Register . Retrieved 2023-05-19.
  5. 1 2 Kling, Andreas (2021-05-28). "I quit my job to focus on SerenityOS full time".
  6. TIVI. "Ohjelmoija kehitti c++:lla uuden käyttöjärjestelmän, joka jäljittelee 1990-lukua". Tivi (in Finnish). Archived from the original on 2020-05-16. Retrieved 2021-08-18.
  7. "serenity/Ports at master · SerenityOS/serenity". GitHub. Retrieved 2021-10-07.
  8. "Releases · SerenityOS/serenity". GitHub. Retrieved 2021-10-07.
  9. "Where are the ISO images?" in: serenity/FAQ.md, SerenityOS, 2021-10-07, retrieved 2021-10-07
  10. Documentation/CodingStyle.md, SerenityOS, 2021-10-07, retrieved 2021-10-07
  11. Kazakova, Anastasia (2021-11-12). "Talking to SerenityOS Contributors About a Scratch-built C++ Developer's Playground in Modern C++". blog.jetbrains.com. Archived from the original on 2023-12-22. Retrieved 2024-01-13.
  12. Gregori, Sven (2020-02-24). "Reaching Serenity: Porting Git To A Homebrew Operating System". Hackaday . Archived from the original on 2020-02-24. Retrieved 2021-08-18.
  13. Proven, Liam. "Serenity OS browser, Ladybird, now cross-platform". The Register . Retrieved 2024-04-06.
  14. By (2023-10-10). "Jenny's Daily Drivers: SerenityOS, And In Particular, Ladybird". Hackaday. Retrieved 2024-04-06.
  15. Beschizza, Rob (2021-08-17). "A refined 90s-style operating system you can actually use". Boing Boing . Archived from the original on 2021-08-21. Retrieved 2021-08-18.