W3C

– DRAFT –
🐞Ladybird: A new, independent browser engine — written from scratch

25 September 2024

Attendees

Present
alice, Anssi_Kostiainen, bkardell_, Chris_Needham, Chuck, duga, emeyer, estark, Igarashi, Jay, JJ, kevin, krosylight, Léonie, Léonie Watson, mustaq, oriol, Watson, ZoeBijl
Regrets
-
Chair
Andrew Kaster, Jelle Raaijmakers, Michael[tm] Smith (sideshowbarker), Tim Ledbetter
Scribe
JJ, emeyer

Meeting minutes

<mustaq> presetn+

<bkardell_> Yay Servo ;)

Introduction

Michael introducing himself, nicknamed Mike

Mike informs us that he starts the day by eating fermented soya beans (with joy)

Jelle is introducing himself as one of the devs

Andrew is introducing himself with multiple roles

Upfront questions

Leonie: accessibility tree documentation or alternatives

Someone: what to do when there is no existing spec

<tink> accessibility tree documentation /accessibility tree implementation /

Person: how does it (ladybird) do on benchmarks

Attendee: who is Ladybird intended for

mentioning debugging is useful for them

Questions about security, architecture, process model

Question about browser extensions, auto-fill behavior

Question about funding - you got some funding; but need more - how do you want to scale up?

Question about the effects of social media on open-source

Question about web driver implementation

Ladybird overview

Is this a fork? NO. It's completely written from scratch.

<gmta> There's some issues with audio quality. It seems like Mike's mic doesn't work on Zoom, and we're only hearing the room mics

What makes the project different? It's truly independent and there is a promise that the project will not accept search engine revenue and user monitization. Result = dependent on sponsorships.

Ladybird progressed over time, it started as an HTML viewer. Starting from 2022, Andreas started to create a user interface and named the project Ladybird. Late 2022, Andreas decided to work full-time on Ladybird and it became independent from the OS development it was a part of.

There are three board members now, Andreas, Chris and Tim

Community involvement is very important to Ladybird

Roadmap

Currently not doing any releases.

If you want to try the browser, you have to build it from the source code

<marie> [Mike gives the Ladybird history: https://github.com/w3c/tpac2024-breakouts/issues/56]

It will stay this way for 2 more years

From 2026 there will be an alpha version release (downloadable installer)

Stable release is planned for 2027

Why are we doing this browser from scratch

It started because we wanted a browser for the OS project

On Linux we had a headless browser engine working

We wanted to build this for us because we wanted to build everything from scratch, including the browser

After a blog post there was an overwhelming response from the community which led to seeing how far we could take this browser

It was also driven by rebellion to show there is an alternative to monocultures and to taking search engine money

Social Media presence

Mentioning that Andreas has a relatively high profile and created over 1000 YouTube videos

Mike is mentioning how he got involved because he liked the energy and inspired him

Comparison with Servo browser engine

Someone in public making a point about if it's desirable to be driven by social media presence

Funding

Jelle mentioning that Andreas has managed to get serious funding to continue the development

Chris and his family donated 1 million USD. This gives the team a runway of 1,5 to 2-3 years

Ladybird now has a 501c3 based in California

People can sponsor the project by donating

Companies can also sponsor the project

Target group is people/companies in tech industry

What is the incentive to donate for people and companies?

"no strings attached"?

Good drivers vs bad drivers?

Mike mentioning an additional significant donation from Eron Wolf from Futo

Jelle mentions that the shared motivator for donations has been the startup vibes / new kid on the block and excitement to see a new browser
… how are we going to replace the funding? No clear plan yet
… goal is truly to work with people/companies no strings attached - only exception is trying to get that person/companies website to work with ladybird

Andrew: mentions that Eron believes that developers who work in big tech should not work there but should instead build things that are helpful to the larger developer community
… mentioning the difference between Ladybird and Servo is the story about the origin, speed, etc. that catches peoples attention. Servo has had its starts and stops which might be less motivating.

<akaster> Andrew mentioning eron wolf story, andreas is not on the call :)

duga: mentioning their confusion of the funding model because donations might influence the direction

Jelle: explaining that the maintainer team is in control and they will check if things are in line with the mission

Mike: mentions how companies might help by paying for developer time or developing something that is in line with the Ladybird mission

Security

estark: Interested in security architecture

Andreu: We have a separate security process
… We have a lot of different processes: networking, image rendering, etc.
… The processes talk to each other
… We don’t quite have site isolation
… The model is that every tab gets its own process that shares the same JS
… We want to move to one process per origin, either for alpha or beta
… We are trying to experiment with having all workers getting their own process, including dedicated workers
… For other security architecture things, we’re planning to do OS-level sandboxing
… I don’t think that will be any time soon
… We are using separate processes for things we’re ingesting

