Why dropping the SerenityOS target??
Does this mean that SerenityOS's Ladybird will need to continually pull patches from the new Ladybird project in order to keep development?
Also: is it really a fork if the new project gets to keep the name "Ladybird"? Will SerenityOS's browser need to be renamed, or there will be two diverging Ladybird projects with the same name? (Maybe a qualifier would help, like SerenityOS Ladybird vs Open Ladybird or something?)
> Unlike SerenityOS, Ladybird will have a relaxed NIH policy (instead of "no 3rd party code!"), and will leverage the greater OSS ecosystem.
SerenityOS wants to be an OS from scratch, to see how to do things better from existing implementations. When ladybird wants to target that OS as well, using 3rd party libraries would make it hard to stay compatible. Which is easier to do on just MacOS and Linux.
https://github.com/SerenityOS/serenity/tree/master/Userland/...
Ladybird was the name used for to the cross-platform version of the browser.
https://awesomekling.github.io/Ladybird-a-new-cross-platform...
It'll probably just be renamed back, or the "port" of Ladybird will always be built as part of the base system (which would make sense, so Serenity could continue getting updates to LibWeb and LibJS)
It will probably mean that Ladybird becomes a port. As for what happens to the LibWeb that's in SerenityOS right now, that's still undecided.
> Also: is it really a fork if the new project gets to keep the name "Ladybird"? Will SerenityOS's browser need to be renamed, or there will be two diverging Ladybird projects with the same name? (Maybe a qualifier would help, like SerenityOS Ladybird vs Open Ladybird or something?)
SerenityOS' browser will probably go back to being called "Browser", like it was before.
I'd say ladybird moving out is a big incentive to get a packaging system up and running.
my hope is that they take this as an opportunity to come up with a purpose built "web" stack for serenity? use it as an excuse to reinvent the web and "fix" the mistakes that were made? maybe by actually Putting Scheme In The Browser rather than js?
Tao Te Ching
Good high-carbon steel is harder to make than mild steel. It used to be a lot harder to make; carburization in ambient atmosphere takes an enormous amount of time and fuel, and even then is hit-or-miss.
Because that's so, and also because the brittleness that makes high-carbon steel great for knife edges also makes for a very fragile blade if that's all you use, good knives historically have been made by forge-welding a strip of high-carbon steel to a larger piece of mild steel. The mild steel makes up the bulk of the blade, and the high-carbon strip is shaped and ground to form the edge.
You can sharpen that edge by removing metal, but if you do that enough, you'll remove all the high-carbon steel and end up sharpening the mild stuff. That can't take as good an edge or hold it nearly as long, so you end up with a knife that's dull no matter what you do.
This is also why sharpening steels are a thing, because good knives are usually still made this way. Stropping on a steel cleans up the edge profile without removing metal, yielding a sharper cut without shortening the life of the tool.
Granted, all of this discussion of the mechanics misses the point of the koan, which is all about moderation and humility, and nothing really to do with cleverness beyond the always wise counsel not to let it run away with you. But then, too, moderate discussion of the mechanics may in this case cut toward that end, so I don't really feel this an indulgence to excess.
The split makes sense for practical reasons - I also sense he is personally perhaps more passionate about browser hacking than OS hacking (his own contributions were more to Ladybird than to the OS for about a year as he himself writes). Smart as he is, he may have recognized that he is in a unique position to be able to contribute a cross-platform browser that competes with the big tech companies, where as SerenityOS is essentially more of a toy OS (32 bit, 1990s look and feel, not compatible with important other operating systems, no radically new OS concepts) - without wanting to dimish the contributions of its amazing developers. IMHO, SerenityOS is more about the process of writing code from scratch than the resulting software itself. Its purpose appears to be 1. to prove it is possible despite the naysayers ("only large tech companies can build a browser", "no-one can build an OS from scratch") and 2. to enjoy the coding itself.
As other commenters have already stated, the only issue will be taking as much from Ladybird over to SerenityOS as possible.
There's another way of looking at, that is confirmed by the same set of facts:
- There was an OS project run by an awesome dude with a great story that was seen as in a unique position to compete with big tech companies.
- It needed a web browser.
- A web browser project was created.
- Now, the web browser is in a unique position to compete with big tech companies.
- This means it needs to fork itself, and drop support for the OS. That is because the OS project is now a toy.
My last deleted comment mentioned my deep respect for Andreas, and that my next milestone for the browser is downloadable builds and/or moving from pre-alpha to alpha (the downloadable builds was listed as a warning it was in pre-alpha).
I don't like appearing negative or arguably unsupportive, hence all the deleted comments over the years.
But, it's very important to me to make sure there's an accurate signal of what working on your own project looks like. Including the progress rate on things that sound awesome to work on, like an OS or web browser.
I've been dreaming of doing that since I was 17, and it took me 18 years of preparation, predominantly careful observation of successes, and failures, to go out on my own successfully.
The browser has the potential to impact many more people, and the project is well funded by large investors.
It makes sense that Andreas would shift his focus to LadyBird at this point.
While Safari is busy being Safari and Firefox is busy eating glue in the corner, I'd love to see LadyBird become a real contender in the browser market.
At this pace it would likely take decades just for them to be complete enough to show up on MDN or wpt.fyi
But I agree. With Microsoft ditching their independent Edge and becoming Chromium-based and Opera doing the same we're really down to 3 real engines. The best fourth option we can get are Goanna-based browsers like Pale Moon which are themselves just an early fork of firefox
A completely new and fresh often can go a long way in safeguarding the openness of the web. Even if there's not a powerful company behind it
The important thing to keep in mind with this announcement is that the glacial pace was previously a restriction of being attached to SerenityOS. Everything needed to be built from scratch with no reliance on third party libraries. Now that they're detaching from Serenity they can start reaping the benefits of the existing work in the FOSS ecosystem, which should enable a faster pace of development.
Hmm, why is there no mention of that in the splitting announcement?
Did said large investors trigger the drop of SerenityOS because they don't want to waste their resources on a niche hobby platform?
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.
But it's a bit disappointing to see that it's still pretty much a one-man project. Especially to have a chance to get close to the performance of Chrome and Firefox, it will need a large investment.
The amount of engineering resources poured into just making JavaScript fast is mind-numbing. But even "just" providing a light, mostly standards-compliant browser with a sorta-good-enough performance would be great.
Edit: Just saw a video from a few days ago talking about JS performance. Apparently the target is reaching JavaScriptCore performance, without JIT enabled. Disappointing, but understandable.
(Happy Firefox user here; I still don't understand why anyone who cares even the tiniest bit about privacy or an open web is using Chrome.)
We're long past the time that we should be using one type of app for text plus a bit of Javascript and another for running apps that are hosted on a remote server. I would definitely use a fast, lightweight, privacy-oriented browser for sites like HN or viewing local HTML files.
I don't know much about this project and I have never used it. But in my experience as a developer and user of software I couldn't disagree more.
The longer something can stay a one-person project, the better! Nothing kills creativity, innovation, and velocity faster than having to make every decision by committee.
Big communities are great when a project is in its maturity and mostly needs tending and slow evolution. They mitigate the risk of a single developer getting bored and walking away, or turning into a murderous wacko, or attempting to monetize the project to death. Not naming any names.
But when something is being built from scratch? Give me a single developer with a fat internet connection, alone in a cabin in the woods with a shed out back full of Red Bull :)
I agree that the amount of work and competition LadyBird is facing from Chrome alone is staggering, but at the same time, I'll always root for the little guy in tech, since imo thats where real innovation comes from.
Definitely Ladybird, but I'd also love to see Servo and Netsurf being developed.
https://www.youtube.com/@awesomekling/videos
Where he does a monthly update on developing Ladybird. You can learn about the things he's overcome, but also the problems he's having.
Most recent updates,
Ladybird browser update (May 2024) (https://www.youtube.com/watch?v=n4YBMjlGWRc)
Ladybird browser update (Apr 2024) (https://www.youtube.com/watch?v=LBl-fa-YJFE)
Ladybird browser update (Mar 2024) (https://www.youtube.com/watch?v=dKHopzDtElY)
I expect interest in SerenityOS will now taper off as a result of this, especially now that SerenityOS is no longer a target for Ladybird.
So the developer decided to take the growing project to its own space and let the other project thrive, too.
It's done out of love, if nothing else.
I personally had grown more interested in the browser anyway, so I'll just keep sponsoring Andreas, I suppose, unless this all is a prelude to VC investment or a big company acquisition or something...
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.
I fell for that trick 27 times already, you can't fool me! j/k
Thanks for the ride, wish you the best of luck.
That reminds me of Torvalds' statement on Linux: "just a hobby, won't be big and professional like gnu"
https://github.com/SerenityOS/serenity/tree/master/Kernel/Ar...
From the perspective of serenity os it is still there and mostly compatible if someone is interested to come along and push it forward to be used in the os.
https://www.sophiajt.com/search-for-easier-safe-systems-prog...
Best of luck on the new Ladybird adventure, and thanks for all your positivity and contributions!
I'm glad Andreas had committed to this, for the best to both projects.
Respect, man.
Looks like the idea of writing a new browser engine, or of forking Firefox, wasn't an absurdly impossible thing that would require billions of dollars. If this inspires somebody to take up that charge again, or to pick up Servo from the table, that would be wonderful too.
I would love to see a servo-based browser in near future!
I suspect Ladybird’s success has a lot to do with Andreas himself.
If you build for a particular shape/character of OS (linux/BSD as it currently stands) then a lot of the abstraction that would be needed for a truly "cross-platform" app doesn't happen.
Not the fastest way, but it seems to work. Best wishes to Andreas.
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.
I've been working on projects myself where the primary target switched, because I noticed it's a bit draining to keep supporting something "just" because I love it. Dropping a target usually doesn't mean it cannot be used there anymore, but simply that you don't feel comfortable guaranteeing support.
I don't know if that's the case here, only that it doesn't necessitate bad feelings.
Given that it was also stated that it won't be self-contained anymore that's also a very good technical reason. And I totally get that if you want to create a new browser with a new layout engine not wanting to re-invent every audio, video, image decoder, not wanting to reinvent all the wheels makes it already a huge project and I'd assume it's hard to guarantee all of these things will also work and compile on Serenity, which despite doing an amazing job at porting might get stuck here and there. I mean, see the OpenBSD and Rust(up) story.
This requires that it becomes a Port rather than a core part of Serenity.
To take it a step further, due to the fact that Andreas is being sponsored to work on Ladybird full time by a few companies, if it's inherently also tied to the development of Serenity (since its a primary target) that might make him concerned that there's a clash of responsibilities there - he might not want any sponsors pulling out or arguing that he's spending their money on Serenity instead of Ladybird.
This is all just assumptions however, and regardless of the reasons I think he's doing the right thing.
With SerenjtyOS you always had the "build it yourself" approach which was probably meant to only attract technical users.
Someone will probably once again port Ladybird to SerenityOS in the future. It won't be part of the main system, but users would be free to install it.
It doesn't properly load the given substack (it seems to stop loading it in the middle), but it looks fine. :)
Surprisingly, loading Google Maps even work, but I can't seem to do more than move the map around. Github even works!
So far it seems better than Servo in throwing random sites at it, but I last tried Servo years ago so it's not fair. I guess I will try Servo now for the heck of it
edit: yeah Servo still seems worse, but it loads the whole substack post :)
Unsurprisingly github is one of the developer's most frequently used sites when dogfooding the browser so it'll probably always work :)
Though I wish they still targeted Serenity OS. I guess the expectation is for someone to fork the more general browser to Serenity at a later date. That's not a bad plan either since the incompleteness of the OS is bound to hold the browser back.
This whole thing is one of my most favorite things to happen in open source software. Andreas already succeeded in getting people to look at OS and browser development in a new way. All the best to them.
What happens next is up to them & the community to decide. :)
Aww :(
I can understand forking the browser from the OS, but I'm a bit sad about this. I hope SerenityOS can have a first-class browser in line with the OS philosophy.
This will probably mark the beginning of the end for SerenityOS but I guess we'll see. Really enjoy watching the development videos from Andreas' YouTube channel.
Really sad to see so many open source communities choosing closed source, walled off and not publicly visible communication channels.
> Ladybird now targets Linux and macOS. The SerenityOS target is dropped.
Changing the browser development to a cross-platform-first model is great to see but why drop support for its roots completely?
Certainly, the browser has the most potential and even immediate necessity for the sake of the open Web, but I would still like to daily drive SerenityOS some day. Its aesthetics and holistic architecture are a dream realised.
Windows is going down the toilet fast, and Linux lacks the holistic element, so having something that combines the greatest visual design language - mid to late 90s interface guidelines - with the powerful Unix shell would be a huge boon for desktop computing. (Yes OSX has great albeit modern UX with the Unix underpinnings but isn't OSS or affordable to the masses).
We've got lots of OSes built on top of that kernel: ChromeOS, Android, and all the distros that are largely different flavors of a GNU/GPL'ed user space, including Fedora, SteamOS etc.
This is fine. If you want a new OS with a "holistic" user space, well Linux is probably the easiest kernel to build it on, but you can't count on it being as free as the GNU user space, because it's still going to be expensive as hell to build, and whoever does it is going to want to recoup their investment many times over.
I think the chance that the GNU user space ever morphs into a "holistic" consumer operating system is basically zero due to how it's licensed, and the key is to understand that this is both fine and necessary.
If you want some other kind of more consumer friendly user space... I guess that starts with convincing some VCs they can make money off of it. They are not going to fund it out of the kindness of their hearts.
Personally I lost interest in consumer operating systems that are designed to limit freedom for the sake of profit, and became an exclusive Debian/Ubuntu/Mint user long ago. If you can be a programmer you can run these operating systems. The tradeoff is you lose the "holistic" and you gain freedom. The two are fundamentally incompatible I'd say so you have to make your choice.
Maybe the bold solution would be to port the Serenity userland + UI stack across to Linux and be very staunch about what gets into it. Essentially grafting the Linux kernel in place of the Serenity one, and using its UI Kit and WindowServer instead of GTK/QT/X/Wayland.
Maybe it might even be possible to preserve the logic and non-UI libraries of many applications, even if the UI required a complete rewrite.
A bit fantastical but just putting it out there.
It is fast and open source. But very tightly integrated into google and so I doubt, this will ever become a solid base for a new linux desktop.
It'll be, once the realtime patchset is completely merged.
Meanwhile, some distributions (including Arch) offer a pre-patched kernel.
You might want to look at helloSystem.
And he seems to not want macOS type design. Unless you mean System 8/9.
I for one would love to see the SerenityOS GUI ported to Wayland on Windows. It's precisely what I ask for from an OS honestly.
There's also tons of software projects where this happened, just more quietly. Usually when there is no drama, nobody reports about it. So I'd assume it's usually more a problem, if there is drama, but even here I can think about projects surviving despite it. See OwnCloud/NextCloud.
Honestly, I can't think of projects where this did not end well. Given that SerentyOS is still a thing, despite Kling pulling out a while ago (in the sense of only working on the browser) it really doesn't sound like the project is on its last breath now.
Given the history of getting people into OS development - even more so than Haiku, which also did a pretty good job at that I think Kling leaves with a multitude of people stepping in.
It was never meant to be a ‘mass-market’ general purpose OS, but could still turn into one (or be the basis that one is built from) if the right maintainers steer it that way. But even if it doesn’t I’m glad that it existed, and that it spawned Ladybird is pretty crazy and awesome.
Beneficial Dictator For As Long As It Suits Me
:)
Which is exactly what happened to the first "dictator for life" (without the B) ;-). Even at more or less the exact age where one would expect someone to retire today.
See also: Julius Caesar, Ides of March
Edit: Just to make this clear, I also find the "I'm doing this as long as it works out and makes sense" to be the only useful approach to the "title" of BDFL.