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
Influenced by FreeBSD/OpenBSD/macOS, Windows 9x/Windows 2000, GNU/Linux [ citation needed ]
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] (though work is currently at the early stages to support AArch64 and RISCV [2] ), features a preemptive kernel, and hosts multiple complex applications including its own web browser, Ladybird, and integrated development environment (IDE). [3] [4]

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. [5] 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. [6] As of 2021, Kling works full-time on SerenityOS, supported by community donations. [6]

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. [7] 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. [8]

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

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. [13]

Web browser

SerenityOS includes the Ladybird browser, which, also developed by Andreas Kling along with paid and volunteer developers, is a browser built from the ground up in a similar style to Apple's Safari browser. It includes a functional JavaScript engine, JIT compilation, a task manager, and support for CSS and C++, [14] [15] [16]

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. [4] 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. [17]

Related Research Articles

<span class="mw-page-title-main">Syllable Desktop</span> Operating system

Syllable Desktop is a discontinued free and open-source lightweight hobbyist operating system for Pentium and compatible processors. Its purpose was to create an easy-to-use desktop operating system for the home and small office user. It was forked and expanded AtheOS after the developer of AtheOS moved on to other projects in July 2002.

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">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">Homebrew (package manager)</span> macOS CLI package manager in Ruby

Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple's operating system, macOS, as well as Linux. The name is intended to suggest the idea of building software on the Mac depending on the user's taste. Originally written by Max Howell, the package manager has gained popularity in the Ruby on Rails community and earned praise for its extensibility. Homebrew has been recommended for its ease of use as well as its integration into the command-line interface. Homebrew is a member of the Open Source Collective, and is run entirely by unpaid volunteers.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.

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">WebAssembly</span> Cross-platform assembly language and bytecode designed for execution in web browsers

WebAssembly defines a portable binary-code format and a corresponding text format for executable programs as well as software interfaces for facilitating interactions between such programs and their host environment.

<span class="mw-page-title-main">ESP8266</span> System-on-a-chip microcontroller model with Wi-Fi

The ESP8266 is a low-cost Wi-Fi microcontroller, with built-in TCP/IP networking software, and microcontroller capability, produced by Espressif Systems in Shanghai, China.

<span class="mw-page-title-main">KDE Gear</span> Set of applications and supporting libraries

The KDE Gear is a set of applications and supporting libraries that are developed by the KDE community, primarily used on Linux-based operating systems but mostly multiplatform, and released on a common release schedule.

<span class="mw-page-title-main">Cub Linux</span> Computer operating system

Cub Linux was a computer operating system designed to mimic the desktop appearance and functionality of ChromeOS. It was based on Ubuntu Linux LTS 14.04 "Trusty Tahr". It used Openbox as the window manager and tools taken from LXDE, Gnome, XFCE as well as a number of other utilities. It was a cloud-centric operating system that was heavily focused on the Chromium Browser. Cub Linux's tagline was "Cub = Chromium + Ubuntu".

<span class="mw-page-title-main">GDevelop</span> Open-source, cross-platform game engine

GDevelop is a 2D and 3D cross-platform, free and open-source game engine, which mainly focuses on creating PC and mobile games, as well as HTML5 games playable in the browser. Created by Florian Rival, a software engineer at Google, GDevelop is mainly aimed at non-programmers and game developers of all skillsets, employing event based visual programming similar to engines like Construct, Stencyl, and Tynker.

ungoogled-chromium is a free and open-source variant of the Chromium web browser that removes all Google-specific web services. It achieves this with a series of patches applied to the Chromium codebase during the compilation process. The result is functionally similar to regular Chromium.

<span class="mw-page-title-main">AlmaLinux</span> Linux distribution based on Red Hat Enterprise Linux

AlmaLinux is a free and open source Linux distribution, developed by the AlmaLinux OS Foundation, a 501(c) organization, to provide a community-supported, production-grade enterprise operating system that is binary-compatible with Red Hat Enterprise Linux (RHEL). The name of the distribution comes from the word "alma", meaning "soul" in Spanish and other Latin languages. It was chosen to be a homage to the Linux community.

<span class="mw-page-title-main">OpenHarmony</span> Family of open-source operating systems based on OpenHarmony

OpenAtom OpenHarmony, or abbreviated as OpenHarmony (OHOS), is a family of open-source distributed operating systems based on HarmonyOS derived from LiteOS, donated the L0-L2 branch source code by Huawei to the OpenAtom Foundation. Similar to HarmonyOS, the open-source distributed operating system is designed with a layered architecture, which consists of four layers from the bottom to the top, i.e., the kernel layer, system service layer, framework layer, and application layer. It is also an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems via Kernel Abstraction Layer subsystems.

References

  1. "SerenityOS update (December 2022)". YouTube .
  2. "SerenityOS update (April 2024)". YouTube .
  3. Kling, Andreas. "SerenityOS" . Retrieved 2021-08-26.
  4. 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.
  5. Proven, Liam. "SerenityOS: A remarkable achievement for a small project". The Register . Retrieved 2023-05-19.
  6. 1 2 Kling, Andreas (2021-05-28). "I quit my job to focus on SerenityOS full time".
  7. 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.
  8. "serenity/Ports at master · SerenityOS/serenity". GitHub. Retrieved 2021-10-07.
  9. "Releases · SerenityOS/serenity". GitHub. Retrieved 2021-10-07.
  10. "Where are the ISO images?" in: serenity/FAQ.md, SerenityOS, 2021-10-07, retrieved 2021-10-07
  11. Documentation/CodingStyle.md, SerenityOS, 2021-10-07, retrieved 2021-10-07
  12. 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.
  13. 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.
  14. Proven, Liam. "Serenity OS browser, Ladybird, now cross-platform". The Register . Retrieved 2024-04-06.
  15. By (2023-10-10). "Jenny's Daily Drivers: SerenityOS, And In Particular, Ladybird". Hackaday. Retrieved 2024-04-06.
  16. Andreas Kling (2024-04-30). Ladybird browser update (April 2024) . Retrieved 2024-05-27 via YouTube.
  17. 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.