iOS為什麼閉源,而這種閉源又有什麼好處和弊端?
拋開商業的開源是很常見的; 但是商業軟體通常都是閉源的, 開源只是一種特殊戰略.不影響商業利益的部分, 可以開源. iOS這種系統, 可以考慮開源一部分, 但是如果全部開源, 豈不是直接送給競爭對手的一份大禮?
除非要吸引大量產業鏈下游的小型微型合作夥伴, 比如個人開發者, 才有必要考慮開源. iOS在AppStore的軟體開發上已經做到了這一點,不需要進一步考慮開源; 而Android之所以開源, 是為了吸引眾多小型和微型的硬體廠商. 蘋果的iOS並不打算授權給其他廠商, 獨此一家, 也就沒有必要開源, 否則既暴露了自己, 也會浪費不必要的成本(要開源,並不只是公布源代碼這麼簡單, 得對源代碼進行大量的整理; 得配合進行很多宣傳策略; 得做好和社區深入交流的準備; 如此等等)
開不開源在商業里結果沒太大區別。
開源的項目,有高商業價值的幾乎都要麼把持在少數公司手裡,要麼由少數領頭公司專人僱人從事這些開發,要麼通過贊助基金會的形式簡介影響這些項目,比如android,Linux,Mysql,Qt,gnome,opencv,hadoop等項目。純粹愛好者的開源項目基本持續的時間不會太長,影響也不會很大。當然不排除由愛好者做到一定程度之後進化到商業領域。還有一種就是大學或研究機構出於研究目的的開源項目,這些項目有部分實用性,但缺乏較大的商業目標和動力,比如BSD, Postgresql, ACE, R,scilab,Minix等。另一方面是,通過觀察可以發現,正是由於把控了開源軟體的生存命脈,鼓吹開源的基本都是些巨頭公司,同樣選擇閉源的還是巨頭公司,中小型公司從開源中除了撈點名,其他能得到的不會太多。開源的高商業價值的東西,受控部分幾乎都會採用GPL協議,這對需要通過創新和技術壁壘來保護自己的開發者和中小型企業來說,除非你繼續開源,否則除了學習研究目的外無法利用這些項目的直接代碼。甚至有時候不得不重新用不同方式來實現相關功能。換句話說,一定層度上,高商業價值的項目,開不開源對普通用戶、低層開發者和下游公司來說,不會產生本質影響。開源項目在一定程度上對除了學習和研究,實質還是被商業操控。
開源和閉源個人看來還是前面二位說的商業策略問題。開源有點像大規模製造,靠同質化的量來佔領市場,所以需要有利益點來整合產業鏈,核心競爭能力在規模;閉源有點像精細化製造,靠異質化的少量精品來佔領市場,所以需要保持同類產品中異質化的核心競爭能力。類推IOS。
以上為個人觀點。交足夠數目的稅,上繳武器,享受警察的司法保護,或者免稅同時享受無政府生活,一切靠自我保護,這在我們國家,有點像做iOS 開發者和安卓開發者的選擇,秩序和規範往往不自由,自由往往混亂。選擇閉源或者開源取決於想只掙廣告費還是除了廣告費以外想直接賣APP掙錢。我估計目前在我國沒有多少「單純為了全人類福祉」而公益開發的群體,國外有但也不太多,大家總之都要掙錢,總之都要承擔成本,都要謀求利潤,掙錢的點各有不同而已。
首先,iOS系統非完全閉源軟體,不過開放的比較少,對一般人有意義的僅包括JavascriptCore。真正對一般人閉源的系統是Windows,不過我覺得問題應該是封閉和開放也許更合適。
開源那部分我覺得 @kubisoft 答得不錯,就不再引用。不過雖然Windows完全閉源(僅對部分授權者開放),但是並不妨礙Windows成為一個相對開放的系統,儘管相對Linux還是差很多。這應該僅僅是商業策略的不同。
開源的優點我個人感覺最大的好處是好名聲,其次是有可能更優的push request。缺點是,你看下Android就好了推薦閱讀:
※App Store 和蘋果官網上的官方應用英文字體和中文字體分別是什麼?
※為什麼到了 iPhone 5 重量突然成為了產品上關注的重點?
※蘋果是否面臨著創新衰竭?
※蘋果維修換的機子是全新的嗎?
TAG:iOS | 蘋果公司AppleInc |