I am happy they are making sources available. It would be wonderful if Apple started developing their kernel in public (I would like to read those code reviews). What tools they use should be up to the developers.
I'm not saying it's useless, but it's certainly much less useful than a proper version-history, and very much a declaration that it is in no way intended to be a collaborative project.
But I guess that shouldn't surprise anyone either. It's Apple, after all.
[1] Yes, technically "not Apple" in the sense that Node.js isn't Joyent.
[2] Admittedly partial credit at best since they've orphaned it in favor of their proprietary Metal API. I'd guess however that Metal will get open-sourced pretty soon.
What is new however is that Apple is now seemingly actively using GitHub to publish their opensource contributions.
This is not true. iOS components were always stripped out until now.
We're working on a full iPhone emulator based on QEMU, and currently, while we are able to boot into early userspace from an unmodified iOS image, the release of the iOS-specific code will be quite helpful in speeding up bug elimination and the development of the virtual graphics hardware that can get us past a basic graphical framebuffer.
https://github.com/joshumax/QEMU-s5l89xx-port
Or this:
https://github.com/nvsio/qemu-ios
Found sort of via this:
https://www.reddit.com/r/jailbreak/comments/6crw5t/question_...
I assume they won't mind my sharing. They posted it publicly with the same username and have public Git pages.
Although quick note, a lot of work is being done in a private repo until it passes the "clean room" test, after which it will be pushed to the public repos. :)
XNU is built on Mach (initially 2.x back when it was NeXTStep/OpenStep, later 3.0 for OS X), but everything runs in a single address space. Mach ports are retained throughout the OS as a communication mechanism, including userland, but all the core stuff is in the kernel, and Apple has transitioned many Mach port IPC responsibilites to more traditional syscalls to work around the fact that ports are comparatively slow. For example, all POSIX operations such as read and write are BSD syscalls that correspond to entrypoints in the kernel; they're not IPC messages.