Github is nice, but there is (and should be) far more to the open source world than just Github.

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 think he refers to the fact that we don't get the real version history, with informative commits which may provide context for the code in question, but instead just get snapshots for particular versions.

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.

For a long time, they just did source-code dumps whenever they made a binary release (i.e., did what is required by the LGPL). They actively chose to move it to being run as an open-source project, with public history, public bug tracking, and public contributions.

This, while probably seemingly unimportant to a lot of people,
is extremely great news for a project I'm a part of!

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.

The term "hybrid" is not a particularly useful concept, since the whole idea of a microkernel is to achieve stability and extensibility by placing only a minimal kernel in kernel space, and have everything else (drivers, file system, etc.) live in userland.

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.

That‘s true, but it‘s also important to note that most of the BSD subsystem is actually a shim over Mach. So once your BSD syscall has made it to the kernel, chances are you‘ll get a mach IPC call from the BSD shim.

The term "hybrid kernel" means it elegantly combines the disadvantage of a Mach microkernel (slow IPC based interfaces) with the disadvantage of a monolithic kernel (no fault tolerance due to single address space).

I don't see why there's confusion. AArch64 support in platform export (like hal.dll for XNU) seems to be stubbed out and unimplemented meaning that the ARM support is at least from an ancient iOS kernel.

A significant fraction of iOS/macOS/tvOS is now relegated to kernel extensions and this trend has only been increasing -- HFS+ IIRC is now in a (closed source) kext and APFS has been from the start. So while it's admirable that Apple is more actively using Github, this is by no means demonstrative of Apple open sourcing their crown jewels. Running a custom kernel on anything but macOS would still be a herculean amount of work.

With a blog for Machine Learning where Apple shares some of its practices and now open-sourcing its iOS kernel for the first time, Apple is entering a new era of Post-Jobs where every company has started to believe the only way to attract quality resources is to contribute back to the society - Remember how this community scared FB to rewrite React License. It's a great way forward for FOSS and hopefully one that can set up the right way for Post-Cook Apple.

I disagree. I think that Apple being as big and as popular as they are will continue to attract top talent for both the salary that they pay and the ability to work on projects that a big company like Apple affords. Open source need not apply here but it is still a good thing.

Come on. They produce multiple entire platforms including hardware (including CPUs and GPUs), OSes (kernel to APIs), apps, a browser, developer tools, services, etc. There are literally thousands of interesting things to work on at Apple.

It was not really my point though. It was originally addressing the fact that to attract top quality engineers with tech, the tech needs to be exciting. And Apple hasn't exactly shined in that regard in the past few years.

Now of course, they're a behemoth company and I'm sure they're tackling complex problems, but they're not rewriting entire operating systems or browsers, they're not strong in the Cloud, they don't have a massive distributed systems offering, they're not creating whole new languages, which I would think is what gets the star engineers going on the middle to long term. The reason for that is that their current pace is more about refining things and not messing with a formula that's been making billions year in and year out for the past, what, 10 years?

You do raise a great point about the hardware part of their business though, I would agree, it is something that sets them apart from companies like Google, Facebook, Amazon or Microsoft and that is a game-defining aspect as far as attracting talent goes, though in a specific niche.

It would be nice to see more of iOS open sourced. Not everything, but enough to run the GUI and maybe Safari.

I think that could be a huge win for Apple. Lower end, open source iOS compatible phone could attack Android offering, particularly at the lower end. They'd gain control over the market (as it would be derived from their source, and compatible with their ecosystem) without having to do much work.

Honestly, if Apple don't do it, someone should come up with an open source iOS compatible offering, which developers could easily re-target their apps to.

I love ZFS and use it as much as possible. But we make heavy use of UFS at $work because sendfile and fail in place. I'm in the market for a flash filesystem for this use case. I doubt APFS has that all figured out, but it might be technically interesting enough to do so, and it might integrate move coherently with the pager than ZFS (the ARC makes this quite difficult but not impossible to do sendfile/mmap w/o extra copying)

It does not mean that at all. This is not iOS itself being open-sourced, only the Darwin kernel is open-source, which is pretty much useless in isolation, certainly for trying to develop a cheap phone to run iOS apps.

It strikes me that the unhappy people are not always the same ones and don't always have the same reasons.

For example I imagine there are a few people long unhappy with Darwin's open/closed hybrid state that are perfectly happy with Linux or *BSD ... And a bunch of those won't necessarily increase their happiness with Apple even if they open up a bit more. So it's correct to say Apple can't or won't please that type.