Thursday, March 6, 2025

Ladybird Browser

Joe Brockmeier (via Hacker News):

Ladybird is an open-source project aimed at building an independent web browser, rather than yet another browser based on Chrome. It is written in C++ and licensed under a two-clause BSD license. The effort began as part of the SerenityOS project, but developer Andreas Kling announced on June 3 that he was “forking” Ladybird as a separate project and stepping away from SerenityOS to focus his attention on the browser completely. Ladybird is not ready to replace Firefox or Chrome for regular use, but it is showing great promise.

Kling started working on SerenityOS in 2018 as a therapy project after completing a substance-abuse rehabilitation program. The SerenityOS name is a nod to the serenity prayer. Prior to working on the project, he had worked on WebKit-based browsers at Apple and Nokia. Eventually he made SerenityOS his full-time job, and funded the work through donations, sales of SerenityOS merchandise, and income from YouTube.

[…]

Comparing the README file in the standalone Ladybird repository against the README file in the SerenityOS repository, the goal has evolved from creating a standards-compliant, independent web browser with no third-party dependencies to developing an independent browser using a novel engine based on web standards.

Tim Anderson (Hacker News):

According to a post this week, the new 501(c)(3) non-profit organization, with initial directors being lead developer Andreas Kling and GitHub co-founder Chris Wanstrath, is funded entirely by sponsorships from those who “care about the open web” and will only accept “unrestricted donations.”

The software is open source on GitHub and uses the permissive BSD-2-Clause License which is means it is free software and approved by the open source initiative.

Jack Kelly (Hacker News):

Chrome is eating the web. I have wanted to help fund a serious alternative browser for quite some time, and while Firefox remains the largest potential alternative, Mozilla has never let me. Since I can’t fund Firefox, I’m going to show there’s money in user-funded web browsers by funding Ladybird instead.

Robert O’Callahan:

If you’ve done all that and implemented all the Web specs, you might still only be a less-Web-compatible Firefox or Chromium. What can you do better? My knowledge is a bit out of date, but here are a few guesses.

Go parallel from the ground up. You’ll get more and more E-cores, so you should try to use them. Parallel parsing and layout seem like endless opportunity.

Use a programming language that lets you write clean, fast, memory-safe, parallel data-race-free code — probably Rust.

Andreas Kling (Hacker News):

We’ve been evaluating a number of C++ successor languages for @ladybirdbrowser, and the one best suited to our needs appears to be @SwiftLang 🪶

[…]

Something that matters to us a lot is OO. Web specs & browser internals tend to be highly object-oriented, and life is easier when you can model specs closely in your code. Swift has first-class OO support, in many ways even nicer than C++.

The Swift team is also investing heavily in C++ interop, which means there’s a real path to incremental adoption, not just gigantic rewrites.

Previously:

1 Comment RSS · Twitter · Mastodon


Why didn't Kelly fund a fork of Gecko, instead of starting from scratch?

Leave a Comment