苹果公司为什么不开源?

网友解答: 苹果不是不开源,其实大家眼里封闭的苹果公司对于开源的贡献是非常大,并且苹果公司是真正全世界第一家将开源作为战略的软件公司。而且其实不只是苹果公司,两个大家认为全世界最封闭的企

网友解答:

苹果不是不开源,其实大家眼里封闭的苹果公司对于开源的贡献是非常大,并且苹果公司是真正全世界第一家将开源作为战略的软件公司。而且其实不只是苹果公司,两个大家认为全世界最封闭的企业,一个苹果、一个微软,对于开源项目的贡献都是行业前列的,所以看问题不能只看表面。只是在某些特定的产品领域,各个公司因为基于各自的一些特殊的商业目的,会选择将部分产品闭源。

封闭的另一面其实是一家开源巨头

说苹果封闭不假,主要是苹果软硬件一体,出于对生态的管控,苹果对于软件硬件管控都非常严格,对于应用开发商的几乎严苛无情的管控,虽然很多应用开发商,甚至很多用户也对苹果的做法持有异议,但是反过来一想,Mac、iPad、iPhone之所以能够成为各自领域最好的终端生态,也正是因为苹果的“封闭”。

但是苹果真的封闭吗?

我们来看一下苹果公司对于开源事业做了哪些贡献,可以说每一项都对于行业具有深远的意义,我们来看一下苹果公司那些重量级的开源项目。

Darwin项目,这是苹果公司最重要的软件产品——Mac OS X内核XNU加上一些驱动等核心组件合称为Darwin,这是全世界最强大也是最完美的混合内核,没有之一!学院派操作系统Mach的微内核+Unix纯正血统的FreeBSD搭建起了这个完美的系统内核,加上苹果自己做的面向对象设备驱动框架I/O Kit,让苹果公司硬件选择更加多元化。

WebKit项目是苹果公司打造的第二个重要的开源项目,这个项目几乎是现代浏览器事实上的标准,苹果公司基于此打造了Safari浏览器,而chrome浏览器也跟webkit有着很深的关系,这个贡献不可谓不大。

除此之外还有一些大名鼎鼎的开源项目,比如苹果新一代的开发者生态核心,swift编程语言本身就是开源的,而且性能非常出色,直逼系统级语言C语言,可以想象,要是苹果将swift语言用于不局限于iOS或者macOS平台的开发的话,那么将潜力无限。除此之外编译器框架LLVM(事实上语言创新的最佳平台选择),异构编程框架OpenCL,服务发现协议实现Bonjour等。都是经典的开源项目。

所以,苹果从来都不是一家封闭的公司,并且是一家名符其实的开源软件巨头。而苹果为了保证更好的软硬件生态,在某些领域显得有些封闭而已。

网友解答:

只有外行才这么认为,苹果也开源的,macOS和IOS都有开源的部分,开源的主要是XNU这个类Unix内核,用在各类苹果Darwin操作系统中,包括macOS和iOS,另外Swift也开源了。当然这里的开源都是开源一部分,开源并不代表着需要把所有的东西都打开给你看,很多商业的东西还是不会开源的。

以大家熟悉的IOS为例来说一下,IOS的大致结构如下:

CoreOS就是上面说的Darwin是由Mach、FreeBSD以及一些苹果自己的代码组成的,是开源、符合POSIX标准的一个Unix核心,这部分整体是开源的,像Mach层里的IOkit驱动框架是开源的但是驱动是不开源的。换句话说,IOS的内核也使用了很多开源的东西,你以为所有东西都是苹果自己从头写的?从法律上说,freebsd协议对商业化很友好,你用了它的东西赚钱也可以选择不开源。但是像Android底层用的Linux Kernel就不行,GPL协议要求你用了就必须开源。

最后再提一句,微软也在积极拥抱开源。

标签: