17

https://techcrunch.com/2017/10/01/apple-open-sourced-the-kernel-of-ios-and-macos-for-arm-processors/

Does this mean we'll see other Computers (which are not Apple built) run the MacOS?

If not, then what would happen?

From what I understand, Unix kernel is released too, and Linux was created. Should the same happen to Apple's kernel?

  • 8
    Linux is not based on the UNIX kernel, it's an independent project (although trying to reproduce the API to be more or less POSIX-compliant). – Ruslan Oct 23 '17 at 6:48
  • 6
    Actually, MacOS is Unix but Linux is not Unix (Apple actually paid money to get their OS certified as Unix) – slebetman Oct 23 '17 at 7:38
  • 1
    @DrWongKC blog.opengroup.org/2012/07/25/… – el.pescado Oct 23 '17 at 11:02
  • 24
    The news here is not that the kernel is open-source; the very first sentence of your article says "Apple has always shared the kernel of macOS after each major release." The news is just that they've released the version written for ARM. Basically this article is clickbait and could have ended after the first paragraph. – jscs Oct 23 '17 at 12:22
  • 1
    @JoshCaswell This should be an answer, particularly since it doesn't need any reference beyond the article linked in the question. – IMSoP Oct 23 '17 at 13:07
34

It means nothing. The macOS/OS X kernel has always been open source. The kernel is only a tiny part of a complete operating system, so it doesn’t let anyone else release their own version of MacOS.

  • 5
    Someone might try to build their own OS based on macOS kernel, eg. OpenDarwin/PureDarwin. Jusr remember that most other parts defining what makes macOS will be missing. – el.pescado Oct 23 '17 at 7:09
  • 3
    Has anyone here successfully build a xnu that is really identical to what is installed? Back in the day of Tiger I compiled my own and saw problems. Then was told by Apple that certain parts are missing intentionally and that it would be impossible to build a feature complete kernel from what is published. (When) has this changed? – LаngLаngС Oct 23 '17 at 12:46
  • 2
    @LangLangC No, the Darwin kernel is still incomplete as of today. What they've released today are merely the already released components, but with minor changes for the ARM processors they use in iOS and tvOS. – Adam Davis Oct 23 '17 at 14:47
34

Clarification:

Apple has always released the kernel of MacOS in an open source form. The kernel is named Darwin. Darwin has a target of x86. It can be ported to other processors, but the open source variant of Darwin that Apple controls and releases was only available for x86.

However, iOS, which uses ARM processors, has used Darwin since its inception. Apple has never released the ARM port of Darwin, even though they obviously have one since they're using it in millions of iOS devices already in consumer hands.

This announcement is that Apple is now releasing the ARM pieces of Darwin that they previously withheld.

Darwin is just a kernel, it doesn't include most of what makes the MacOS or iOS operate as a consumer expects them to. A kernel is not a complete operating system.

Further, Darwin is not a complete kernel. Apple doesn't release many portions of it.

What does it mean for consumers that Apple has released MacOS kernel as open source?

Not much, initially. It will not affect the availability of hardware or software, upgrades, and probably won't even have a substantial impact on jailbreaking or similar alternate uses of apple devices.

Does this mean we'll see other Computers (which are not Apple built) run the MacOS?

It does not affect the availability of non Apple hardware devices running Apple software or operating systems. What's already available won't become more or less available or more or less legal.

If not, then what would happen?

The most likely explanation, and how consumers will benefit, comes from an earlier release of code Apple usually holds close to its chest, "Apple confirms iOS kernel code left unencrypted intentionally" which suggests:

Apple has begun to shift towards greater transparency, particularly on security issues, in the wake of its battle with the FBI over unlocking an iPhone used by the San Bernardino shooter. When the FBI attempted to compel Apple to unlock the phone, CEO Tim Cook penned a rare open letter to Apple’s customers, explaining his decision to resist. “We feel we must speak up in the face of what we see as an overreach by the U.S. government,” Cook wrote. (The FBI eventually dropped its request after paying a third party to break into the device.)

Opening up the kernel’s code for inspection could weaken the market for security flaws like the one the FBI is presumed to have used to get into the San Bernardino iPhone. If flaws are revealed quickly and widely, it will reduce the prices law enforcement and black markets will pay for them — and it could mean quicker fixes for Apple’s customers.

So the consumer benefit is that more eyes, specifically security researchers, will be on the code and hopefully this will bring to light weaknesses in security, allowing Apple the ability to improve security for customers rather than finding out their security is broken when a government or third party is able to take away someone's rights without due process.

Whether this plays out positively, though, depends on researchers volunteering to comb through the code.

From what I understand, Unix kernel is released too, and Linux was created. Should the same happen to Apple's kernel?

Apple started with the original BSD code, which, using the BSD license, doesn't require that companies or individuals release their changes to the code to the people they distribute compiled software to. Indeed, they chose this over the Linux kernel specifically so they could keep certain intellectual property secret (among many other reasons, of course).

So they do not have a legal obligation to release all their code. Some of the software they use does have other licenses, such as GPL, which does require they keep it open source. Much of these are available from Apple now.

This does, however, also point to another possibility: many kernel pieces are released so developers can develop MacOS hardware and specialized software. This is much deeper into the system than app developers are allowed access to for iOS devices.

This release, then, suggests one or both of two strong possibilities (and this is complete conjecture):

  1. Apple is preparing to release MacOS computers using their A series ARM processors.
  2. Apple is preparing to allow developers to make deeper-level software for iOS devices.

I'd say MacOS computers using ARM processors is more likely, as the latest A11 chip, used in the iPhone 8 and X, beats the latest Intel i5 chip, used in the 2017 Macbook 13". Apple still has a ways to go before they can replace Intel processors along their whole line, however we may see, within a year or two, low end MacOS computers with A12 or A13 chips, replacing the Intel chips previously used.

This would provide significant benefit to Apple (particularly its bottom line).

However, without an official statement there's no way to know what reasons Apple has for releasing the ARM portions of its already largely open source Darwin kernel.

The consumer will be impacted very little, if at all, and if so only indirectly.

  • A low end macOS computer like the Mac mini maybe? :-) – nohillside Oct 23 '17 at 14:57
  • 1
    @patrix I know a lot of people are waiting for a new one! – Adam Davis Oct 23 '17 at 15:00
  • Easily the best answer; thank you for explaining so clearly! – Wildcard Oct 24 '17 at 2:58
  • 1
    If only Geekbench scores actually implied something about real-world performance… ;-) – Cody Gray Oct 24 '17 at 11:29
  • Very amazing answer. Thank you for sharing your knowledge. – DrWongKC Oct 30 '17 at 2:40
18

One major impact has been on the software security field. The iOS kernel has not previously been open-sourced: the public sources previously only covered x86/x64 platforms, without any of the ARM/ARM64 parts that run on iOS. The kernel was also previously encrypted in the iOS firmware and is very tricky to extract, making it previously very difficult to perform security evaluations of the iOS kernel - a kind of “security by obscurity”.

By open-sourcing the kernel and leaving the kernel unencrypted, the iOS kernel can now be more freely analyzed and probed for security vulnerabilities (https://techcrunch.com/2016/06/22/apple-unencrypted-kernel/). This will be a positive step for kernel security in general because it means that iOS kernel vulnerability research will be more open to ordinary researchers who may disclose issues to Apple, rather than just limited to e.g. state-funded actors.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .