After each major release, Apple is known to share the macOS kernel code. Apple releases a small bit of Darwin code every year, probably, because it’s based on tons of open source technologies. iOS mobile operating system is also built on the macOS foundation, and they share the common Unix-based Darwin core code.
Even though you could grab the code in the past, it wasn’t optimized for ARM chips. In a welcome change, Apple has now posted the XNU (it’s an abbreviation for “XNU is Not Unix”) kernel code for iOS and macOS on GitHub, including the code for ARM chips. The source code comes with Apple Public Source License 2.0.
However, even after this change, you can’t achieve much with this code or create your own homegrown iPhone. The shared code is just the kernel. You don’t get the apps, frameworks, user interface, etc. With this code, devs can get an understanding of how different software and devices interact with the lower-level kernel.
This release has also sparked some confusion among the open source enthusiasts. Contrary to what some people are believing, xnu/Darwin, libDispatch, Objective-C runtime, etc., have already been on opensource.apple.com for years. This release brings a lot of code to GitHub, along with some newer iOS and ARM-specific changes.
Usually, Apple is perceived as a pretty closed off company. It looks like the company is taking steps to change its image in the open source world.
Did you find this story on ARM-based kernel source code interesting? Don’t forget to share your views with us.