BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Sabre//Sabre VObject 4.5.8//EN
CALSCALE:GREGORIAN
LAST-MODIFIED:20241002T124415Z
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
X-MICROSOFT-CDO-TZID:13
BEGIN:STANDARD
DTSTART:20231105T090000
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
BEGIN:STANDARD
DTSTART:20241103T090000
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20240310T100000
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:8e1ca708-fdbf-4264-a79b-4c953fa85248
DTSTAMP:20241002T124415Z
SUMMARY:🐞Ladybird: A new\, independent browser engine — written from 
 scratch
DTSTART;TZID=America/Los_Angeles:20240925T100000
DTEND;TZID=America/Los_Angeles:20240925T110000
DESCRIPTION:https://www.w3.org/events/meetings/8e1ca708-fdbf-4264-a79b-4c95
 3fa85248/\n\nAn intro+Q&A for the [Ladybird](https://ladybird.org/) browse
 r engine: a completely new engine written from scratch (using no code from
  Blink/Chromium\, WebKit/Safari\, Gecko/Firefox\, or any other browser)\, 
 and backed by the non-profit [Ladybird Browser Initiative](https://ladybir
 d.org/) — with a policy to never take funding from default search deal
 s or any other forms of user monetization\, ever.\n\nAgenda\n\n**Chairs:**
 \nMichael[tm] Smith (sideshowbarker)\, Andrew Kaster\, Jelle Raaijmakers\,
  Tim Ledbetter\n\n**Description:**\nAn intro+Q&A for the [Ladybird](https:
 //ladybird.org/) browser engine: a completely new engine written from scra
 tch (using no code from Blink/Chromium\, WebKit/Safari\, Gecko/Firefox\, o
 r any other browser)\, and backed by the non-profit [Ladybird Browser Init
 iative](https://ladybird.org/) — with a policy to never take funding f
 rom default search deals or any other forms of user monetization\, ever.\n
 \n**Goal(s):**\nThe session goal it to give a detailed intro to Ladybird\,
  and answer attendees’ questions about it.\n\n\n**Agenda:**\nSome of the
  details planned to be covered include:\n\n1. What Ladybird is _not_ (just
  to be clear):\n  * Not a Blink/Chromium shell.\n  * Not a WebKit port.\n 
  * Not a Firefox fork.\n\n2. What makes Ladybird/[Ladybird Browser Initiat
 ive](https://ladybird.org/) different.\n  * Fully independent: Written fro
 m scratch\, using no code from any other browser engine.\n  * Singular foc
 us: Doing only one single thing: building a new browser engine and browser
 .\n  * No monetization: Will never take funding from default search deals 
 or any other forms of user monetization\, ever. \n\n3. Very short history.
 \n  * 2019 June: Started by [Andreas Kling](https://awesomekling.com/) wit
 h [“LibHTML: Start working on a simple HTML library”](https://github.c
 om/SerenityOS/serenity/commit/a67e8238389) commit for [SerenityOS](https:/
 /github.com/SerenityOS/).\n  * 2022 July: Renamed _Ladybird_ by Andreas in
  [“Let's make a Linux GUI for the SerenityOS browser”](https://youtu.b
 e/X38MTKHt3_I) live-coding video.\n  * 2022 Sept: Spun off from SerenityOS
  to separate project: [“A new cross-platform browser project”](https:/
 /awesomekling.substack.com/p/ladybird-a-new-cross-platform-browser-project
 ) announcement.\n  * 2024 June: [“I'm forking Ladybird and stepping down
  as SerenityOS BDFL”](https://awesomekling.substack.com/p/forking-ladybi
 rd-and-stepping-down-serenityos) announcement from Andreas.\n  * 2024 July
 : [Ladybird Browser Initiative](https://ladybird.org/posts/announcement/) 
 launched by Andreas and GitHub co-founder [defunkt](https://twitter.com/de
 funkt) (Chris Wanstrath).\n\n4. Related early video/audio announcements an
 d interviews (July–August 2024).\n  * Ladybird Browser Initiative [annou
 ncement video](https://www.youtube.com/watch?v=k9edTqPMX_k) from defunkt e
 xplaining the project _raison d'être_ + goals (July 2024).\n  *  [Why we 
 need Ladybird](https://changelog.com/podcast/604#t=5:08): _Changelog_ podc
 ast interview with Andreas and defunkt (August 2024)\; [transcript](https:
 //changelog.com/podcast/604#transcript)\; [chapters](https://changelog.com
 /podcast/604#chapters).\n  * [Eron Wolf announcement grant of $200K](https
 ://youtu.be/p6k9qcRpW_k) from [FUTO](https://www.futo.org/about/what-is-fu
 to/) to the project (August 2024).\n  * [Eron Wolf interview with Andreas]
 (https://youtu.be/4xhaAAcKLtI) (August 2024).\n  \n5. Roadmap.\n  * 2026: 
 alpha release (daily driver for developers and early adopters) for Linux a
 nd macOS.\n  * 2027: beta release\; downloadable app for Linux and macOS.\
 n  * 2028: stable release for general public.\n    ![image](https://github
 .com/user-attachments/assets/dec1ab54-5844-47dc-b365-03983bc00390)\n\n6. P
 roject goals and culture.\n  * Eventually give everybody the choice of a w
 hole new browser they can use for their daily browsing.\n  * Prove it is i
 n fact possible to build a completely new browser\, by implementing from t
 he WHATWG/W3C/etc. specs.\n  * Have a lot of real fun together actually do
 ing it.\n  * Prove that developing an engine doesn’t take hundreds of en
 gineers — and not anything close to even just a hundred.\n  * Browser en
 gineering: Further help de-mystify it and make it a standard thing to lear
 n (hat tip: https://browser.engineering/).\n  * Using project Discord serv
 er for communication [discord.gg/nvfjVJ4Svh](https://discord.gg/nvfjVJ4Svh
 ).\n  * Using [one GithHub repo](https://github.com/LadybirdBrowser/ladybi
 rd) for everything: issues (no bugzilla or other)\, patch/PR submission/re
 view\, CI/test automation.\n\n7. Project coding conventions and activity m
 etrics.\n  * Implement web-platform features exactly according to the actu
 al steps in spec algorithms.\n  * Abundant code comments with verbatim spe
 c text copy/pasted in — showing exactly what’s being implemented.\n  *
  Additional _`“AD-HOC:”`_ comment convention to mark code that doesn
 ’t map to any spec requirements.\n  * Class/file names tend to closely m
 atch actual current spec terms\; e.g.\, `Navigable.h`\, `Transferable.h`.\
 n  * [“critically reading standards and reporting what is wrong”](http
 s://matrixlogs.bakkot.com/WHATWG/2024-08-23#L10)\n\n8. Project activity me
 trics.\n  * Project activity data/graphs: https://git-pulse.github.io/snap
 shots/LadybirdBrowser-ladybird-2024-09-12-pulse.html\n  * Project activity
  relative rankings: https://git-pulse.github.io/snapshots/?project=Ladybir
 dBrowser_ladybird\n      \n     | Engine      | Committers per month     
 |  Commits per month   |\n     | ---------: | -----------: | -------------
 ------: |\n     | Ladybird   | `53`         | `564`                       
   |\n     | Servo        | `27`         | `216`                         |\
 n     | WebKit      | `136`       | `1262`                       |\n     |
  Gecko       |  `417`       |  `3496`                     |\n     | Chromi
 um | `1297`     |  `13176`                    |\n\n9. How you can get the 
 code and build it\, and contribute new code/patches.\n  * https://github.c
 om/LadybirdBrowser/ladybird\n  * https://github.com/LadybirdBrowser/ladybi
 rd/blob/master/Documentation/BuildInstructionsLadybird.md\n  * https://git
 hub.com/LadybirdBrowser/ladybird/blob/master/CONTRIBUTING.md\n  * https://
 github.com/LadybirdBrowser/ladybird/blob/master/Documentation/GettingStart
 edContributing.md\n  * Linux\, macOS\, Windows (with WSL2)\, Android\; bui
 ld uses [vcpkg](https://vcpkg.io/) to manage build dependencies.\n\n10. Co
 de details and basic architecture.\n  * C++ while selectively migrating pa
 rts to Swift and while keeping an eye on things like Sean Baxter’s [Circ
 le](https://github.com/seanbaxter/circle) & [Safe C++](https://safecpp.org
 /draft.html).\n  * Some use of third-party libraries (e.g.\, Harfbuzz\, Sk
 ia\, [simdutf](https://github.com/simdutf/simdutf)\, libcurl).\n  * Perfor
 mance optimizing is not yet a super-high priority (but performance-boostin
 g changes are regularly getting made).\n  * [LadybirdBrowser/ladybird#feat
 ures](https://github.com/LadybirdBrowser/ladybird/#features):\n    * UI pr
 ocess\, ImageDecoder process\, RequestServer process\, WebContent processe
 s.\n    * LibWeb: core web-rendering engine (HTML\, CSS\, Events\, DOM\, A
 PIs).\n    * LibJS: JavaScript engine written from scratch (currently JIT-
 less).\n    * LibWasm: WebAssembly implementation written from scratch.\n 
    * [AK](https://github.com/LadybirdBrowser/ladybird/tree/master/AK): Lad
 ybird standard library/abstractions: asserts\, smart pointers\, strings\, 
 numbers (e.g.\, [fast_float](https://github.com/fastfloat/fast_float) impl
 .)\, more…\n\n11.  Current code size: [`cloc --vcs=git`](https://github.
 com/AlDanial/cloc) details/comparison (as of 2024-09-01):\n     | Engine  
     | C++ files     |  C++ lines of code   |\n     | ---------: | --------
 ---: | -------------------: |\n     | Ladybird   | `1695`         | `31394
 7`                 |\n     | WebKit      | `17189`      | `4586173`       
        |\n     | Gecko       |  `14187`     |  `5396911`              |\n 
     | Chromium | `63826`     |  `14902914`            |\n\n     | Engine  
     | Rust files     | Rust lines of code   |\n     | ---------: | -------
 ----: | -------------------: |\n     | Servo        | `1010`         | `26
 8796`                 |\n\n12. Testing.\n  * Has its own test harness/runn
 er and some in-tree tests.\n  * Currently passing ~79% of WPT (compared to
  major engines 95%–97%) — and that percentage is growing weekly.\n  *
  CI/regression-testing: Can’t yet practically run all WPT tests on every
  PR (takes ~5.5 hours\, many timeouts).\n  * So\, to have automated regres
 sion testing\, we currently [add some tests in-tree](https://github.com/La
 dybirdBrowser/ladybird/tree/master/Tests/LibWeb) that may be redundant wit
 h WPT.\n  * [wpt.fyi/results?product=ladybird](https://wpt.fyi/results/?pr
 oduct=ladybird) has current test results for all WPT tests.\n\n13. Financi
 al support: Funded entirely through donations and sponsorships.\n  * https
 ://donorbox.org/ladybird – donations of any amount: $10\, $50\, $100\, e
 tc.\n  * https://polar.sh/LadybirdBrowser – set bounties to directly fun
 d specific features/tasks\; e.g.\, [$300 legacy-encoders bounty](https://g
 ithub.com/LadybirdBrowser/ladybird/issues/824).\n  * [Sponsorship opportun
 ities](https://ladybird.org/#sponsors): Platinum $100\,000 • Gold $50\,0
 00 • Silver $10\,000 • Bronze $5\,000 • Copper $1\,000.\n  * Ladybir
 d Browser Initiative announced/seeded with [1 million dollar donation](htt
 ps://twitter.com/defunkt/status/1807779408092234134) from defunkt and his 
 family.\n\n14. Where Ladybird fits in at the W3C.\n  * This means we have 
 _six_ engines in active development: Gecko\, Servo\, WebKit\, Blink\, Flow
  ([88% WPT](https://wpt.fyi/results/?product=flow))\, and Ladybird.\n  * F
 ive _open-source_ engines in active development — and six engines in tot
 al: [both things we’ve _never_ had before](https://gist.githubuserconten
 t.com/sideshowbarker/8284404/raw/b4dce67abfd4dc1b6a90c8fc62960ec702df5b4f/
 engines-timeline.png).\n  * Imagine: Can the Ladybird project grow into a 
 first-class citizen in the W3C community\, along with other engines?\n  * 
 Enlightened self-interest: Helping a new engine project helps improve our 
 specs\, get new editors on board\, etc.\n  * You can bring your specific W
 3C/professional experience to help refine/align Ladybird code in key W3C f
 ocus areas:\n    * Accessibility: ARIA\, AOM\, testing with AT\, more…\n
     * Internationalization: CJK handling\, layout\, many other opportuniti
 es…\n    * Security: CSP implementation\, standards related to Spectre m
 itigation\, security-related error messages\, more…\n    * Privacy: Lots
  of opportunities for implementing particular specs\, for privacy-related 
 browser/UI features\, more…\n\n15. Resources.\n  * [FAQ](https://ladybir
 d.org/#faq): _Independent? • When is it coming? • How many people? •
  Hiring plan? • Windows? • Mobile? • C++? • Swift?_\n  * Ladybird 
 [YouTube channel](https://www.youtube.com/@LadybirdBrowser): monthly Ladyb
 ird project updates from Andreas.\n  * Andreas’ [YouTube channel](https:
 //www.youtube.com/@awesomekling): 1000+ videos from 6+ years\; incl. “ca
 r talk” + OS/browser “hacking” (live-coding) videos.\n\n16. Tangenti
 ally-related background.\n  * [Understanding the role of browser engines](
 https://assets.publishing.service.gov.uk/media/61b86737e90e07043c35f5be/Ap
 pendix_F_-_Understanding_the_role_of_browser_engines.pdf) (UK Competition 
 and Markets Authority [Mobile ecosystems market study](https://www.gov.uk/
 cma-cases/mobile-ecosystems-market-study#interim-report)).\n\n**Materials:
 **\n- [minutes](https://www.w3.org/2024/09/25-ladybird-minutes.html)\n- [S
 ession proposal on GitHub](https://github.com/w3c/tpac2024-breakouts/issue
 s/56)
STATUS:CONFIRMED
CREATED:20240916T215533Z
LAST-MODIFIED:20241002T124415Z
SEQUENCE:2
ORGANIZER;CN=W3C Calendar;PARTSTAT=ACCEPTED;ROLE=NON-PARTICIPANT:mailto:nor
 eply@w3.org
LOCATION:2 Ballroom Level - California B
CATEGORIES:TPAC 2024,Breakout Sessions
END:VEVENT
END:VCALENDAR
