I'm forking Ladybird and stepping down as SerenityOS BDFL

9 months ago (awesomekling.substack.com)

> Ladybird now targets Linux and macOS. The SerenityOS target is dropped.

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?)

  • I think the fork has to do with the following item:

    > 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.

  • SerenityOS's browser has never been named Ladybird AFAIK, it's always been just Browser.

    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...

    • SerenityOS' browser began identifying itself as Ladybird last year or the year before in the UI, the folder was always called Browser.

      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)

    • Would it be fair to assume this means the SerenityOS maintainers will have to pull LibWeb/LibJS changes in from Ladybird?

  • > Does this mean that SerenityOS's Ladybird will need to continually pull patches from the new Ladybird project in order to keep development?

    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.

  • because the main focus on serenityos is writing code. hence no 3rd party code policy. the fork is mostly to make the browser use 3rd party code, hence it is now no better than just porting Mozilla. i think this will fork both forever

  • SerenityOS already has Ports directory for 3rd party software, I guess ladybirds will go there.

    I'd say ladybird moving out is a big incentive to get a packaging system up and running.

  • Yeah that's a little bit concerning, honestly. It really sounds more like an abandonment of SerenityOS, rather than a shift in emphasis

    • the writing has been on the wall for a long time (as the post mentions too). I'm cynical so I think to some extent it's related to the fact that writing a browser from scratch has been able to attract significant funding, whereas the operating system has earned a lot of nerd goodwill and small donations but would have a really hard time commercially justifying itself. I think it's a shame because it's a far cooler project, but of course it's not up to me to dictate how others spend their time.

  • my understanding is that serenity will focus less on the web browser in the first place. it might just go back to being a simple html viewer with rudimentary js support?

    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?

Fill your bowl to the brim and it will spill. Keep sharpening your knife and it will blunt. Chase after money and security and your heart will never unclench. Care about people’s approval and you will be their prisoner. Do your work, then step back. The only path to serenity.

Tao Te Ching

  • Ok yeah but the thing about the knife is just not true, a knifes not sharp until you de-burr it and if you just continue to grind the edge youre going to just be building a bigger burr and removing metal, eventually the knife will be ground away but thats beside the point. Good knife sharpening does only need a bit of grinding until you reach the grit you want and then de-burr but youre not going to make it dull by continuing to remove metal.

    • That seems to be a bad translation, the original text means something like “sharpen something fully and it won’t last so long” (presumably due to it being more brittle). The text (like the rest of Tao Te Ching) is pretty vague and doesn’t actually refer to knives, so it could also be read metaphorically.

      2 replies →

    • Sure you will, because a knife blade good enough to hold an edge at all isn't homogeneous.

      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.

      5 replies →

Andreas is a fantastic coder and also a great shepherd of geeks (community builder).

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.

  • Having watched this over years, and deleted every single comment I've written on it thus far, I'm challenging myself to be honest and forthright.

    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.

Ladybird has garnered a level of mainstream attention that SerenityOS never really managed to.

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.

  • > 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

    • > At this pace it would likely take decades just for them to be complete enough to show up on MDN or wpt.fyi

      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.

      5 replies →

  • > and the project is well funded by large investors.

    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?

    • 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.

      5 replies →

  • I agree (apart from the popular hate on Firefox). Ladybird is promising and has a much bigger chance to make an impact than SerenityOS.

    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.

    • I don't think that was intended to be hate on Firefox itself, but hate on the general mismanagement of the project by Mozilla. Firefox itself may not be in the corner sniffing glue, but it often feels like much of the decision-making at Mozilla is glue-sniffing-fueled.

      (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.)

      1 reply →

    • > 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.

      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.

    • > But it's a bit disappointing to see that it's still pretty much a one-man project.

      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 :)

      7 replies →

    • Have to admit the Firefox hate is mostly irrelevant. its from a place of disappointment with Mozilla more than hate really.

      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.

  • > I'd love to see LadyBird become a real contender in the browser market.

    Definitely Ladybird, but I'd also love to see Servo and Netsurf being developed.

Make sure you check out the Andreas Kling channel on YouTube also,

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)

