苹果将​​MacOS内核作为开源发布给消费者意味着什么?


17

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

这是否意味着我们会看到其他计算机(不是Apple制造的)运行MacOS?

如果没有,那会发生什么?

据我了解,Unix内核也被发布,Linux被创建。苹果的内核也应该发生同样的事情吗?


8
Linux不是基于UNIX内核,它是一个独立的项目(尽管试图将API复制为与POSIX兼容的程度)。
Ruslan

6
实际上,MacOS是Unix,但Linux不是Unix(苹果公司实际上是花钱让他们的操作系统认证为Unix)
slebetman


24
这里的新闻不是内核是开源的。文章的第一句话说:“在每个主要发行版之后,Apple始终共享macOS的内核。” 消息只是他们已经发布了为ARM编写的版本。基本上,本文是点击诱饵,可能在第一段之后结束。
jscs

1
@JoshCaswell这应该是一个答案,特别是因为除了问题中链接的文章之外,它不需要任何参考。
IMSoP

Answers:


34

这不代表任何意思。macOS / OS X内核始终是开源的。内核只是完整操作系统的一小部分,因此它不允许其他任何人发布自己的MacOS版本。


5
有人可能会尝试基于macOS内核构建自己的OS,例如。OpenDarwin / PureDarwin。Jusr记住,大多数其他定义macOS的要素都将丢失。
el.pescado

3
这里是否有人成功构建了安装的xnu 完全相同的xnu ?早在Tiger的那天,我整理了自己的书并看到了问题。苹果随后告诉苹果,某些部件是有意丢失的,并且不可能根据已发布的内容构建功能完整的内核。(什么时候)改变了?
LаngLаngС

2
@LangLangC不,到目前为止,Darwin内核仍不完整。他们今天发布的仅仅是已经发布的组件,但是对它们在iOS和tvOS中使用的ARM处理器进行了微小的更改。
亚当·戴维斯

34

澄清:

苹果公司一直以开源形式发布MacOS内核。内核名为Darwin。达尔文的目标是x86。它可以移植到其他处理器,但是Apple控制和发布的Darwin开源变体仅适用于x86。

但是,使用ARM处理器的iOS自成立以来就一直使用Darwin。苹果公司从未发布过达尔文的ARM端口,尽管他们显然已经拥有了一个端口,因为它们已经在消费者手中已经在数百万的iOS设备中使用了。

这是苹果公司现在发布的ARM达尔文版原件。

达尔文只是一个内核,并未包含使MacOS或iOS能够像消费者期望的那样运行的大多数功能。 内核不是完整的操作系统。

此外,达尔文不是一个完整的内核。苹果没有发布很多内容。

苹果将​​MacOS内核作为开源发布给消费者意味着什么?

起初不多。它不会影响硬件或软件的可用性,升级,甚至可能不会对越狱或类似的Apple设备替代使用产生实质性影响。

这是否意味着我们会看到其他计算机(不是Apple制造的)运行MacOS?

它不影响运行Apple软件或操作系统的非Apple硬件设备的可用性。已经可用的内容不会或多或少地变得合法,也不会变得或多或少合法。

如果没有,那会发生什么?

最可能的解释以及消费者将如何受益,来自苹果公司通常紧随其后的较早版本的代码,“ Apple确认有意保留未加密的iOS内核代码 ”,这表明:

在与FBI就解锁圣贝纳迪诺射击手使用的iPhone展开斗争之后,苹果已开始转向提高透明度,尤其是在安全问题上。当联邦调查局试图强迫苹果解锁手机时,首席执行官蒂姆·库克(Tim Cook)给苹果客户写了一封罕见的公开信,解释了他拒绝的决定。库克写道:“我们认为,面对美国政府的过度扩张,我们必须大声疾呼。” (联邦调查局在向第三方付款后才放弃了该请求。)

打开内核的代码进行检查可能会削弱安全漏洞的市场,例如FBI可能曾经用来入侵San Bernardino iPhone的漏洞。如果漏洞被迅速而广泛地发现,这将降低执法部门的价格,黑市将为此付出代价-这可能意味着为苹果客户提供更快的修复服务。

因此,消费者的利益在于,将有更多的眼睛,特别是安全研究人员来关注代码,并希望这将揭示安全方面的弱点,从而使Apple能够为客户提高安全性,而不是在政府或政府发现其安全性遭到破坏时。第三方无需经过适当程序即可剥夺某人的权利。

但是,这是否能发挥积极作用,取决于研究人员自愿梳理代码。

据我了解,Unix内核也被发布,Linux被创建。苹果的内核也应该发生同样的事情吗?

Apple从原始的BSD代码开始,该代码使用BSD许可证,不需要公司或个人将其对代码的更改发布给向其分发编译软件的人员。实际上,他们是特别选择Linux内核而不是Linux内核,以便可以将某些知识产权保密(当然,还有许多其他原因)。

因此,他们没有发布所有代码的法律义务。他们使用的某些软件确实具有其他许可,例如GPL,这确实要求他们保持开源。现在,其中许多都可以从Apple购买。

但是,这确实也表明了另一种可能性:发布了许多内核,以便开发人员可以开发MacOS硬件和专用软件。这比允许应用程序开发人员访问iOS设备的系统要深入得多。

然后,此版本建议了两种可能的一种或两种(这是完全的推测):

  1. 苹果正准备使用其A系列ARM处理器发布MacOS计算机。
  2. 苹果正准备允许开发人员为iOS设备开发更深层次的软件。

我想说使用ARM处理器的MacOS计算机更有可能,因为用于iPhone 8和X的最新A11芯片击败了用于2017年Macbook 13 的最新的Intel i5芯片。苹果还有很长的路要走他们可以在整个产品线中替换英特尔处理器,但是在一两年内,我们可能会看到使用A12或A13芯片的低端MacOS计算机取代了以前使用的英特尔芯片。

这将为苹果公司(尤其是其底线)带来重大利益。

但是,没有官方声明,就无法知道苹果为何要发布其已经高度开源的Darwin内核的ARM部分。

消费者受到的影响很小,如果有的话,只有间接的影响。


像Mac mini这样的低端macOS计算机?:-)
nohillside

1
@patrix我知道很多人都在等待新的人!
亚当·戴维斯

轻松获得最佳答案;感谢您这么清楚地解释!
通配符

1
如果只有Geekbench分数实际上暗示了现实世界中的表现……;-)
Cody Gray

非常惊人的答案。感谢您分享你的知识。
DrWongKC

18

一个重大影响是对软件安全领域的影响。iOS内核以前尚未开源:以前的公共资源仅涵盖x86 / x64平台,而没有在iOS上运行的任何ARM / ARM64部件。内核以前也曾在iOS固件中加密过,提取起来非常棘手,这使得以前很难对iOS内核执行安全性评估-一种“默默无闻的安全性”。

通过将内核开源并保留未加密状态,现在可以更自由地分析和探测iOS内核的安全漏洞(https://techcrunch.com/2016/06/22/apple-unencrypted-kernel/)。总的来说,这将是内核安全的一个积极步骤,因为这意味着iOS内核漏洞研究将向可能向Apple披露问题的普通研究人员开放,而不仅限于例如国家资助的参与者。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.