top | item 39271449

The Ladybird browser project

625 points| defied | 2 years ago |ladybird.dev

284 comments

order

jug|2 years ago

It's been so inspiring to see him and his crew of hackers build a new, independent browser from scratch. I must admit I didn't think it was possible on this small scale in terms of man hours and funding.

However, the thought has also crossed my mind if we're finally seeing fruits of browsers being better standardized on "95%"+ of the popular features -- and if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back. While the web is of course still evolving, it feels more "settled in" than 10-15 years ago.

There's also the factor that past developers didn't have the more complete roadmap set when they initially planned browser design, but now we have huge amounts of web standards already there AND also know how popular they got over time i.e. what to prioritize to support a modern web. One might superficially think there's simply more of everything, but I also think ideas that can be discarded. Just imagine that Internet Explorer had XSLT support, and FTP was common once upon a time!

It would be interesting to hear more about their own thoughts on these topics!

Edit: My bad; XSLT is still commonly supported and by all major browsers but a rarely used feature and stuck in limbo in XSLT 1.0. So it's probably among those things that can be safely omitted for quite some time.

awesomekling|2 years ago

> It's been so inspiring to see him and his crew of hackers build a new, independent browser from scratch. I must admit I didn't think it was possible on this small scale in terms of man hours and funding.

Thanks jug! I'm super proud of all the folks who have worked on it with me :^)

> However, the thought has also crossed my mind if we're finally seeing fruits of browsers being better standardized on "95%"+ of the popular features -- and if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back. While the web is of course still evolving, it feels more "settled in" than 10-15 years ago

This is definitely true! I've worked on browsers on and off since 2006, and it's a very different landscape today. Specs are better than ever and there's a treasure trove of tests available.

sph|2 years ago

It is not any easier, because we still have a monopoly running the show, only it's not called Microsoft anymore.

If anyone threatens Google position, they can literally throw money at the problem, invent some overcomplicated standard, implement it in Blink, and have the competition chase them. It doesn't need to go through W3C either, if it works in Chrome, all web developers will adopt it and any smaller engine will necessarily have to support it or risk losing whatever little market share they have left.

Having control of the internet now is of greater strategic importance than it was 20-30 years ago when Microsoft was king of the hill.

autoexec|2 years ago

> if we're finally seeing fruits of browsers being better standardized on "95%"+ of the popular features -- and if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back.

A decade back, maybe... but decades ago the number of things you had to support was just so much smaller even if you only looked at HTML! Consider https://www.ietf.org/rfc/rfc1866.txt vs https://html.spec.whatwg.org/multipage/

Writing a web browser was hard in the old days for a lot of reasons, but trying to write a full-featured one today is a huge undertaking and we're still adding a bunch of new features all the time and expecting browsers to support them

rjh29|2 years ago

> if writing a browser today is in fact easier than both writing AND maintaining a browser a decade back.

Probably not. Yeah we have web standards and some idea of how to architect it, but the total set of APIs and HTML/CSS features a browser supports is probably changing faster than the Ladybird team can actively implement it. The API surface is just impossibly large compared to 10 or 15 years ago. Look at all of these: https://developer.mozilla.org/en-US/docs/Web/API

And that doesn't include the updates to Javascript, MathML, SVG, HTTP-based security features, encryption or media support.

grishka|2 years ago

IMO most of the complexity of modern browsers is in all those strictly optional, app-like features. PWAs, service workers, JS JIT and all that stuff. If you want to build just a hypertext viewer, not a full-fledged OS/application environment, just leave them out and nothing of value will break. Things also become substantially simpler if you aren't looking to make your JS execution as performant as theoretically possible (and you don't really need to with how most websites actually use JS).

_heimdall|2 years ago

It would be a bummer IMO to see XSLT abandoned. Its still a really interesting approach to the web and an alternative to today's JS-heavy client rendering.

The idea of being able to ship an XML template with basic logic like for loops alongside the actual XML data source is really unique today. If people cared to use XML at all, that really does cover quite a few use cases that we current reach for JSON + client JS today.

stephen_g|2 years ago

It's really quite incredible that one guy basically started a project to create a whole operating system from scratch for fun and to give himself something interesting to do, and then accidentally created one of the most viable new browser engines in a decade or two...

I've been watching the development videos for a year or two, and the speed that this has progressed in such a short time is unbelievable. Now they have multiple volunteers and enough sponsorship to pay more than one developer, it's pretty exciting what could happen here!

jll29|2 years ago