robwu: What is the meaningful security boundary between a page process and a worker?

Andrew: I don’t think I have a detailed answer

sideshowbarker: We can follow up later in detail

???: Are you using a different model?

Andrew: We’re trying to follow best practices
… Other browsers are doing things better than us and we’ll catch up
… I think we can get to that same level of security with effort

<Zakim> ZoeBijl, you wanted to ask about a code of conduct

ZoeBijl: I was wondering about the lack of a code of conduct

sideshowbarker: We will address that

sideshowbarker: (missed by scribe)
… Let’s talk about Code of Conduct

Andrew: The culture we’re trying to cultivate is one where anyone can come in and contribute
… If it’s good code, we’ll accept it
… If there are bad actors, we’ll ask them to leave
… We have some sense of expectations in our Discord and contributor document
… We haven’t nailed that down into a CoC because there’s resistance from some folks to having such a thing
… The goal is to keep things going and address problems as they arise

???: We do have contributing guidelines that do embody CoC policies, and we hope people read them and take them into account
… In due time, we might end up adding a formal CoC document
… Although it’s not a document, we do have guidelines we live by

???: What is the open source license for Ladybird, and is it copyleft?

BSD2 clause, so not copyleft

???: Is there anything preventing someone from taking it and making it commercial?

Andrew: I don’t think so.

sideshowbarker: There are social brakes on that
… Back to CoC, I’m not involved that long; since end of July
… My perspective is that I have not noticed an unwelcoming culture
… I have a very limited perspective, but I talked with others and haven’«t heard any problems with inclusiveness
… We did have someone on Discord who seemed to misinterpreting something on social media and was negative
… Other people on the project made it clear he was being negative and out of line; he wasn’t contributing and was only pushing his agenda
… He was shut down pretty quickly

Andrew: That sounds about right
… If people want to stir things up, they can go back to social mnedia

kevin: A question about the accesibility tree and 20-odd years of work

sideshowbarker: I did write a small patch for the ARIA code
… We were following the ARIA spec and an attribute had been commented out
… Other browsers implemented it before it was commented out
… We came in later, after commenting out, and we failed reflection tests
… So I got that fixed in the ARIA spec and implemented on the assumption of that change happening
… I’m the one touching the ARIA code and I intend to make a fully conformant ARIA implementation
… I don’t know how to test this; all I can test is reflection
… I don’t think any of us on the team know how to do accessibility testing
… I’m looking to contribute to all accessibility, the tree and all
… Can’t speak to the overarching plans, but personally, that’s a giant priority vfor me

<Zakim> tink, you wanted to ask about more basic accessibility semantics like implicit HTML semantics

sideshowbarker: We’re getting it done from the beginning

<Zakim> ZoeBijl, you wanted to ask about that resistance

ZoeBijl: You mentioned resistance to a CoC
… Whatever that resistance is, you should solve it
… It showing privilege, and you can’t expect open contributions from everyone without a CoC
… This is a W3C event, which has a good CoC

sideshowbarker: I agree
… I won’t forget about this, and will push for this
… To the degree I’m able to, the cultural and diversity aspects will be improved
… If there’s reisitance, we’ll work it out

ZoeBijl: I’m happy to help with such a thing

bkardell_: Have you discussed joining W3C?

sideshowbarker: We have not
… I’ll have that discussion at some point

<Zakim> garykac, you wanted to ask about all the questions solicited at the beginning that there is no longer time for

garykac: What do you do when there’s no spec or when things are way out of line with modern specs

Andrew: The short answer is there’s two things:
… what is in WPT?
… If there’s no other option, we can look at other browser engines from 50 paces away with our eyes closed
… User interaction based on feedback will guide us as well

garykac: There’s a huge gaping hole around internationalization

sideshowbarker: Yeah, in cases like that, we do have to write from scratch
… For those whose questions we didn’t get to, please find me and we’ll talk about it
… Thanks for everyone coming and asking good questions

End of session

Minutes manually created (not a transcript), formatted by scribe.perl version 229 (Thu Jul 25 08:38:54 2024 UTC).

Diagnostics

Succeeded: s/503c/501c3/

Succeeded: s/Andreas:/Andrew:

Succeeded: s/board/maintainer team/

Maybe present: ???, Andreu, Andrew, Attendee, garykac, Jelle, Leonie, Mike, Person, robwu, sideshowbarker, Someone

All speakers: ???, Andreu, Andrew, Attendee, bkardell_, duga, estark, garykac, Jelle, kevin, Leonie, Mike, Person, robwu, sideshowbarker, Someone, ZoeBijl

Active on IRC: akaster, alice, anssik, bkardell_, Chuck, cpn, duga, emeyer, estark, garykac, gmta, Igarashi, Jay, JJ, kevin, krosylight, marie, mustaq, oriol, tink, tpac-breakout-bot, ZoeBijl