Feels like an end of an Era, I used to enjoy Andreas's SerenityOS YouTube videos as he dropped down and implemented different features of the OS during a video coding session, adding code from UI, emulators, game ports, JS & Jakt programming languages, JITs all the way down to the kernel. SerenityOS was unique in that regard with the entire code-base maintained in a single source tree.

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.

  • It was a journey for sure. I never contributed code, but color schemes and emojis. But I always enjoy Andreas' Serenity videos, even some coding videos were good (I cannot code). These are special and will forever live in my heart.

This is one of the kindest "I'm forking xyz" posts I've ever read. The whole thing is some level of heartwarming, and unlike a lot of the other posts in the same range actually makes me consider contributing to either Ladybird or SerenityOS!

  • Because it's not done because of anger, or anything similar. Instead it's observed that a small project became a big one, and started the cannibalize the bigger project.

    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.

Oh, this is interesting. As a GitHub sponsor of Andreas for a while now, what does that mean for sponsors? Are we funding exclusively work on LadyBird? (Had we been, for some time already?) Does the SerenityOS project have a GitHub sponsor?

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...

  • Thank you so much for sponsoring me! :)

    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.

    • > 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.

      1 reply →

    • > And don't worry, there won't be some VC investment or big company buyout.

      That reminds me of Torvalds' statement on Linux: "just a hobby, won't be big and professional like gnu"

This could be a good move, if it frees resources that would then be allocated for the OS itself. To me SerenityOS as a x86 OS is interesting but redundant, while to me would immediately catch attention if ported to ARM or RISC-V and other embedded platforms. Many companies already use sluggish Android or web based solutions to build instrumentation screens and other vertical applications where one needs to show GUI primitives, and to me a native, fast alternative is badly needed. SerenityOS doesn't bring all the cruft that would be completely unnecessary in those systems, hence my idea that in some cases it could become the right tool for the job.

Sad to hear. Hacking on SerenityOS together with Andreas was some of the most fun I've ever had. Wishing him the best of luck with Ladybird, and hoping he will come back once in a while (become the TYVC? :).

I'm seriously impressed by the amount of progress this project has made (and its apparently helped with finding issues in the various specs that constitute a modern browser) so I wish him all the best in this new direction

What's the plan for Jakt, the programming language? Does it fall under the SerenityOS umbrella? Will LadyBird continue to use C++? The blog post doesn't mention it.

https://github.com/SerenityOS/jakt

Andreas is probably the most positive person I can think of. I'm happy to read such an article where for once "forking" isn't associated with a negative event.

Best of luck on the new Ladybird adventure, and thanks for all your positivity and contributions!

  • It's not a negative that SerenityOS no longer has a web browser?

    • It's getting forked. It's not that SerenityOS is losing anything it already has. Sure, the Ladybird project moving forward is choosing to use different rules/philosophy about using 3rd party code/libraries - but I find it hard to agree with your assertion that this is a negative move.

    • It still has one, but the code is forked and he will be working on the fork not the SerenityOS version.

I feel like this should've been done a while ago. Community was quite split by two projects and it felt like SerenityOS was dragging Ladybird development down, both from sponsor and developer point of view.

I'm glad Andreas had committed to this, for the best to both projects.

I don't know much from Andreas other than reading a couple of his posts from here, but he's a bit of a superhero to me. Wholesomely humble guy that started what's usually deemed as a massive coding project, from scratch, just to put his head out of some shit - and the guy not only manages to make two great projects, but also identify and adult his way out of one of them for both project's good.

Respect, man.

