Something I really like about watching Andreas work is that he is so comfortable working and talking very clearly through the process. He is at least as proficient as I am when I'm just working, and with the added overhead of talking through your thought process that is rather impressive. It feels like just watching him work improves my own thinking.
That seems nice for educational purposes, but what would happen once it became popular and many applications were built on these API’s? Then it’s not a closed world where you have all the source anymore. Backwards compatibility with existing apps becomes a big issue.
https://www.youtube.com/watch?v=ZOzZ8R4gphE
Whether it's missing C++ APIs, unsupported lang features, missing SDL port impl, toggling kernel features - it all gets done in a 1hr sit down session to produce a shiny new Diablo port.
It was a characteristic Andreas experienced at Apple where all code and expertise for macOS was maintained in-house. This does mean everything inc. the OS, Kernel & all default Apps like the Browser needs to be developed from scratch for SerenityOS, but its Browser is making good progress as seems the SerenityOS project and development approach resonates with a lot of devs where it's been able to attract a vibrant community with a number of active contributors.
I see a number of benefits of this approach starting with SerenityOS has to be one of the best code-bases to study and learn about OS development where you can see how all components integrate together in a consistent code-base (as well as being able to follow it being developed in real-time with 100s of videos on youtube.com/andreaskling), it enables cohesive behavior and appearance with everything using the same singular library set, it's easier to implement OS spanning features like being able to capture full-system profiles in its profiler, the code-base is easier to improve and refactor with full static code analysis and no need to maintain legacy/frozen ABIs.