serenity VS haiku

Compare serenity vs haiku and see what are their differences.

haiku

The Haiku operating system. (Pull requests will be ignored; patches may be sent to https://review.haiku-os.org). (by haiku)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
serenity haiku
240 11
28,555 1,762
2.9% 1.9%
10.0 9.8
about 24 hours ago 7 days ago
C++ C++
BSD 2-clause "Simplified" License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

serenity

Posts with mentions or reviews of serenity. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-09.
  • Why does part of the Windows 98 Setup program look older than the rest?
    5 projects | news.ycombinator.com | 9 Apr 2024
    SerenityOS replicates that look and feel. It is also implemented in a dialect of C++ that adheres to some of the good parts of C++98: https://serenityos.org
  • SerenityOS
    1 project | news.ycombinator.com | 3 Apr 2024
  • XZ: A Microcosm of the interactions in Open Source projects
    7 projects | news.ycombinator.com | 30 Mar 2024
    One example of a useful technique

    https://serenityos.org/ apparently only makes source code available. There are no binary images of the OS to install

    I think Andreas said this functions like a little test -- if you're not willing to build it from source, then you probably wouldn't be a good contributor anyway.

    ---

    Likewise, my shell project provides source tarballs only, right now - https://www.oilshell.org/release/0.21.0/

    It is packaged in a number of places, which I appreciate. That means some other people are willing to do some work.

    And they provide good feedback.

    I would like it to be more widely available, but yeah I definitely see that you need to "gate" peanut gallery feedback a bit, because it takes up a lot of time.

    Of course, it's a tricky balance, because you also want feedback from casual users, to make the project better.

  • Fuzzing Ladybird with tools from Google Project Zero
    2 projects | news.ycombinator.com | 16 Mar 2024
    Indeed, given the existence of `JS::NonnullGCPtr`, `JS::GcPtr` intentionally corresponds to a nullable pointer, so it seems dangerous to convert one to a reference without a null-check.

    That said, a naive code search finds what *may* be more cases of this pattern:

    https://github.com/search?q=repo%3ASerenityOS%2Fserenity+%2F...

    Eg: https://github.com/SerenityOS/serenity/blob/a68b134e6dea5065... -> https://github.com/SerenityOS/serenity/blob/a68b134e6dea5065...

    In some of those search results, it is fine because there is a preceding null-check, and obviously I know nothing about this code other than this naive search result, but perhaps it would be prudent to vet all of them.

  • The Ladybird Browser Project
    8 projects | news.ycombinator.com | 6 Feb 2024
    It is a SerenityOS project. You can find the answer to that question in their primary project's FAQ[1].

    1. https://github.com/SerenityOS/serenity/blob/master/Documenta...

  • Sane C++ Libraries
    7 projects | news.ycombinator.com | 27 Jan 2024
    https://github.com/SerenityOS/serenity

    The best way to write proper exception free C++ is not to use the C++ Standard Library.

  • Serenum: OS from scratch to save computers [video]
    1 project | news.ycombinator.com | 16 Jan 2024
    I initially confused it with Serenity OS prior to watching the video: https://github.com/SerenityOS/serenity
  • Ask HN: What side projects landed you a job?
    62 projects | news.ycombinator.com | 3 Dec 2023
    My contributions to SerenityOS[0] helped me get my current job. My team lead (who was also my interviewer) was interested in what I did since I listed some of it in my CV, and I showed him some PRs I made and explained what went into each of them. It was really exciting because I didn't have professional experience with low-level development, and basically got the job due to hobby programming.

    [0]: https://github.com/SerenityOS/serenity/pulls?q=is%3Apr+autho...

  • SerenityOS – a love letter to '90s user interfaces with a custom Unix-like core
    1 project | news.ycombinator.com | 30 Nov 2023
  • Bring garbage collected programming languages efficiently to WebAssembly
    16 projects | news.ycombinator.com | 3 Nov 2023
    Definitely not "literally impossible", just a great deal of work. https://github.com/SerenityOS/serenity/tree/master/Ladybird

haiku

Posts with mentions or reviews of haiku. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-23.
  • Haiku's (Kernel) Condition Variables API: Design and Implementation
    1 project | news.ycombinator.com | 24 Apr 2023
    Haiku uses the System V ABI (mostly.) So, we're doing the same things Linux and the BSDs are here, simply by using GCC or Clang without any special tuning here.

    > I reckon that before trying to claim you've innovated here it might be a good sense check to compare baseline.

    The baseline is "what are other operating systems' kernel- and userland-level condition variables APIs?" And none of the ones I looked at had anything like what Haiku has here, they all have something which is the more classical "lock-switched condvars" just like POSIX has.

    The API itself does not depend on what memory ordering semantics are any more than a "mutex_lock()" API does. The implementation will be somewhat contingent on it, of course, but those are two separate matters.

    > What exactly are the Haiku atomic operations, in terms of the C++ 11 Memory Model?

    The atomic_() functions are (on most architectures, x86 included) implemented using GCC/Clang's __atomic_* functions, with various __ATOMIC_* orderings chosen as appropriate. You can see them defined in the system header here: https://github.com/haiku/haiku/blob/master/headers/os/suppor...

    > because you're innovating before 2011, you're inventing the model

    No, not really? GCC has had atomic builtins since at least 4.1.0 in 2006. The documentation (https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins...) says: "In most cases, these builtins are considered a full barrier. That is, no memory operand will be moved across the operation, either forward or backward." -- which is basically equivalent to today's __ATOMIC_SEQ_CST.

    > so Haiku is off in the jungle on its own and everybody else has a map now, figure out where you are on that map first.

    We already did that years ago. The atomic_() functions linked above in SupportDefs.h have been implemented using the C++11-standard GCC builtins since 2014, and the older __sync_ builtins for years before that.

    Anyway, the algorithm described in this article, even if Haiku's atomic functions were not 1:1 with C++11-standard definitions (which they are, as noted above), is clearly portable to other OS kernels. So I am not sure what basis your comment has, regardless.

  • Problems while building haiku from source
    1 project | /r/haikuOS | 30 Jan 2023
    I'm currently trying to build Haiku from source (following https://github.com/haiku/haiku/blob/master/ReadMe.Compiling.md), but I'm getting errors while building with "jam -q -j12 @nightly-anyboot".
  • Haiku R1/beta4 has been released
    4 projects | news.ycombinator.com | 23 Dec 2022
  • HaikuOS Device Driver References
    1 project | /r/haikuOS | 20 Dec 2022
    Something like this? https://github.com/haiku/haiku/tree/master/src/add-ons/accelerants/radeon
  • Haiku Beta4 Release Near?
    1 project | news.ycombinator.com | 14 Nov 2022
  • How to programmatically find out if computer is on
    6 projects | news.ycombinator.com | 20 Nov 2021

What are some alternatives?

When comparing serenity and haiku you can also consider the following projects:

Chicago95 - A rendition of everyone's favorite 1995 Microsoft operating system for Linux.

Lemon-OS - The Lemon Operating System

rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab:

skift - 🥑 The delightful operating system.

linux - Linux kernel source tree

Simply-Love-SM5 - a StepMania 5 theme for the post-ITG community

reactos - A free Windows-compatible Operating System

sweb - SWEB Educational OS

redox - Mirror of https://gitlab.redox-os.org/redox-os/redox

Quaternion - A Qt-based IM client for Matrix

gopher-os - A proof of concept OS kernel written in Go

WonderBrush-v2 - Last known version of the code to WonderBrush (as included in Haiku)