Ladybird looks amazing and is moving quickly. Without the linkage to SerenityOS, I even feel like looking at the source and seeing if I can get a handle on what's going on.

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 hope that long term the browser gets first class Windows support (currently it's via linux running under WSL), just because broad reach is best for longevity/sustainable relevance.

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.

  • Absolutely. As a great example, code that was architected to use either poll/epoll/kqueue/etc and IOCP under Windows was in a great position to just adopt io_uring without much rearchitecting!

So, in order to write a new browser you first have to write (as a training exercise) a new OS.

Not the fastest way, but it seems to work. Best wishes to Andreas.

It makes sense if he wants to make a useful web browser and leverage third party technologies for it, Serenity is totally from scratch. This should mean more time being spent on better problems in the web browser through reinventing fewer wheels and probably speed up the development of a new browser engine, which seems pretty interesting to me.

Ladybird had a unique position of having been developed from scratch. That had brought a fresh set of eyes to an ancient tech called Web. Leveraging OSS would diminish that aspect, IMHO. What’s your vision Andreas? What are you trying to do with Ladybird as it’s no longer a hobby but a more serious project now?

Damn I was worried for a second there, fearing some sort of falling out with the community. But this is awesome news! Ladybird is a far more important project to focus on imho.

  • Given that it dropped serenity as a target, it does seem there is something more to this story…

    • There really isn't anything more to it. :)

      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.

      3 replies →

    • Wondering about that too, but to be fair, he probably doesn't use it as his primary OS (none of the developers does I think), so with Serenty mostly being a development project and the interest shifting (back to) developing web browsers it seems logical to focus on these targets.

      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.

    • Unlike SerenityOS, Ladybird will have a relaxed NIH policy (instead of "no 3rd party code!")

      This requires that it becomes a Port rather than a core part of Serenity.

    • Possibly that for Ladybird to move forwards more quickly, it needs access to OS API's or Graphics stuff that Serenity can't yet provide? (I'm just spitballing here, I don't know much about OS development)

      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.

The web is eating everything. Maybe every app could be structured as if it's a web app or worker service to do everything people expect while being minimal? It's interesting that the OS layer could be even thinner than SerenityOS. With 'Local first' capabilities and the expanding role of web technologies, this is not only possible but could be a good idea. The new Ladybird project will be really interesting; it could be a real alternative browser people want! Being able to boot a good browser on multiple operating systems, such as a minimal BSD, a minimal Linux from scratch style OS, or even a stripped-down SerenityOS variation, is exciting. This could be more secure and easier to innovate with because it has a better level of abstractions to draw upon. The bootable web OS projects like Palm webOS, the booting Gecko/Firefox OS projects, and Chrome OS could offer interesting lessons for Ladybird. Running a browser in a VM, on metal, or on an existing host OS like BSD or Linux is very useful. This approach could be secure and powerful enough to attract users for security, speed, or powerful user-centric reasons (not corporate/adware-centric). Kling and the community he's assembled is "at risk" of helping solve some serious use-cases for people and industries while having fun! Google's OS development with Android, Chrome OS, and Fuchsia may seem complicated compared to what a Ladybird OS could do. Android is complicated and advanced, but in practice, it's bloated and error-prone with terrible complexity. For example, Pixel users miss calls due to bugs, and there are problems calling emergency numbers. Think about the array of Android and iOS exploits. The attack surfaces and codebases are too big! Given its complexity, I can see Google switching to working on Ladybird or a Go/Rust variant. Maybe even Apple will consider this. LLMs are now capable of semi-automatic porting with their large context windows. I think things could change fast, and maybe we'll have secure devices in our pockets one day. I wonder what Alan Kay and his fellow researches would have to say about this.

I really hope Ladybird will become the browser that will put HaikuOS on the map of desktops!

  • What does Ladybird have to do with Haiku? The Haiku port of Ladybird is pretty out of date, although there is talk on the Haiku forums of reviving it.

Can we interpret this as good news of Ladybird but bad news for Serenity? If Ladybird drops support for SerenityOS, what would be its built-in browser?

  • Serenity still has Ladybird as it is right now. So I assume that will become the baseline for "Browser" in SerenityOS going forward, and be developed independently. Whatever the browser in SerenityOS will end up looking like though, I doubt it will see much development. The kinds of people interested in working on browsers will just work on Ladybird.

    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.

I tried Ladybird browser for fun, and it looks more stable than when I ran it for the last time, which is great!

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 :)

  • > Github even works!

    Unsurprisingly github is one of the developer's most frequently used sites when dogfooding the browser so it'll probably always work :)

yo andreas, it takes a lot of courage to acknowledge the situation and i truly applaud you for that. i will keep on cheering you from the sideline.

I take this as very good news because like Andreas I am much more interested in the browser too. (I never liked the OS aesthetic they are targeting when it was current and I don't care for it now).

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.

I'm confused, what is the project management structure of SerenityOS now, then?

  • SerenityOS is now controlled by the same group of maintainers that have been managing it for the last couple of years.

    What happens next is up to them & the community to decide. :)

Thank you Andreas for creating both of these projects and for all your work on both of them and for all of the videos you’ve been making along the way while working on them.

