Mac OS X是开源的吗?


37

我最近(在超级用户上)了解到Mac OS X使用bash shell。我也知道OS X具有UNIX内核。

我在Google上搜索有关OS X和开放源代码的信息,但我发现的是该站点,其中似乎包含OS X的源代码。
例如,链接之一为:Mac OS X 10.5.7 Source

那么,OS X是开源的吗?

有一个Apple Public Source License,但是我不懂法律术语。

除了内核,其他各个部分呢?X服务器?窗口管理器?文件管理器?等等。什么是开源,什么不是?


3
从技术上讲,OSX具有BSD内核,而不是UNIX
Jeremy French 2009年

6
@Jeremy French:来自Wikipedia:“从历史上看,BSD被认为是UNIX的一个分支”。因此,通过三段论,OS X也是UNIX。因此,另一句话是:“ Mac OS X v10.5在Intel处理器上运行时已通过UNIX 03认证。”
Nikhil Chelliah,2009年

@杰里米·法文(Jeremy French):并不是说它证明您做错了什么。
Nikhil Chelliah,2009年

4
这个问题在很多方面都很棒。+1
雷斯塔法里安2012年

Answers:


43

Darwin是Apple的开源操作系统,它是Mac OS X的核心。但是Darwin没有Mac OS X GUI。

  • 达尔文就像Linux,FreeBSD等...
  • Mac OS X GUI就像KDE,GNome等...

11
我认为,与Linux和Mac OS X相对于Ubuntu内核相比,Darwin更为合适。
Sasha Chedygov,09年

6
在描述GUI时,这是一个很好的概念,但是在谈论开源时却不是那么好。Ubuntu是开源(Gnome),而OS X不是(Aqua)。了解IMO的区别很重要。
09年

1
XNU是Mac OS X内核。参见:github.com/opensource-apple/xnu
Lourenco

22

其他人已经解释说达尔文是开源的。它是Mac OS X的内核,类似于Linux是Linux发行版的内核。Mac OS X的窗口系统(称为Quartz Compositor)不是开源的。

您还询问Mac OS X的其他开源部分:

除了内核,其他各个部分呢?X服务器?窗口管理器?文件管理器?等等。什么是开源,什么不是?

苹果最著名的开源项目之一可能是WebKit,它最初是KHTML和KJS的分支。WebKit被大量浏览器使用

即使您不使用Mac OS X,您可能也会使用的另一个Apple开源项目是[Bonjour](http://en.wikipedia.org/wiki/Bonjour_(软件)),这是Apple的Zeroconf实现。

苹果公司还拥有CUPS,这是许多操作系统使用的打印系统。

苹果还拥有许多其他开源项目,例如流服务器,它们为gcc等更多开源项目做出了贡献。您可以在opensource.apple.comMac OS forge中找到更多信息。除此之外,Mac OS X还附带了数百个从Apache到ZFS的开源组件,其中大多数都不由Apple拥有或维护。


2
哇,CUPS来自苹果吗?那是我的新闻……
卡米洛·马丁

1
@CamiloMartin-好吧,苹果购买了CUPS ...
AstroFloyd

13

内核是开源的; 在用户界面和所有应用程序的操作系统自带的都没有。

苹果确实维护了一些开源项目,但是在大多数情况下,除了核心内核之外,其他所有东西都是封闭的。例如,WebKit(Safari,Chrome和其他浏览器后面的HTML呈现引擎)是开源的,但Safari浏览器本身不是开源的。Finder,Spotlight和操作系统随附的大多数(如果不是全部)应用程序都是封闭源代码。


5

OS X所基于的Darwin OS和它使用的XNU内核都是开源的。但是,OS X的Aqua GUI不是开源的。这有效地为Apple提供了两全其美的优势:他们获得了一个具有开源,类似于UNIX平台的稳定性和安全性的操作系统,同时还拥有专有平台的盈利能力。这就像麦当劳给您免费水并向您收取四分之一杯子费的政策。


5

是的,没有。

Unix不是开源的,如今,它已成为符合Unix通用标准的一系列操作系统的认证。还有一些操作系统具有原始Unix版本的遗产-例如Solaris和某些BSD。这些都不是GNU许可的-大多数BSD变体都是BSD许可的,并且某些版本的Solaris在CDDL下。

OS X是基于FreeBSD以及称为L7的微内核的一部分,而Apple选择保留此源代码为开放-因为他们可以选择根据BSD许可证将其关闭。

是Apple所有开源组件。

Darwin内核(基于BSD)就在这里 -从理论上讲,可以在其基础上构建操作系统-请参见OpenDarwinPureDarwin。我会注意到这两个项目似乎都已失效,并且您将缺少许多桌面组件,例如桌面等。

因此,它是开源的,但与Linux或BSD的方式不同。您无法使用Apple的代码构建可运行的系统,但是如果您不介意丢失很多Apple UI,则可以引入其他一些方法。

编辑-截至2013年2月,PureDarwin似乎已经发布了一个新版本,声称存在相当大的变化。我不知道这是否意味着该项目还没有开始。我也意识到达尔文是在这里以编译形式发布的,这可能是破解事物的有用起点。


1
None of these are GNU licensed - most BSD varients are BSD licensed,读这篇文章的人可能会认为BSD许可证比GNU许可证更具限制性...
Camilo Martin

是的,但cddl不是。我还提到苹果可以自由地完全关闭,如果他们愿意的话,这实际上是BSD许可和GPL之间的主要区别。我的回答还一直在讨论大多数OS X的源是如何开放的,而其中的大部分都没有。我不想讨论各种许可的优缺点和相对自由。
Journeyman Geek

但是,即使苹果公司关闭了源代码,(旧的)BSD许可版本仍然是“免费的”,对吗?另外,只是内核不是“ OS X的大部分” ...并且考虑到OS X(正式)仅在少数第一方上运行,我认为内核是非常有限的(与Linux或Windows相比)。电脑。
卡米洛·马丁

不幸的是,ISO最多只能达到OS X 10.4等效版本(2005)。
丹尼尔·贝克

2

OS X的一部分是开源的(最著名的是Darwin内核),它使用了许多开源项目。

“ Mac OS X 10.5.7源代码”标题有点误导人-该页面列出了OS X中使用的所有开源代码(例如Apache,Python,bash等)

您可能不认为“ OS X”是开放源代码的-它主要是基础内容(例如,内核或Windows文件共享功能使用的SMB客户端/服务器)


2
达尔文不是OSX中的内核。内核称为Mach。达尔文是整个基础生态系统(例如文件系统,驱动程序,外壳程序等)的代号。即,达尔文是OSX操作系统,并且大多数是开源的。
Matt H


1

经典Unix没有GNU许可证。最终,MacOS的某些部分可供公众使用,但它在任何有意义的方式上都不是“开源”或“免费”的。

苹果确实在整个产品中使用了许多完全符合其许可的开源组件。

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.