Welcome to Ladybird
ladybird.org
ladybird.org
One of the big missteps that led to Blink/Chromium and to a lesser extent WebKit overtaking Gecko was Mozilla's choice to remove embedding support from Gecko and effectively make Firefox the only modern Gecko browser. It'd be great to get a new browser but it'd be even better to get a new web engine to embed that's not the hulking behemoth that is Blink.
All I want to do is write apps that have native performance using the world's most popular document format and styling language, and so far the only response that even remotely looks like interest in that from the OS designers has been "use a webview" because they apparently, inexplicably understand the first clause of this sentence as 'I would like to embed a full browser stack to accommodate visuals'.
A year ago (or some) before Andreas Kling announced the large sponsorships this all felt like a hobby project with Andreas himself even admitting that he would not expect too much of it. However, now they are actually trying to build a web-browser that will handle modern websites and web-apps.
I am truly impressed by the community and also very stoked to see how this will develop going into the next two years.
What I'd really love to see with this is some kind of monetization model outside of just relying on sponsors to a non-profit. Although I'm not a huge fan of their specific license, I think maybe the FUTO model might be something to look at: The user is fully free to inspect, modify, and redistribute copies of or modifications of the source code of the application, and the full features of the application are available at all times to all users, but there is a way to "pay for the application if you like it" built into the interface that is easy to access and convenient to use, that gives people some kind of "lifetime license" that just adds a rewarding cosmetic thing to their account or something. Maybe with a one-time notification reminding the user to pay after a certain amount of time using the application that can be permanently dismissed with a button that's part of the notification.
Elementary OS also has a "pay what you want" option, but I could not find how much this is bringing them compared to their other funding sources.
That's fair, but Ladybird can emulate that through the sponsors of its non-profit foundation. So it can be partially funded through shareware-like stuff and mostly funded through sponsors keeping it funded. Maybe I'm just crazy here, though. I really don't know what would make a viable funding model.
A funding model that I really think would be great and I wish people would use more is only providing source code and the tools and documentation needed to modify it and build it yourself for free and charging money for access to pre-built or packaged binaries. I judt don't tend to go around suggesting it because I feel like a lot of people would be pretty resentful of this with our current culture around software, even though I think it's probably the best model in our ideal world.
IMO the Basic Attention Token used by Brave is a good way to do it. Users have the option to earn BAT by watching "privacy-friendly" ads, or exchange fiat into BAT and skip seeing ads. They can then use the funds to support websites they visit, or the browser developer. I'm not a Brave user, but this always seemed to me like the best way to transition away from the intrusive and hostile ad-based business models, and into one that eliminates the middle-man and allows users to support content creators directly.
They could also try regular old fashioned money for monetization. It has worked for ~3,000 years pretty well and you can buy things like food and shelter with it in pretty much every country on earth.
It's a shame that the cryptocurrency stigma doesn't allow legitimate uses of the technology to enable novel business models and user experiences. But keep downvoting me because you disagree. :)
Is writing software closer to growing potatoes or designing the Sagrada de Familia, or writing the Clarinet Concerto?
I'd argue that writing a web browser is a lot closer in scope to writing a symphony than building a house - at least in audience and durability. In a house's life time, maybe 100 people live in it, and perhaps 2000 people visit it, but a browser, or a symphony, will have an audience of millions.
The market is massively smaller. The impact massively larger.
A one-off script to extract data for a report - potato.
A brochure website for a company that'll be replaced in 6 years, a small house (or even just an interior of a house, or kitchen revamp...).
There's no way to confirm that you've watched an ad, you can write a Python script that pretends to be the Brave browser and sends the right requests to their API, and there's no way to distinguish those two on their side. The easiest (if not the only) way to make this difficult is to require lots of tracking and fingerprinting, which is hard to emulate well with a custom script. This is one major reason why tracking is so crucial for the ad economy to work.
There is no way to confirm whether you've watched an ad with existing systems either. Ad impression / click / PPC fraud is rampant, and adtech is in a perpetual battle to detect and prevent it.
A solution like BAT isn't meant to address fraud. It's meant to address user privacy and monetization of web services by serving ads that don't track the user, and by allowing the user to directly support the services they use.
The fact advertisers have inserted themselves as middlemen between consumers and producers for decades now has corrupted all forms of media, not just the internet. The solution by Brave is not perfect, but it's certainly a step in the right direction. Without such solutions user privacy and experience on the internet will inevitably continue to degrade, as publishers optimize creating content specifically designed to please advertisers, and adtech optimizes systems designed to extract as much data from users as possible.
Advertising is an absolute scourge on humanity. As we move towards a transhumanist future, I shudder to imagine the machiavellian ideas adtech has in store for us. They've already experimented with face and eye tracking, and I'm sure they're thinking of ways of injecting ads directly into our brain... We should be open to any alternative solution that steers us away from this future, even if it's not perfect.
I also cant believe 20+ years later we have to fight another Browser war.
On a side note, I wonder if the constraints they've lost when decoupling from Serenity may impinge direction and, by definition, velocity. 2026 is a long way away for an Alpha.
I'm guessing 2026 was chosen as people would be quickly discouraged by its slow rendering performance right now. The average person would just see it as just a slower browser rather than a serious contender.
Maybe you've learned to associate a nicely designed website that's pleasant to look at with short lived projects that are worth avoiding, but I think that's more your problem:
Maybe you should realize that most new things don't last very long and so of course websites that are designed in a new and modern way will often be for projects that don't live very long simply because new projects are more likely to use a modern website design, and they are also likely for unrelated reasons to only live a short time.
And that these exact same pressures and considerations would have applied back in the 2000s or 1990s, such that back in those days oldheads might have looked at something with a 2000s or 1990s design and thought that was clear evidence that it wouldn't last very long, because most new projects made back then would have been made with contemporary design styles, and would have also not lasted very long simply because they were new, same as in the modern day.
And that your association of long-lived products with 1990s and 2000s design aesthetics might simply be survivor bias: most long-lived software projects today 1st started in the 90s or early 2000s, at the very least, because that's just the first set of decades that are long enough ago for projects that were started then and still survived today to be considered long-lived. And so, of course, most long-lived projects you are familiar with in the current decade will have aesthetics from decades ago, because that's simply how longevity works. And so you've learned to associate longevity with an old aesthetic, but there's nothing really about the aesthetic that talks about or portrays a mentality that makes projects live longer. It's simply that longer-lived projects will be from an older era of aesthetics. But there were plenty of projects that were designed with 1990s and 2000s aesthetic sensibilities (and whatever magical philosophy you attribute underneath those) that didn't survive long at all, just the same as projects that were designed with modern sensibilities that don't last long, you're just not aware of them because they didn't last and so they didn't show up in your sample.
Edit: It occurs to me that this comment probably comes off as overly hostile and confrontational for no real reason, so I do want to apologize for that. I'm in a very grumpy mood today. I think my reasoning is correct, but I do want to clarify that you're totally allowed to prefer 1990s and 2000s aesthetics. Personally, I like both modern and 1990s aesthetics (in websites specifically) roughly equally and for their own unique reasons. ,the reason I made this comment is just that I find the cargo culting of ancient technical aesthetics[1], as if they are not only indicators of good software in and of themselves, but also of some moral purity and improved moral fibre on the part of those who use them, very tiring. There are many things wrong with our modern technical aesthetics to be sure, but I think there is an almost equal amount wrong with the sort of older technical aesthetics that people tend to worship, like the Unix philosophy and its associated tools and development environment, and things like that. They are just different kinds of wrong.
Aka outdated, clueless, and a little bit sad. Making a cleaner design like they did doesn’t cost a lot. Don’t let nostalgia turn you into the "it was better before" crowd.
> We are focused on one thing: the web browser.
It is great that this was put first
What it means is that now the browser is Andreas' main focus after he announced earlier last month that he will step down from Serenity OS's team.
> I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.
Of course not. And if one set their goals ambitiously from the outset, they would be accused of being non-humble. There is no path one can follow which escapes baseless and inane criticisms.
> Of course it's ok to change, but you can also consider that as a precedent and take anything they say now with a grain of salt.
One can also criticize failure to change and adapt, and failure to seize and follow opportunities.
I don't have any delusions of Ladybird ever touching Chrome's market dominance, but I disagree that no competition is possible if the goal is building an usable browser. Sure, web standards are blown up out of proportion and keep on growing, but how much of those standards are actually used on a daily basis? How many websites can't work without the GravitySensor or HighlightRegistry APIs [1][2], just to name a couple? How many new standards become absolutely indispensable vs being just bloat never touched by 99.9% of the web?
Ladybird, Servo and others don't need to catch up to Chrome in terms of features to be useful, they just need to cover the metaphorical 20% of the specs to support the 80% of the web. In the case of Ladybird at least that seems to be the principle guiding its development, with devs dogfooding it and implementing specs to scratch their own needs.
But I understand I'm probably arguing a different point than you were.
1: https://developer.mozilla.org/en-US/docs/Web/API/GravitySens...
2: https://developer.mozilla.org/en-US/docs/Web/API/HighlightRe...
I hope a portion of the funds to go in Jakt's [1] development as it's a very promising language that looks both clean and elegant AND it's a memory-safe systems programming language.
Using proven and widely used technologies in a very hostile environment seems like a better choice than rolling your own language which will need a ton of scrutiny to be considered serious.
"We are actively evaluating a number of alternatives [to C++] and will be adding a mature successor language to the project in the near future. This process is already quite far along, and prototypes exist in multiple languages."
Designing our new company brand: Meta - https://design.facebook.com/stories/designing-our-new-compan...
Apple AI logo is intended to look unthreatening, and non-anthropomorphic - https://9to5mac.com/2024/06/17/apple-ai-logo/
I hate to be a peanut gallery person, but I really hope they reconsider the logo!
The new logo doesn't connote "ladybird" or "ladybug" at all ... it seems like there's obvious room to make it more distinct with that kind of association
> We are targeting Summer 2026 for a first Alpha version on Linux and macOS. This will be aimed at developers and early adopters.
this is frighteningly far out for a prototype...
It kinda sucks that it takes this long for an alpha release (I know that browsers are extremely complex). On the other hand, it also seems like this is quite quick for an alpha release of a browser that does not use code from any other browser before it. I can’t wait for 2026.
In a way, this reminds me of the early days of Phoenix (which is now Firefox).
> Question: When is it coming?
>
> We are targeting Summer 2026 for a first Alpha version on Linux and macOS.
> This will be aimed at developers and early adopters.
From watching awesomekling's livecoding videos, this seems rather far out on the timelines, but godspeed. We need something outside the scope of the current browser models.The constraints of 1990s are no longer there in 2024, and many new novel breakthroughs are available that might not have existed back then.
(He was working on the big browser teams before SerenityOS and Ladybird)
I'm being unfair, but am I? Have been stung a few too many times by those words
I've worked in too many companies that have a "charitable arm".
And the "charitable arm" ends up being just a vehicle for, as you say, tax efficiency and profit maximisation and ways into markets otherwise barred to for-profit entities. Not actually focused on the point of the charity itself.
Ladybird seems to be gaining momentum, so I'd guess it will be generally usable sooner than Servo.
If anyone can implement a sane, readable, cleanly extendable CSS 2.1+ C library that gives you enough exposed metric information to do your own rendering, or maybe even expose a backing layer assisted abstraction since web rendering can be very expensive, you've solved what most people care about with making their own desktop software.
CEF is definitely not the answer for this, nor is Electron, and the people around Servo are deluding themselves or outright lying that they care about creating a solution that helps people rasterize web content. The latter most seemed to be all about self-promotion and false governance.
The WWW is great and all, but I think a lot of developers honestly want more direct control over their own apps.
I'm honestly surprised there's no popular alternative to CSS 2.1 that has come out because people realize that it's a lost cause trying to implement all of these worthless standards that get added to web browsers.
No one is using the joystick API. No one is using WebUSB. Just awful, worthless ideas.
The world needs a browser that puts people first, contributes to open standards using a brand new engine, and is free from advertising's influence.
This is why I've co-founded the Ladybird Browser Initiative with Andreas and my family has pledged $1M to support Ladybird's development. I believe in Ladybird and I believe in Andreas' vision, and I hope you'll help us support an open, independent browser that supports you.
Chris Wanstrath
GitHub Founder & former CEORepo here: https://github.com/LadybirdBrowser/ladybird
Edit: From the FAQ...
> Ladybird started as a component of the SerenityOS hobby project, which only allows C++. The choice of language was not so much a technical decision, but more one of personal convenience. Andreas was most comfortable with C++ when creating SerenityOS, and now we have almost half a million lines of modern C++ to maintain.
> However, now that Ladybird has forked and become its own independent project, all constraints previously imposed by SerenityOS are no longer in effect. We are actively evaluating a number of alternatives and will be adding a mature successor language to the project in the near future. This process is already quite far along, and prototypes exist in multiple languages.
Choosing a new language, even if it is something as well established as rust means going on a decades long yak shaving journey where they have to implement a lot of libraries that they would get for free if they chose c++.
C++, for all its crimes against humanity, works. And it works very well. I wonder what successor language they are thinking of.
My comment was kind of off the cuff, and had more to do with my personal likelihood of committing time, not any technology reason. I wrote the first part before I had seen the FAQ entry. That answer shows that the team has given due consideration of whether those yaks are worth shaving.
Either way, I'll be keeping tabs on the project, because I love the idea of a Firefox-as-it-should-have-been project.
It started off as a project made solely for SerenityOS (as in no relation to other OSes). Now they switched and have been working on Linux/MacOS/Unix versions. The development thing is that they're not ready yet for any release.
There are already Linux browsers with their own independent engines (for example, Konqueror uses KHTML), so what about this makes it special beyond having a Daddy Warbucks to fund its development?
The past 20 years of seemingly endless browser vulnerabilities due to memory management issues has left me... Skeptical. We're still seeing vulnerabilities based on memory management bugs in Chrome and the non-Rust parts of Firefox!
The sooner we stop making stuff like browsers in unsafe languages the better.
One of the issues preventing them from adopting a language like Rust or Swift was the large number of 3rd party dependencies they would bring with them, this went against the "we build everything from scratch" ethos of SerenityOS. Now that Ladybird is forked from Serenity I hope they can revisit this decision.
It wouldn't surprise me if they adopt Swift. Andreas really liked it and in the time since it was last evaluated Swift's C++ interop has improved a lot.
Stuff like nullptr has been in the spec for a while, unique_pointer and other stuff has worked its way in too.
And Rust has plenty of ways to turn memory into Swiss cheese. Anyone who does not actively acknowledge unsafe and the fact you can embed C into rust is delusional.
It's becoming harder if you understand those features and use them correctly, on top of your knowledge of unsafe C++. Even then those are opt in, and it still takes a tremendous effort. I don't trust anyone using C++ correctly. It's just hubris at this point. You can use unsafe and call C but that's a smaller surface area to audit. Most big companies are transitioning to Rust for a reason. Some big companies were trying to replace C++ even before Rust was a thing.
Why make a C++ browser now? What's the point?