I am still trying to decide what I think about the Ladybird / SerenityOS split.
Short-term, this is going to make it a lot easier for Ladybird to make progress. So good.
Long-term, I feel like a lot of the values that Andreas used to express about SerenityOS have been compromised.
I very much liked the, everything from scratch and complete harmony within and complete control over our whole stack idea that came with the mono-repo.
I also thought that the energy from Ladybird was greatly contributing to SerenityOS. That is lost now, as is their chief architect, technical steward, and community organizer.
Much of the low-level performance work that went into Ladybird benefited the whole OS. Did SerenityOS even post a monthly update on YouTube this month? The community engagement has already been dampened.
SerenityOS was certainly benefiting from the networking, codec, and image format work. The biggest impact will obviously be the loss of what was emerging as an amazing native web browser. They cannot even use Ladybird now due to the reliance on so many third-party components. I guess it forks from where it was?
How is error handling done in Ladybird now? It was beautifully consistent before. What now?
I don't think there really is a need or use case for Serenity OS outside of a hobby project. However, having a new web engine would be great for the open web. I just hope they take privacy seriously.
Don’t get me wrong, I am very excited by the possibility of having an independent browser engine. Firefox was that. Mozilla as an organization has compromised that. I hope Ladybird can avoid the same issues.
The rationale for SerenityOS beyond therapy and fun was precisely the “being responsible for everything ourselves” aspect of the project. Andreas has previously described it as a form of accountability. He has also described it as a kind of freedom in contrast to the Linux model with its inevitable politics, bike-shedding, and inefficiency as you try to get dozens of projects to agree on direction and merge code. Ultimately, the mono repo allowed the project to do things right in the right place in the stack ( in the code ). It allowed the project to move quickly, to avoid legacy, and to continuously improve and modernize. It allows harmony across the entire developer AND user experience.
Linux is famously fragmented. There is no open source desktop OS that provides “whole system” design and user experience harmony. Haiku comes close but it has never gotten much native app momentum. On Haiku, you are going to run the Falkon browser, use GIMP, and run LibreOffice. None of those are developed in concert with the OS.
SerenityOS held the promise of Ladybird, and Hack Studio, and the userland utilities ( and everything else ) all being developed in concert. The same GUI toolkit was used for everything. The same standard library. The same error handling and code level security measures.
This was the “need or use case”. Not anymore.
And it is not just SerenityOS. Ladybird is not as independent as it was. Not just the sponsorships but the code. SerenityOS is no longer a dependency but 8 other projects are. No more mono-repo and goodbye to all the reasons it was considered a good thing.
The problem with doing it all under one project is that it leads to labor sprawl and duplicate efforts. I support Ladybird but I think trying to recreate every single existing project is silly from a technical perspective. From a educational perspective it can be very useful.