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] (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 can also run on other operating systems. It includes a functional JavaScript engine. [14] [15]

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

Related Research Articles

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">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.

sudo Command on Unix systems to temporarily assume root privileges

sudo is a program for Unix-like computer operating systems that enables users to run programs with the security privileges of another user, by default the superuser. It originally stood for "superuser do", as that was all it did, and it is its most common usage; however, the official Sudo project page lists it as "su 'do'". The current Linux manual pages for su define it as "substitute user", making the correct meaning of sudo "substitute user, do", because sudo can run a command as other users as well.

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.

The following tables compare general and technical information between a number of notable IRC client programs which have been discussed in independent, reliable prior published sources.

<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.

Cemetech is a programming and hardware development group and developer community founded in 2000. Its primary software focus is calculator programming for TI and Casio graphing calculators, and its primary hardware focus is on mobile and wearable computing hardware. Among its most notable projects are the Doors CS shell for the TI-83+ series of graphing calculators, the Clove 2 dataglove, the Ultimate Calculator, and the CALCnet / globalCALCnet system for networking graphing calculators and connecting them to the Internet. The Cemetech website hosts tools for calculator programmers, including the SourceCoder TI-BASIC IDE and the jsTIfied TI-83+/84+ emulator. The founder of the site, Dr. Christopher Mitchell, began the site to showcase his personal projects, but since its early days, it has branched out to become one of the several major sites of the TI calculator hobbyist community and a source for hardware and programming development assistance. It has incubated many software and hardware projects beginning in the calculator community at its roots but including microprocessor development, general electrical engineering, desktop applications, and mobile/web applications.

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

Falkon is a free and open-source web browser developed by KDE. It is built on the QtWebEngine, which is a wrapper for the Chromium browser core.

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">Visual Studio Code</span> Source code editor developed by Microsoft

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor developed by Microsoft for Windows, Linux, macOS and web browsers. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded version control with Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add functionality.

<span class="mw-page-title-main">Redox (operating system)</span> Operating system written in Rust

Redox is a Unix-like microkernel operating system written in the programming language Rust, which has a focus on safety, stability, and performance. Redox aims to be secure, usable, and free. Redox is inspired by prior kernels and operating systems, such as SeL4, MINIX, Plan 9, and BSD. It is free and open-source software distributed under an MIT License.

<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.

<span class="mw-page-title-main">Genode</span> Free and open-source software operating system

Genode is a free and open-source software operating system (OS) framework consisting of a microkernel abstraction layer and a set of user space components. The framework is notable as one of the few open-source operating systems not derived from a proprietary OS, such as Unix. The characteristic design philosophy is that a small trusted computing base is of primary concern in a security-oriented OS.

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">OpenHarmony</span> Family of open-source operating systems based on OpenHarmony

OpenAtom OpenHarmony, or abbreviated as OpenHarmony (OHOS), is a family of open-source 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.

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. 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.