Chrome-Based Browsers Ladybird

t
tarun basu
9 min read2 views
Chrome-Based Browsers Ladybird

The Ladybird web browser is an open-source project developed by the Ladybird Browser Initiative, a nonprofit organization led by Andreas Kling, the creator of SerenityOS. Ladybird was conceived as a new, independent browser built from scratch, with a strong emphasis on web standards, privacy, and user control.

🛠️ Origins and Development

Initial Concept: Ladybird began as a simple HTML viewer for SerenityOS, a hobbyist operating system also developed by Andreas Kling. In July 2022, Kling demonstrated the project’s potential by creating a basic graphical user interface (GUI) using Qt, which laid the foundation for Ladybird as a standalone browser.

Fork from SerenityOS: In June 2024, Kling announced plans to separate Ladybird from SerenityOS to focus solely on its development. This decision led to the establishment of the Ladybird Browser Initiative on July 1, 2024, as a 501©(3) nonprofit organization. Chris Wanstrath, co-founder of GitHub, joined as a co-founder and major sponsor.

⚙️ Technical Architecture

Ladybird is built around several core components:

LibWeb: The web rendering engine responsible for interpreting and displaying web content.

LibJS: A JavaScript engine that executes scripts within web pages.

LibWasm: An implementation of WebAssembly, which achieved a 100% pass rate on the official WebAssembly specification test suite by July 2024.

LibCrypto/LibTLS: Libraries for cryptographic operations and Transport Layer Security (TLS) protocols.

LibHTTP: Handles HTTP/1.1 client functionality.

LibGfx: Manages 2D graphics rendering, including text and image decoding.

LibUnicode: Provides support for Unicode and locale-specific operations.

LibMedia: Facilitates audio and video playback.

LibCore: Serves as the event loop and operating system abstraction layer.

LibIPC: Enables inter-process communication.

🌍 Vision and Philosophy

Ladybird distinguishes itself by adhering to a “no code from other browsers” philosophy, aiming to create a browser engine based entirely on web standards. The project is committed to being ad-free and monetization-free, ensuring that user data is not exploited for profit. It operates under a nonprofit model, funded through donations from individuals and organizations that support its mission.

đź“… Milestones and Future Plans

2022: Ladybird was introduced as a simple HTML viewer within SerenityOS.

July 2024: The Ladybird Browser Initiative was founded, and development began as a separate project from SerenityOS.

2025: Ladybird achieved a significant milestone by ranking fourth in the Web Platform Tests, surpassing major browsers like Edge and Safari. Its JavaScript engine became the second most conformant after Firefox’s SpiderMonkey.

2026: An alpha release of Ladybird is planned.

2027: A beta release is expected.

2028: A stable public release is anticipated.

Prologue: The SerenityOS Project (2018-Present)

To understand Ladybird, you must first know about SerenityOS.

Creator: Andreas Kling, a former Apple and Google software developer.

The Vision: Starting in 2018, Kling began building SerenityOS as a from-scratch, Unix-like operating system for modern desktop computers as a personal hobby and a form of “programming therapy.” It is a complete, ground-up ecosystem, including its own kernel, system libraries, and desktop environment.

The Need for a Browser: A modern OS needs a web browser. The SerenityOS community initially developed a simple browser called “Browser” for the OS. It was a functional but basic application used to view the project’s website and little else.

Phase 1: The Fork and the Birth of Ladybird (2022)

The pivotal moment came in the spring of 2022.

The Limitations of “Browser”: The original SerenityOS browser was tightly coupled with the OS’s own graphics library and toolkits. It couldn’t run outside of SerenityOS, and its engine was not designed for easy portability.

The Big Decision: In April 2022, Andreas Kling decided to fork the engine of the “Browser” application into a new, standalone project. He named this new browser engine and application Ladybird (a common name for the Ladybug insect).

The Key Goal: The primary objective was to decouple the browser from the SerenityOS ecosystem. This meant replacing all the SerenityOS-specific system calls and graphics code with portable, standard alternatives (like POSIX, SDL, and Qt). This allowed Ladybird to be built and run on Linux, macOS, and Windows.

Phase 2: Rapid Growth as an Independent Project (2022 - 2023)

Once freed from its SerenityOS-specific roots, Ladybird exploded in popularity and development pace.

Community Momentum: The clear vision of a from-scratch, independent browser engine attracted massive interest from developers tired of the Chromium monoculture. Dozens, and then hundreds, of contributors joined the effort.

Financial Backing: In November 2022, Andreas Kling announced he was working on Ladybird full-time, funded by sponsorships and donations from the community and interested companies. This was a major validation of the project’s importance.

The LibWeb Engine: At the heart of Ladybird is LibWeb, the from-scratch layout and rendering engine. This is the most complex part of the project, responsible for parsing HTML, applying CSS, and executing JavaScript. Progress on LibWeb has been rapid, with daily commits improving compatibility with major websites.

Multi-Platform Focus: The team actively developed and maintained builds for all major desktop platforms, making it accessible to a wide audience of testers and developers.

Phase 3: Professionalization and Future Ambitions (2023 - Present)

The project evolved from a hobbyist endeavor into a more structured, ambitious undertaking.

Formation of a Legal Entity: In 2023, the Ladybird Browser Initiative was established as a non-profit organization to hold the project’s assets, manage funds, and provide a formal structure for its growth.

Hiring Paid Developers: A portion of the donation money is used to pay a small number of core developers to work on the browser full-time, accelerating progress on complex tasks.

The “LibCSS” and “LibJS” Stack: The browser is a collection of independent, from-scratch libraries:

LibJS: A JavaScript engine.

LibWeb: The core rendering engine (handles HTML, CSS, DOM).

LibWebView: The platform-specific abstraction layer.

LibSSL: A TLS/SSL implementation.

Current State (2024): Ladybird can now render many complex websites like Google Search, Wikipedia, and GitHub reasonably well. It is daily-driver capable for basic browsing tasks for the most dedicated users, though it still lacks the performance and 100% compatibility of mature engines like Blink (Chrome) and Gecko (Firefox).

Summary: Why Ladybird is Historically Significant

The history of Ladybird is not just about building another browser; it’s about challenging the status quo.

A New Independent Engine: It is the most serious and successful effort to create a new, from-scratch browser engine since the rise of Chromium over a decade ago. It aims to break the “Chromium monoculture,” where almost all browsers (including Edge, Opera, and Brave) are just skins on top of Google’s Blink engine.

Born from a Community: Its origins are deeply rooted in the open-source, community-driven SerenityOS project, demonstrating the power of a clear vision and passionate developers.

A Modern Underdog: It represents a return to a more diverse web, where multiple independent engines compete and innovate, preventing a single company from having ultimate control over web standards.

The Ladybird story is still being written. It is a long-term, ambitious project with the ultimate goal of becoming a fully-featured, competitive, and independent alternative for the modern web.

Tags

Share: