苹果公司为什么不开源?

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

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

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


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