Since starting the SerenityOS project in 2018, my goal has been “to build a complete desktop operating system to eventually use as my daily driver”.
What started as a little therapy project for myself has blossomed into a huge OSS community with hundreds of people working on it all over the world. We’ve gone from nothing to a capable system with its own browser stack in the last 4 years.
Throughout this incredible expansion, my own goals have remained the same. Today I’m updating them a little bit: in addition to building a new OS for myself, I’m also going to build a cross-platform web browser.
If there is one person who can pull off making a web browser and turning it into a successful-enough open source application, it’s Andreas Kling. His work on SerenityOS is simply stunning and inspirational, attracting hundreds of people to work on a ’90s-inspired alternative desktop operating system. If he can organise the same amount of enthusiasm for Ladybird, it has a real shot at becoming a successful, but niche, browser.
For now, it’s very early days, and Kling is open and honest about how much work is still left to do. Since all the code is new – this isn’t a fork or Blink, WebKit, or Gecko – you can imagine this isn’t exactly going to be an easy ride. It’s currently running on Linux, Windows through WSL, macOS, and Android, and Kling states the Linux version if the best tested one.
I’m definitely excited for this one.
Not only has Andreas started the SerenityOS and Jakt programming language projects but he used to work on WebKit / Safari for Apple. He has shown that he can be successful building communities around his initiatives but also he certainly knows what he is getting himself into building a browser and is likely to have a few years of “someday” ideas about it kicking around his head.
There are really only two “usable” browser engines out there and, for whatever reasons, only Chromium is really successfully serving as the base for other projects projects. In addition, neither Google nor Mozilla at this point are the perfect stewards of the perfect Open Source implementation ( in my view ). The world could really use another pragmatic browser implementation. This would be my favourite one in terms of the stewardship model. In general, I am pretty excited for the prospects of this initiative.
Being basically just a reskin on the browser engine used in SerenityOS, this project is guaranteed to have a strong enough base to stay viable with its core technology. It seems like likely that Ladybird will expose the core LibWeb and LibJS ( and other ) Serenity libraries to much wider testing and adoption by a much larger audience. Overall, this is just a really smart move by Andreas ( which is entirely unsurprising given what I have seen of him ).
Ladybird also runs on Haiku.
… and OS/2?
So at the moment we have three niche engines:
1. NetSurf/Hubbub: seems a bit stagnant
2. Ekioh Flow: advanced but proprietary
3. Ladybird/LibWeb: new contender
I wish them all the best.
Yeah Netsurf has targets that limit it also (but that is generally a good thing).
Eventually it would be nice if at least the JS engine and dynamic rendering get completed… its very portable. And will run on almost anything with at least a few tensof Mhz to throw around.
It seems to mostly be in maintenance mode with a few spurts of activity now and then, the guys that work on it have been very nice and helpful when I have reported bugs in the past (sparc endianess).
Flow is an interesting from-scratch, multi-threaded GPGPU browser project too.
https://www.ekioh.com/flow-browser/
Marcus1991,
While I’m a fan of GPGPU, portability tends to be a weak point with top vendors promoting closed/non-portable APIs. Developers have to support multiple backends to be portable, which seems to be what Flow has done.
Interesting concept, although to be honest HTML rendering speeds don’t seem to be that much of a bottleneck in modern times, They say this project helps move the burden from the CPU to GPU, but in fact we often have too many CPU cores going unused as is. It may be more of a “because we can” project.
J0scher mentioned it being proprietary so it’s out for me, but it’s neat that this exists.
I’m no developer so I won’t be able to appreciate the complexity involved in modern day browsers however I think I speak for many in saying that the modern browser is likely still the primary application required for any OS these days. A fully functional browser can make most hobby OSs potentially a daily driver in an instant. Its a shame that browser portability isn’t easier to achieve. I wish them all the best in stepping closer to this goal I think.
Portability is pretty much guaranteed here as most of the code is actually written for SerenityOS. If it runs on both SerentiyOS and Linux, it will probably run on anything POSIX. A comment above says they have seen it on Haiku already.
I agree completely with your comment about the importance of a modern browser and how pretty much anything that runs one is in the running as a daily driver other than games. It is not quite that simple but it is probably the most important piece of the puzzle. A truly Open Source option that does not suck would be amazing. I think this could get there.
It runs on Haiku because its using QT5 for the GUI… which Haiku has a port of.
There are work in progress ports of X, Wayland and GTK also for Haiku but the QT port has been around for a long time.