> Ladybird now targets Linux and macOS. The SerenityOS target is dropped.

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.

  • To be fair though. SerentyOS given the size of its user base has a ton of ports already and since even super niche projects like NetBSD can pull off having one of the best (and certainly the most portable) ports collections out there I'd assume that SerentyOS will be able to pull off keeping a browser compatible that was originally made for this OS - if there is interest of course.

This is really surprising but also not at the same time. Developing a browser engine from scratch is a huge task. I think the writing was on the wall when some big donations were made from various companies (including Shopify) and Andreas hired a full time dev.

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.

> Day-to-day communication moves to a new Ladybird Discord server.

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?

Wow, I wonder what libraries Ladybird will start depending on? There are some web features that are backed by the same open source library in all three major browsers, and would be huge projects to reimplement in a compatible and cross-platform way. WebRTC and ANGLE come to mind.

I guess that also means that Jakt language will also stay within SerenityOS realm.

Have you considered doing a rewrite (or a partial one) now that third-party libraries can be used? To take all your learnings and new opportunities and use them to rearchitect things.

I fully respect these reasons, they are logical and well said. But hopefully interest in SerenityOS doesn't taper off due to this. Kling was great at garnering interest with his YouTube videos where he'd go deep into bug fixing and feature development.

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).

  • People talk about Linux as if it's a monolithic OS and one team in some OS team sport. It's not. It's a kernel.

    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.

  • Linux (kernel I mean) is good enough. There were some scheduling problems with audio, but it's mostly resolved. The problem is GNU style. We need another GUI and that doesn't mean just replacing X with/or Wayland protocol. It means replacing GTK and QT too.

    • The penguin kernel is indeed very nifty and boots nearly everywhere. Most importantly it is replete with battle-tested drivers.

      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.

    • ChromeOS seems very polished under the hood.

      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.

      2 replies →

    • That exactyly what PopOS is doing. Cosmic is a new Desktop Envoirment for Wayland written in Rust using a toolkit named Iced.

    • >There were some scheduling problems with audio, but it's mostly resolved.

      It'll be, once the realtime patchset is completely merged.

      Meanwhile, some distributions (including Arch) offer a pre-patched kernel.

  • > 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).

    You might want to look at helloSystem.

    https://hellosystem.github.io/docs/

  • Oh yes, a MacOS like design but open with Unix, that would be amazing!

I guess SerenityOS is somewhat doomed now? I never saw this kind of move ending well, honestly. Even when not involved, having the original around is always a great boon to the popularity of a project.

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.

  • I don't know, there's quite a few open source projects where the original author stepped down and it's thriving. Take Arch Linux for example. Before that Gentoo - and there I think the main "problem" with popularity is that self-compiling fell out of fashion.

    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.

  • Define ‘doomed’. As far as I can tell, SerenityOS did everything (and much more) than Andreas ever hoped it would.

    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.

  • If it is something people hack on for fun why would it be doomed because of one guy leaving or their web browser getting forked?

[flagged]

  • The audacity to call this shameful is striking to me. If you feel strongly enough that this free, open source, extremely limited resource project (working on one of the largest problem spaces..) doesn't support FreeBSD, port it yourself instead of casting shame on others for not doing it. Hopefully your comment is more lighthearted than I'm giving it credit for.

  • 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.

      3 replies →

BDFALAISM

Beneficial Dictator For As Long As It Suits Me

:)

  • Yes, that is always implied. Even Guido, the original BFDL, stepped down. Linus will probably retire at some point (I hope, considering the alternative would be death before retirement at a relatively young age). Etc.

    • > considering the alternative would be death

      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.

  • As Long As it Suits the Community, I guess. I might be naive, but the reasons he gave for his decision don't strike me as selfish.

I never got to try SerenityOS due to the developer's bizarre insistence that users compile the OS instead of just providing a precompiled ISO or IMG file. Shame because I appreciated the workhorse 9x aesthetics it had.

I might sound jaded, but I'd be more excited for a Chromium fork that focuses on hackability instead of a brand new browser that'll take somewhere between years to ∞ to be even remotely useful. I get why that'd be less fun to work on though.

  • Isn’t there already quite many Chromium forks? They all have the same issue - the more your code diverges, more additional work it will be. And security patches start lagging.