蘋(píng)果公司為什么不開(kāi)源?
網(wǎng)友解答: 蘋(píng)果不是不開(kāi)源,其實(shí)大家眼里封閉的蘋(píng)果公司對(duì)于開(kāi)源的貢獻(xiàn)是非常大,并且蘋(píng)果公司是真正全世界第一家將開(kāi)源作為戰(zhàn)略的軟件公司。而且其實(shí)不只是蘋(píng)果公司,兩個(gè)大家認(rèn)為全世界最封閉的企
蘋(píng)果不是不開(kāi)源,其實(shí)大家眼里封閉的蘋(píng)果公司對(duì)于開(kāi)源的貢獻(xiàn)是非常大,并且蘋(píng)果公司是真正全世界第一家將開(kāi)源作為戰(zhàn)略的軟件公司。而且其實(shí)不只是蘋(píng)果公司,兩個(gè)大家認(rèn)為全世界最封閉的企業(yè),一個(gè)蘋(píng)果、一個(gè)微軟,對(duì)于開(kāi)源項(xiàng)目的貢獻(xiàn)都是行業(yè)前列的,所以看問(wèn)題不能只看表面。只是在某些特定的產(chǎn)品領(lǐng)域,各個(gè)公司因?yàn)榛诟髯缘囊恍┨厥獾纳虡I(yè)目的,會(huì)選擇將部分產(chǎn)品閉源。
封閉的另一面其實(shí)是一家開(kāi)源巨頭說(shuō)蘋(píng)果封閉不假,主要是蘋(píng)果軟硬件一體,出于對(duì)生態(tài)的管控,蘋(píng)果對(duì)于軟件硬件管控都非常嚴(yán)格,對(duì)于應(yīng)用開(kāi)發(fā)商的幾乎嚴(yán)苛無(wú)情的管控,雖然很多應(yīng)用開(kāi)發(fā)商,甚至很多用戶也對(duì)蘋(píng)果的做法持有異議,但是反過(guò)來(lái)一想,Mac、iPad、iPhone之所以能夠成為各自領(lǐng)域最好的終端生態(tài),也正是因?yàn)樘O(píng)果的“封閉”。
但是蘋(píng)果真的封閉嗎?我們來(lái)看一下蘋(píng)果公司對(duì)于開(kāi)源事業(yè)做了哪些貢獻(xiàn),可以說(shuō)每一項(xiàng)都對(duì)于行業(yè)具有深遠(yuǎn)的意義,我們來(lái)看一下蘋(píng)果公司那些重量級(jí)的開(kāi)源項(xiàng)目。
Darwin項(xiàng)目,這是蘋(píng)果公司最重要的軟件產(chǎn)品——Mac OS X內(nèi)核XNU加上一些驅(qū)動(dòng)等核心組件合稱為Darwin,這是全世界最強(qiáng)大也是最完美的混合內(nèi)核,沒(méi)有之一!學(xué)院派操作系統(tǒng)Mach的微內(nèi)核+Unix純正血統(tǒng)的FreeBSD搭建起了這個(gè)完美的系統(tǒng)內(nèi)核,加上蘋(píng)果自己做的面向?qū)ο笤O(shè)備驅(qū)動(dòng)框架I/O Kit,讓蘋(píng)果公司硬件選擇更加多元化。
WebKit項(xiàng)目是蘋(píng)果公司打造的第二個(gè)重要的開(kāi)源項(xiàng)目,這個(gè)項(xiàng)目幾乎是現(xiàn)代瀏覽器事實(shí)上的標(biāo)準(zhǔn),蘋(píng)果公司基于此打造了Safari瀏覽器,而chrome瀏覽器也跟webkit有著很深的關(guān)系,這個(gè)貢獻(xiàn)不可謂不大。
除此之外還有一些大名鼎鼎的開(kāi)源項(xiàng)目,比如蘋(píng)果新一代的開(kāi)發(fā)者生態(tài)核心,swift編程語(yǔ)言本身就是開(kāi)源的,而且性能非常出色,直逼系統(tǒng)級(jí)語(yǔ)言C語(yǔ)言,可以想象,要是蘋(píng)果將swift語(yǔ)言用于不局限于iOS或者macOS平臺(tái)的開(kāi)發(fā)的話,那么將潛力無(wú)限。除此之外編譯器框架LLVM(事實(shí)上語(yǔ)言創(chuàng)新的最佳平臺(tái)選擇),異構(gòu)編程框架OpenCL,服務(wù)發(fā)現(xiàn)協(xié)議實(shí)現(xiàn)Bonjour等。都是經(jīng)典的開(kāi)源項(xiàng)目。
所以,蘋(píng)果從來(lái)都不是一家封閉的公司,并且是一家名符其實(shí)的開(kāi)源軟件巨頭。而蘋(píng)果為了保證更好的軟硬件生態(tài),在某些領(lǐng)域顯得有些封閉而已。
網(wǎng)友解答:只有外行才這么認(rèn)為,蘋(píng)果也開(kāi)源的,macOS和IOS都有開(kāi)源的部分,開(kāi)源的主要是XNU這個(gè)類Unix內(nèi)核,用在各類蘋(píng)果Darwin操作系統(tǒng)中,包括macOS和iOS,另外Swift也開(kāi)源了。當(dāng)然這里的開(kāi)源都是開(kāi)源一部分,開(kāi)源并不代表著需要把所有的東西都打開(kāi)給你看,很多商業(yè)的東西還是不會(huì)開(kāi)源的。
以大家熟悉的IOS為例來(lái)說(shuō)一下,IOS的大致結(jié)構(gòu)如下:
CoreOS就是上面說(shuō)的Darwin是由Mach、FreeBSD以及一些蘋(píng)果自己的代碼組成的,是開(kāi)源、符合POSIX標(biāo)準(zhǔn)的一個(gè)Unix核心,這部分整體是開(kāi)源的,像Mach層里的IOkit驅(qū)動(dòng)框架是開(kāi)源的但是驅(qū)動(dòng)是不開(kāi)源的。換句話說(shuō),IOS的內(nèi)核也使用了很多開(kāi)源的東西,你以為所有東西都是蘋(píng)果自己從頭寫(xiě)的?從法律上說(shuō),freebsd協(xié)議對(duì)商業(yè)化很友好,你用了它的東西賺錢(qián)也可以選擇不開(kāi)源。但是像Android底層用的Linux Kernel就不行,GPL協(xié)議要求你用了就必須開(kāi)源。
最后再提一句,微軟也在積極擁抱開(kāi)源。