He is a world expert on Web rendering, and an extremely capable C++ developer. One of their success recipes is to code up the various specifications directly, which is - today - the best way to go about this. They are also heavily test-driven.

He did not even use the C++ standard library, when he says "from scratch" it includes his own string class, for better or worse, which is fine since it's "just for fun", "to learn" etc. And just when you think a library and an OS are crazy, he announced a browser and a JavaScript engine on top. Then a JIT compiler, then Jakt, their own novel programming language, because neither C++ nor Rust is what makes him perfectly happy.

More than his expertise I admire his modesty and kindness - unlike Linus etc. he is not full of himself, and each of his videos gives lots of credit name by name of who did what. A perfect role model for open source.

pjerem|2 years ago

Wasn’t this guy working in the WebKit team at Apple for years before ?

It’s still really impressive but he is not the new kid in town when we talk about developing browsers.

kouru225|2 years ago

I can’t tell from the link. What makes it so viable?

twiclo|2 years ago

What could happen? Why is a new browser engine needed?

jraph|2 years ago

I have hopes it will become a daily usable browser. A new Web engine is great. I hope Servo succeeds at this too.

I would consider contributing but development is coordinated on Discord and I avoid proprietary software… [1]. It's a shame. Can't blame them though, they are doing it for fun.

[1] https://drewdevault.com/2022/03/29/free-software-free-infras...

martypitt|2 years ago

Wow - that article was a tough read. I like a LOT of what Drew has to say, but this seems over the top.

He claims that authors promoting their open source software on channels like Twitter, Hacker news, LinkedIn or even Github is "selfish and unethical outright":

> Many projects choose to prioritize access to the established audience that large commercial platforms provide, in order to maximize their odds of becoming popular, and enjoying some of the knock-on effects of that popularity, such as more contributions.

> To me, this is selfish and unethical outright, though you may have different ethical standards.

I find Zealotry like this tough, and promotes a definition of FOSS that feels hostile against those who want to simply build something cool, and share it with the world - (or even more controversially, make money from FOSS).

Given such a strong view, it's really surprising that he then posts stuff like "Can I be on your podcast"[1] to try to promote Hare - his programming language.

He didn't ask for podcasts that aren't distributed on platforms like Spotify or Apple Podcasts. In fact - he's right there with several appearances promoting Hare.

That feels like hypocrisy.

[1]: https://drewdevault.com/2023/11/09/Can-I-be-on-your-podcast....

Thorrez|2 years ago

I think HN is proprietary.

webprofusion|2 years ago

Great to see some competition still alive in browser engine development. See also Servo (previously part of Mozilla) https://servo.org/ - that and Ladybird are still very underdeveloped compared to every day browsers.

It's a huge shame that there are no nightly builds of ladybird to try out but I assume that's because they just don't want the bug reports (if everything doesn't work it's pointless getting random bugs filed).

marginalia_nu|2 years ago

Last I tried Ladybird didn't take very long to build. This was admittedly sometime last year and it's likely slower now, but still. It's very far from a 9 hour chromium build.

ripley12|2 years ago

IIRC there are no builds because forcing people to compile it themselves ensures that users (and people who file issues) have a certain amount of technical competency. Keeps life easier for maintainers, but will probably change if/when the project matures.

szehe|2 years ago

i love these progress screenshots: https://serenityos.org/happy/1st/

harha_|2 years ago

Looking at the timestamps, the pace of progress just him working alone in the beginning is nothing short of amazing. He seems to be a true jack of all trades when it comes to programming.

talkingtab|2 years ago

