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