蘋果的新編程語言 Swift 已經流行好幾個月了,蘋果的忠實粉絲的數量也在翻倍的增長,他們的宣傳語主要圍繞著“更加清潔”,“更加簡單”,“更加現代化”,“更加強大”。
而一些冷靜的人肯定會對 Swift 做這樣的假設:一旦編程工具免費,黑客一定會攻擊用在蘋果硬件上的 Xcode 或者是 Playground。當然,如果你真的想試試的話,可以到這個網站上挑戰一下,前提是不許碰所有的類庫。
蘋果從來都是不走尋常路,即使很多課程里面的 Swift 是開放的,但并不意味著蘋果會將它開源,我們不要去假設蘋果會給你什么免費的東西,像 Swift 這樣新星的東西是不會輕易開源的。
下面就是我們總結出的蘋果為什么應該將 Swift 開源,以及它為什么不愿意開源的7個是與非。
1、蘋果應該開源 Swift:開源點燃創新的火花
在編程世界里,新的想法、工具和架構經常是以開源的形式開始的。如JavaScript、PHP、Clojure、Haskell 都是通過開源的動力來吸引程序員的。例如 Node.js,將 JavaScript 帶到服務器里,這也多虧了開源的 JavaScript 引擎V8和 Rhino。如果你想分享好的東西,簡單的機制就是免費的將代碼發布到共享網站像 GitHub 或 Sourceforge 上面,盡可能廣泛地傳播開來。開發人員會蜂擁而至擴大其功能和實現。
蘋果不應該開源 Swift:創新并不是蘋果真正想要的
Swift 的語法看起來與眾不同,新聞上面一次又一次的重復“新”這個詞,但其核心,Swift 只是一個智能業務策略,目的是用來維持現狀和在有限的時間內在現有的類庫內擠出更多的空間。
就優雅程度而言,Swift 被設計用來支持一個完全由 Objective-C 編寫出來的世界。這是為了討好無數行現有的 Objective-C 代碼,而不是用 Swift 取代 Objective-C。這意味著蘋果在創新方向并沒有多少長進,更別談在開源上有什么激情了。蘋果想要的是保持其硬件平穩的運行就好,而不是鼓勵混亂的創新。
2、蘋果應該開源 Swift:未來勞動力市場的開源時代就要到來了
一位計算機科學的教授曾經跟我說,他很喜歡 Swift 編程語言,但是他不忍心讓學生花很多錢去購買硬件,終去只是為了使用這個語言。這也是一個很重要的原因為什么很多計算機科學的課程里面使用的是像 Eclipse 這樣的免費的 IDEs,運行在商用硬件上。同時,很多初學者課程都是將重點圍繞在 HTML5、JavaScript 還有簡單的 Firefox OS 上面。
如果蘋果想要在編程課程和自學者群體方面獲得更大的牽引力,那么他就需要讓 Swift 運行在更便宜的硬件上面。一旦孩子們在 Eclipse 上學習 Java,只需要幾分鐘就能把 Android Development Kit 安裝完畢;相反,如果等他們攢足了錢去買一臺 Mac 安裝 Xcode 區需要很長的時間,那我敢說,Android 開發的進程至少領先蘋果一代人。
蘋果不應該開源 Swift:市場決定程序員的選擇
雖然通過大力開發Android技術有可能終打敗iOS,但是從學校畢業的學生還是需要工作。目前iOS仍然是App開發者的大部分收入的主要工具,收入和工作是成正比的。學生總是想學習支持付費客戶的平臺,而現在,很多的低端 Android 手機并沒有這個平臺。只要蘋果有,學習者就會遵循——即使他們不得不購買昂貴的硬件進入到“圍墻花園”。
3、蘋果應該開源 Swift:開源讓所有的bug變得膚淺
開源的核心宗旨是:人多力量大,bug無處逃。因此,保養良好的開源代碼通常是由許多程序員共同維護的結果。如果 Swift 想要更快速的運行、添加新功能,并確保優性能和安全性,那么它就需要為程序員提供方便:使得他們在代碼和孔隙之間查漏補缺,并與每個人分享自己在代碼上的調整。
蘋果不應該開源 Swift:“圍墻花園”有自己的優勢
開源界可能會吹噓自己的戰績,但是根本沒有辦法去衡量修復bug的效率。宣布所有的bug都已經被修復就相當于證明更加負面的影響。讓人信任這么多年的OpenSSL是可以信賴的。
一個“圍墻花園”可能會要求我們相信一個黑盒,而這個黑盒子有可能被蟲子和隱藏的后門撕開了,但這有一個優勢:壞人和我們一樣都很困惑。我們不應該慶祝自己的無知,但有的時候無知又是一個優勢。另外,蘋果尷尬的bug就是“goto fail”,而且是在很久以前開源的代碼。我們只是想知道,開源社區花了多長時間才找到這個bug的?
4、蘋果應該開源 Swift:開放意味著擴張和新興市場
很久很久以前,蘋果獨霸智能手機市場,后來 Google 開源了 Android 系統,并在市場上占有驚人的比重——根據近的一次評估,至少是85%的份額。對于開發者來說這是一個很誘人的數字。開源提供了一個很神秘的方式來滲透進市場,培養新的設備,吸引大量的新的伙伴。可以看看 Android 的產品,包括電視、照相機、電腦,甚至是冰箱。而 iOS 方面新的消息就是出了很多顏色的iPhones。
蘋果不應該開源 Swift:分享會導致分裂
分享也許會吸引很多有趣、可行的新想法,但是通常情況下這會帶來分裂和困惑。為什么蘋果想要鼓勵更多版本的 Swift 來困惑人們呢?這樣就很難在同一時間支持 iPhone 4 和 iPhone 5。Android 開發者就一直在詛咒永無止境的變換花樣。
另外,如果一些很不錯的 Swift 新代碼只運行在 Linux 上而不是在 Mac 上會怎么樣呢?那怎么幫助蘋果和它的用戶呢?蘋果的業務主要是將流暢的運行系統交付給用戶,而不是為程序員創造黑客節日。
5、蘋果應該開源 Swift:開源可以確保一個強有力的工具生態系統
如果你想開發 Android,可以使用開源世界里多得是的工具,Java,Eclipse,IntelliJ,Ant 或者是 Maven 命令行。可使用的 Java 工具列表很長,各個工具都很有創新。不過這個列表有一個重要的事實:Sun/Oracle 都不是用它們構建的。開源 Swift 也有可能培養開發者生態系統,確保開發者有更多的理由來選擇 Swift。
蘋果不應該開源 Swift:開放式 Android 的勝利
Apple 也許并沒有出售智能的手機,但是他出售的這些手機主要還是為了帶動App的銷量。大量的研究表明,iPhone 用戶花在Apps 上的錢遠遠超過了 Android 購買人群。這也正是為什么移動開發者將 iPhone 視作目標,使得 App Store 成為一個完美的購物體驗中心。如果開發這可以按下一個按鈕就能將 Swift 代碼調配到 iPhone 和 Android 市場上的話,蘋果很有可能失去App領域的主導地位。如果用戶可以在一個昂貴的 iPhone 上和一個便宜的 Android 手機上獲得同樣的App,那么后肯定是價格便宜的一方勝利。
6、蘋果應該開源 Swift:蘋果虧欠開源很多
就其本身而言,蘋果并沒有實現 Swift 的所有榮耀,它只是站在了巨人的肩膀上。這不像蘋果自己構建 GCC 或者是 LLVM。Swift 的創建基礎是從開源開始的,就算現在開源,也可以認為是蘋果在回報開源。蘋果已經通過 Darwin 向 BSD 貢獻了很多開源項目,為什么不能再多一點點呢?
蘋果不應該開源 Swift:蘋果根本不欠開源什么東西
如果你使用開源工具構建了一個產品,好不要將其開源出來。不過,有些像 GPL 這樣的許可證可能強制你分享你對工具的所有修改內容,但它范圍有限。蘋果已經在一個開源基礎的頂端構建了一些新的東西,我么也做了同樣的事情并使之私有化,為什么蘋果就不能呢?
7、蘋果應該開源 Swift:Swift 可以被克隆
Microsoft 曾試圖將 .Net 保留在 Windows 平臺,然后開源社區就將它克隆了。其實這樣的事情很有可能會發生在 Swift 身上。一旦有人構建了一個完全開放的程序包,它就有可能成為這個編程語言的主導版本。程序員可以開始構建這么一個程序包,然后蘋果估計就沒什么用了。從一開始就開源 Swift 的話,蘋果肯定會采取措施以抵御一個合法的競爭對手的出現。
蘋果不應該開源 Swift:誰想要這個克隆體?
一個 iPad 可能價值 500 美刀,在 eBay 上出售的使用 Android 系統的克隆 iPad 不會超過100美刀。一些在地下室里的黑客基本上可克隆出一個 Swift,但那么做的終目的還是為了錢和高薪工作,一旦有了資金支持,這些克隆產品就是很不錯的demos。直到人們開始排隊購買運行開源 Swift 系統的硬件商品的時候,才不會有太多的財政支持。
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。