5 ms·
One of SerenityOS goals I find as its most compelling USP is that it aims to be a "pure" OS free of any 3rd Party libs/binaries so that everything is in the pro
by mythz 5y ago
One of SerenityOS goals I find as its most compelling USP is that it aims to be a "pure" OS free of any 3rd Party libs/binaries so that everything is in the project source tree and nothing needs to rely on or sync with any other upstream project, resulting in anyone can always fix & test any issue or add any feature immediately. A good highlight of this is in the Diablo port to SerenityOS:
https://www.youtube.com/watch?v=ZOzZ8R4gphE 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.
- deleted 5y ago[deleted]
- skybrian 5y agoThat 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.
- papacho 5y agoThat's correct however the purpose of the project is not to become the next Windows or MacOS but to always be a hackable operating system.
- easygenes 5y agoSomething 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.