As I wrote in the announcement, I've already been working primarily on Ladybird for ~2 years already, so you have indeed been sponsoring Ladybird development by sponsoring me.
SerenityOS doesn't have a GitHub Sponsors itself, but it does use Polar to allow anyone to directly sponsor work on specific issues. See https://polar.sh/SerenityOS
And don't worry, there won't be some VC investment or big company buyout.
By dropping SerenityOS as a target, Ladybird is free to make use of 3rd party libraries that don't currently work on SerenityOS. And keep in mind, SerenityOS would be unable to integrate Ladybird in this new state anyway, since SerenityOS has a strict "no 3rd party code" policy.
(Also nice: it stops being necessary to wait 30+ minutes for multiple CI runs on SerenityOS every time you post a browser engine pull request!)
In time, I'd love to see Ladybird come back as a port on SerenityOS.
Ladybird does not have investors, only sponsors/donors. We have received some really generous donations in the past, for example $100,000 from Shopify in 2023 which allowed me to hire a few of our contributors to work full time on the project. :)
Sponsors have no direct influence over the project, but I obviously feel a strong moral obligation to put 100% of the funds towards improving Ladybird and nothing else.
Yeah but one person working 5 years or 5 persons working 1 year isn't likely to be enough to make a modern browser that is feature complete enough to be able to replace the likes of Firefox, Chrome etc.
Apologies, I did mean "well sponsored" not well funded, my mistake :')
You're doing awesome work and I'm really excited for you and the project!
All the best :)
It should be fairly straightforward to get it running on any mainstream *nix system. I only called out macOS and Linux specifically because we have developers actively using those systems day-to-day. :)
I know my comment comes out negative. Shameful wasn't the right word. It's disappointing that there is no target for *BSD.
I'm very respectful for you to attempt such a project. In no way am I dismissing your work but I see more and more projects becoming very mono orientated where it becomes a struggle for other OS's to adopt.
To be perfectly honest, after uploading well over 1000 videos, I got a little tired of it. I still post monthly update videos, but it's been months since the last hacking video.
I'm still working on Ladybird every day, and I also manage two full time engineers now, thanks to the generous sponsorships we got from Shopify & others last year. :)
Glad to hear you're doing the right thing by yourself. I regularly go back and watch some of the mini series, or porting videos. I refer many graduate engineers to learn from your high display of clarity and pragmatism that you constantly display.
If the hacking comes back some day, I'll be delighted, but just wanted to say thanks for the fact that we have such a wonderful backlog thanks to your long term efforts.
That said, I think those videos are a significant contributor to the project success. I hope they do not go away completely.
In fact, I think the videos are as important a contribution as the project itself. I remember seeing a quote once from a musician that said he was inspired by both the Beatles and The Rolling Stones. The Beatles showed him what a band could be. The Rolling Stones made him feel like he could do it too. I see that in Linux and Serenity. Your videos make me feel like I could solve any problem by just starting it and breaking it down into smaller, more solvable chunks. They are inspiration and I am not surprised SerenityOS has attracted people to contribute other ambitious aspects. The PDF browser, the GPU stack, and the RISC ports are examples of amazing projects in their own right. I think one of the reasons we see such ambitious contributions in such a young project is the inspiration provided by your leadership and the example set in those videos.
Regardless, thank you for the contribution so far. With the recent improvements to HTMLInputElement, I was able to use Ladybird to leave a comment on the OSnews site recently and it gave me a huge thrill.
Thank you for all the videos! I particularly enjoyed the porting and profiling/optimization videos and I still occasionally rewatch them to this day. :)
Your overall pragmatism and no nonsense C++ style is something more developers should aim to replicate imho.
Add me as another vote that misses them. I totally understand you need a break and other obligations take more time, but I hope you can still find the time to do them occasionally. :)
> Multiple independent implementations are crucial for the long-term health of the web platform, so we're trying to do our part! :)
It's really great that you're doing this work. This principle also applies to many other specs. I've implemented a few and found multiple issues with real-world impact.
I'm curious how you handle the things that are between SVG specs 1.1 and 2. Because AFAICT both Chrome and Firefox decided not to implement SVG 2. Yet both have grabbed a common selection of changes from SVG 2 and implemented them.
E.g., myRect.style.x = '50px' will work in both Chrome and Firefox, even though SVG 1.1 doesn't allow for this because "x" isn't a presentation attribute (and only presentation attributes are supposed to have corresponding CSS properties).
Relevant to animations-- the fact that Chrome and Firefox allow most (all?) SVG attributes as css props lets the user do a nice end run around SVG animations. They can just treat the SVG objects as if they were HTML and use the web animations API to animate them.
We're working based on SVG 2 and basically ignoring SVG 1.1.
I was unsure about the best approach here, so I asked Nikolas Zimmermann (original author of SVG support in WebKit) and his advice was to do exactly this. :)
I was going to ask if you were prioritizing the SVG 2 features that are already implemented in Chrome and Firefox. But it appears the W3C has removed a lot of the new ones I remember from the spec (path data bearings, mesh gradients), and that both Chrome and Firefox have implemented a good amount of the existing spec like tabindex and friends.
(Ok, here's one-- "inline-size" and others for doing auto-wrapping text in SVG. Looks to be unimplemented anywhere.)
As I wrote in the announcement, I've already been working primarily on Ladybird for ~2 years already, so you have indeed been sponsoring Ladybird development by sponsoring me.
SerenityOS doesn't have a GitHub Sponsors itself, but it does use Polar to allow anyone to directly sponsor work on specific issues. See https://polar.sh/SerenityOS
And don't worry, there won't be some VC investment or big company buyout.