A thought experiment. What about a new kind of browser for a new kind of web? Much of CSS is obsolete. So doing a "modern" version (I'm thinking css grid and flex in particular) would provide the same functionality without the cruft. All that old stuff about the holy grail three columns layout.

And for me there is the question of canvas, threejs, react-three-fiber and react-drei. Is it possible that - especially with mobile - that canvas could be used to provide a better user experience? Who writes games for mobile with a HTML and CSS? Not saying it can't be done, but I wonder how many web sites require HTML & CSS instead of canvas?

A big barrier to browser competition is needing to implement obsolete and outdated technology. Why not just a minimum set of html and canvas.

Just thinking. Your thoughts?

sho_hn|2 years ago

I've worked a bit on browser engines, although it was quite some time ago.

I don't think it'd help much.

- There's been a Cambrian Explosion in the web API surface era. The modern stuff dwarfs the old stuff. Dropping support for older/less frequently used mechanisms does not shed as much code and complexity as you might think.

- Beyond mere surface area, the level of engineering required to implement a sort of "Restricted Core Profile" to a competitive degree (e.g. performance) is quite high, if you're talking true blank-canvas development.

- There's a long tail effect in full force, where even mostly-modern websites will use and rely on some cruft here and there, making very few pages work in your supposed browser.

That is to say, it's still a very large, tough project. But the FOSS community has achieved quite a few large, tough projects; it's not the same as saying that it's not possible, of course.

BlueTemplar|2 years ago

> Who writes games

Please stop following Google who is trying to turn the Web into an OS for their own ad-fueled, user-tracking profit.

If you want to make connected (or not) apps, there's already the Internet and OSes for that. And you don't have to make your interface worse by fighting with the browser about it ! (Especially important for games and other "deep" software.)

The whole point of the Web is to be an hyperlinked collection of documents, sometimes multimedia, with maybe a little bit of interactivity with some forms and scripts sprinkled on that.

(As an example to how incongruous the current situation is, imagine a parallel universe where it was Adobe rather than Google that got humongous, and it was the JavaScript in PDFs that was (ab)used instead to make apps.)

fzzzy|2 years ago

What exactly is obsolete about css? There are still valid use cases for float and inline block. border-box also fixes most of the teeth-gnashing from the 00s. I think it's a nice idea but I don't see what would get cut. Tables are still best for actual tables of data, too.

novagameco|2 years ago

I think there are modern frameworks which render everything in webgl/webgpu with the canvas

dang|2 years ago

Related ongoing thread:

Interview with Andreas Kling of Serenity OS (2022) - https://news.ycombinator.com/item?id=39286638 - Feb 2024 (134 comments)

Related to OP:

Ladybird browser update (July 2023) [video] - https://news.ycombinator.com/item?id=36939402 - July 2023 (1 comment)

Chat with Andreas Kling about Ladybird and developing a browser engine - https://news.ycombinator.com/item?id=36620450 - July 2023 (65 comments)

Shopify Sponsored Ladybird Browser - https://news.ycombinator.com/item?id=36502583 - June 2023 (1 comment)

I have received a $100k sponsorship for Ladybird browser - https://news.ycombinator.com/item?id=36377805 - June 2023 (166 comments)

Early stages of Google Docs support in the Ladybird browser - https://news.ycombinator.com/item?id=33511831 - Nov 2022 (84 comments)

Github.com on Ladybird, new browser with JavaScript/CSS/SVG engines from scratch - https://news.ycombinator.com/item?id=33273785 - Oct 2022 (1 comment)

Ladybird: A new cross-platform browser project - https://news.ycombinator.com/item?id=32809126 - Sept 2022 (473 comments)

Ladybird: A truly new Web Browser comes to Linux - https://news.ycombinator.com/item?id=32014061 - July 2022 (8 comments)

Ladybird Web Browser - https://news.ycombinator.com/item?id=31987506 - July 2022 (2 comments)

Ladybird Web Browser – SerenityOS LibWeb Engine on Linux - https://news.ycombinator.com/item?id=31976579 - July 2022 (2 comments)

KingOfCoders|2 years ago

While Mozilla is re-selling privacy service (see other news on HN), others are building a better browser. Without the need of $6B.

kome|2 years ago

Mozilla has definitely a management problem. But the product is good. very good even.

codemusings|2 years ago

Love Andreas Kling and the Serentiy OS project. Hate that he's only on Twitter. Mastodon seems like the perfect fit for his audience.

marginalia_nu|2 years ago

I dunno, he's pretty committed to his positive utlook on things. Mastodon seems to be the far angrier place in comparison to Twitter. Twitter used to be a lot more like that, but it seems like most of the angriest people on twitter moved ot mastodon when Elon took over.

It's (IMO) very pronounced and hard to avoid on Mastodon.

niutech|2 years ago

He has a mirror on Mastodon: @awesomekling@bird.makeup

wtracy|2 years ago

Shopify is a sponsor! I wonder how that came about.

gkbrk|2 years ago

How many days can Google resist the urge to charge 30% for payments on Chrome after Chrome gets all the marketshare and the last drops of Mozilla are milked by the CEO? It's both good PR and a hedge against an (unlikely) bad scenario in the future.

ptx|2 years ago

Are there any plans to rewrite the browser implementation in the Jakt language once that gets a bit more stable? Memory safety would be a unique advantage over other browsers (aside from Servo).

TheCoreh|2 years ago

I am also looking forward to that, but I think the Serenity philosophy is to not make any long term plans and commitments.

If the language becomes mature enough, and there are people interested enough in doing that porting, it will likely happen.

I think their C++ code is also constrained enough due to the use of their custom standard library that it would be possible to write a transpiler from C++ to Jakt.

Dessesaf|2 years ago

There are no concrete plans for anything with the Serenity ecosystem. But the main design goal of Jakt was originally for developing mainly GUI applications in SerenityOS. But if Jakt ever gets used in SerenityOS, a gradual rewrite of the libraries underlying the browser engine seems likely to me.

I will note though that development on the Jakt language has slowed down significantly. After extremely fast initial development, most Serenity developers no longer contribute to the language. Because everything is done exclusively when the contributors feel like it, development happens in bursts. And right now, Andreas is not actively working on Jakt, so very little improvement is happening there. The main developer working on the language is Ali Mohammadpur, but I don't think he is currently being paid to work on the project. So his contributions are also inconsistent.

hosteur|2 years ago

I am fascinated by this project.

What are the chances that this could become a real world usable replacement for chrome or Firefox witching the next couple of years?

zamadatix|2 years ago

"Usable" as a term is a bit of a wash in the browser world. Some people will argue Firefox or Chrome are unusable due to some minor annoyance and others will say filling is still usable. Trying to give an answer though I'd say most will say it works with most sites in a few years time but most would also not recommend it due to security concerns. It's not that they haven't thought about security, sometimes they even try newer more segmented approaches than current major browsers use, just that everything has been done from scratch and the work to make the code safe and battle tested as other browsers would be more than the work to make the browser to that point.

TheCoreh|2 years ago

My gut feeling with how far they've come in so little time says it's definitely in the double digit percentage points.

kramerger|2 years ago

I would love to use this as my daily driver, but a lot of popular sites don't even work with Firefox.

I hate what a small group of lazy front-end people have done to our world...

jraph|2 years ago

> but a lot of popular sites don't even work with Firefox

Which ones? I have always exclusively used Firefox and rarely have issues.

thenoblesunfish|2 years ago

Not my experience at all. Firefox works great for all the popular sites and 99+% of the unpopular ones. The trouble comes with websites that generally seem shoddy. I haven't had to install and delete Chrome for a long time!

imperialdrive|2 years ago

In many many years of Firefox use, it has always loaded my sites with perhaps only one exception, but that was an odd graphics css treatment the signed out Patreon homepage used, probably fixed by now.

kome|2 years ago

> I would love to use this as my daily driver, but a lot of popular sites don't even work with Firefox.

you mean minor aesthetics differences or functionality? I just use firefox, I don't even have chrome, and everything works. And I use mainstream web, nothing too niche.

la_oveja|2 years ago

small group of lazy front-end people? i think you actually mean a small group of chrome developers single-handedly deciding how web should work, while having the vast majority of the market share to push those decisions.

OkayPhysicist|2 years ago

I exclusively use Firefox, and I probably browse more websites than most. I very rarely run into websites that don't work on Firefox, and I can't recall the last time I ran into a page that didn't work on Firefox when serving a Chrome UserAgent (btw, if you're a web developer and you're accessing your user's UA, you're doing something horribly wrong. Stop).

DiggyJohnson|2 years ago

Which sites don't work with Firefox? I'm a daily Firefox user for 15 years now and I can count on a few fingers the amount of sites that were "broken" in FF (and weren't a legacy IE issue).

This seems like hyperbole, frankly.

sesm|2 years ago

Are you sure they are lazy? Maybe they are overworked, exhausted and constantly pressured by management to output new features? Did you ever work as a front end developer?

timeon|2 years ago

Interesting. I use Safari for most sites and when there is rare case that site does not work I open Firefox and it just works.

lemper|2 years ago

what sites, bro? i see this kind of statement many times yet they never give me any answer.

F3nd0|2 years ago

I want to feel excited for Ladybird, but it's an incredible shame that such a promising and potentially very important project has settled on a pushover licence and Discord for their communication platform. The latter especially is an antithesis of freedom and openness, which I feel ought to be valued by people celebrating Ladybird's progress.

logicprog|2 years ago

The weird thing is, a couple years ago when I contributed a little bit to Serenity OS, they were actually using an IRC channel

ambigious7777|2 years ago

I may just be being dumb here, but what is a pushover license?

paddim8|2 years ago

They used IRC but they switched because IRC is just too inconvenient. Discord is proprietary, but it works really well for them. They chose to be pragmatic.

yarekt|2 years ago

It sounds cool, and it’s nice that someone is disproving the myth. I use Qutebrowser daily, these projects are great, but not without their pain points: once you start using them in anger you’ll quickly realise lots of basic features are missing. It would be really nice if the more common oss libs had more work done on them to unbloat them

simonebrunozzi|2 years ago

> 2023-08-13: New sponsor: ohne-makler.net

> 2023-06-28: Welcoming Shopify as a Ladybird sponsor

Hmm, no new sponsor since august 2023. Not a good sign. I cheer for them to succeed though!

DiggyJohnson|2 years ago

Is there a way to create a binary to use this browser in a normal-ish way. Looks like the docks recommend using a script to run it, but I’d like to be able to package it for my personal package repository.

vimsee|2 years ago

I just made a wrapper script that calls the script in the serenity repo (which I cloned into my home directory) and put the script in PATH e.g. in /usr/bin/ladybird. The content my script.

> #!/usr/bin/env bash

> cd ${HOME}/serenity && ./Meta/serenity.sh run lagom ladybird

I guess you could create a .desktop file that invokes the script, or just the "serenity.sh" script directly.

cpach|2 years ago

Very cool project!

I also find it curious that they are sponsored by a real estate site (:

Hanschri|2 years ago

Ohne Makler sponsored the project with 10k USD to make their website render correctly in Ladybird, it was covered in one of the browser update videos last year[0].

[0]: https://youtu.be/xdVOdrWuzLQ?t=147

hendi_|2 years ago

I just needed a reason to throw money at him ;)

pipeline_peak|2 years ago

Show me Ladybird in 10 years, then I'll decide if it's a promising browser/dev team.

dev213|2 years ago

This is a really cool project, but:

"Where are the ISO images?

There are no ISO images. This project does not cater to non-technical users."

This comes off as really abrasive. Wanting an ISO image to quickly test this out is not an indicator of someones technical ability.

I'm sorry I don't want to boot up a linux vm, install a lot of development packages and then build my own boot image just to try this out.

cal85|2 years ago

> This comes off as really abrasive.

I think that’s often the point with OSS projects, especially those that have an ambitious long term vision. If you “don’t want to boot up a Linux VM” etc, they don’t want you. It’s a filter. It means their concern at the moment is the coherence of their community, not increasing their numbers. It’s the same reason projects like this often have absurdly ugly logos, and landing pages that don’t work on mobile. Fast growth is often seen as destructive when you already have a nice little community vibe. It’s essential to maintain that vibe carefully if you have a long term goal of building something important.

Cthulhu_|2 years ago

Counterpoint, it would be another release / packaging they would have to build and maintain, unless they find a volunteer that can do it without detracting from their core business, it's not worth the investment (to them).

Anyone can set up a pipeline to distribute ISO images though, it's open source.

AndyKelley|2 years ago

Is it just for fun or not? I think it's important to face this question, because users should not trust a just-for-fun browser with their security, and we should not look to Ladybird as a meaningful contribution towards competition in the browser space if it's just for fun.

If it's just for fun, we need to temper our expectations accordingly.

10000truths|2 years ago

"Just for fun" is precisely how Linux started:

    Hello everybody out there using minix -

      I'm doing a (free) operating system (just a hobby, won't be big and
  professional like gnu) for 386(486) AT clones.

whyever|2 years ago

They don't provide binaries, so I don't think there is a risk of having users.

Is it really important to answer this question? A lot of widely used software started as "just for fun", e.g. Linux or OpenSSL.

I think tempering our expectations should be the default for Open Source software.

jraph|2 years ago

I think it's a "just for fun" project that is getting a bit serious, and sponsored.

And that having expectations as a end user is still a bit premature.

You can expect the project to move somewhat fast.

redder23|2 years ago

Written in C++? Makes no sense to me. I have high hopes for Servo but this seems like a waste if its a C++ project.

fifteen1506|2 years ago

I always mix SerenityOS and TempleOS :(

adontz|2 years ago

[deleted]

andyjansson|2 years ago

It's very tiring to see these kinds of comments, even as a bystander. I can't imagine how it is for the developers. People have spent a fair amount of time building this thing and deserve better than to have their efforts dismissed by the likes of you. Please, do better.

The current browser engine landscape is a monoculture, so this is a very welcome addition IMO.

grayhatter|2 years ago

The whole point of the project is to write a completely independent browser from scratch. The effort seems focused to me, write a complete engine. Not write a small part of a browser.

But why would reusing something be better? Reusing someone else code wouldn't be competing with them, it'd be depending on them.

rice7th|2 years ago

I strongly disagree. The point of the whole SerenityOS project is to do everything from scratch, both for fun and to bring a bit of innovation in a classic environment. I see this "rebuild everything from scratch" effort as beneficial in many areas of browser development, since there are technologies shared by most browsers that create a sort of sub-monopoly, independent from the actual browser marketshare.

Take for example the JavaScript engine. Spidermonkey and V8 are much more prominent in browser engines, even the lesser known ones, compared to JavaScriptCore. Spidermonkey for example is used in Firefox, Servo and Flow (Eikoh's browser engine), while V8 is used in every chrome derivate and most javascript implementations outside of a browser. JavaScriptCore is literally used in only one browser engine, and while WebKit is rather popular, it doesn't change the fact that the browser-grade javascript engine market is dominated by only two engines.

Rebilding everything from scratch is such a fresh breath of air from all of those technological monopolies. I only wish the best for the SerenityOS team and contributors.

kramerger|2 years ago

Don't criticise people hacking for the fun of it, on Hacker News of all places.

gkbrk|2 years ago

> So, no motivation why not port Servo/WebKit, but write from scratch. One could at least use HTML/CSS layout manager or JavaScript engine. I mean, I am very pro competition and open web, but writing everything from scratch seems like waste of effort. I'd expect efforts to be focused.

Why write Servo from scratch instead of porting Blink/Webkit? One could at least use the HTML/CSS layout manager. Seems like a waste of effort.

detolly|2 years ago

Then you have not understood the motivation of the project.

Kostic|2 years ago

When the alternative was using drugs, writing everything from scratch is way better.

alpaca128|2 years ago

This mindset is why we now have countless new browsers that all run on Chromium. What's the motivation for those?

Also calling the project a "waste of effort" seems a bit out of touch. Effort doesn't have to pay off in any way to be worthwhile. If the act of building is part of the motivation then taking shortcuts at building it defeats the purpose.

lukan|2 years ago

Besides the actually answer - because they want to - I don't think it would even work, because of the dependencies. (SerenetyOS is also written from scratch.) But since Kling used to work on the webkit team - you can bet that they don't work in a vacuum and reinvent the wheel, but just reimplement in a way they think is best. Also, they are not doing it for you, but for them.

olliej|2 years ago

Why have any other browser engines at all? Why not just require everyone use chrome?

If you think you are "pro open web" but don't see the value in new browser engines (rather than just Safari, Firefox, and endless Chrome skins), then you're not actually "pro open web" you're pro status quo.

But also, you're completely missing that the whole point of serenityos was to do everything from scratch, and simply porting an existing engine like webkit (which Andreas is extremely familiar with) isn't an interesting task. Porting something like servo (that doesn't even benefit from significant web compatibility) is even more pointless.

At least building a new engine from scratch has the potential to introduce a new non-gecko, non-webkit derived browser, even if it takes a while (though despite the size of modern web specs, it's in many respects easier[1] than doing it 10 or 20 years ago).

[1] It's still not easy, but prior to the immense work from the major browser developers in the late 2000s and 2010s to actually make the specifications accurate and complete, you could not do what serenity/ladybird has been doing and just implement the spec. Firstly often times the spec simply did not exist, but then the W3C specs were largely incomplete, often times ambiguous, and frequently just did not match reality. Even TC39/ECMAScript, which was much more constrained, had absurd amounts of ambiguity and incompleteness. Nowadays, you can go to most specs and be fairly assured that if you implement the spec as written the behaviour will actually be correct (maybe inefficient or slow), and the difficulty is the much more tractable problem of there being more features to implement.

sesm|2 years ago

I thing I understand what you mean: in theory rewriting a browser in ‘ship of Theseus’ way focusing on one thing at a time should be more manageable. But in practice the integration points between different parts are not standardized and you’ll have to deal with a huge C++ code base that takes hours to compile.

Powdering7082|2 years ago

Taken from the FAQ of serenityOS:

> Will SerenityOS support $THING? > Maybe. Maybe not. There is no plan.

mnau|2 years ago

A big part of open source motivation is a creative expression.

Then there are raccoon digging through dumpsters for free code.

I find this mindset (why aren’t you working on something that benefits me, Bender) rather toxic.

sylware|2 years ago

It seems there is zero c++ in their web engine (cannot clone their repo right now and github is spitting raw json while browsing their source code with noscript/basic (x)html browsers).

Is this true?

nhinck3|2 years ago

No, it's basically all c++