即使是封閉的蘋果,也不得不開源了

作者 | 發布日期 2015 年 06 月 13 日 12:00 | 分類 Apple , iOS , 軟體、系統 follow us in feedly
雷鋒網配圖

在 2015 蘋果 WWDC 上,最受歡迎和關注的不是 iOS 9 和 OS X,也不是新的 Apple Music,而是蘋果軟體工程副總裁 Craig Federighi 宣布,蘋果的程式設計語言 Swift 2.0 將會開源。




為什麼大家會如此激動?在過去的 15 年間,開發者已經顯示了對開源工具和平台的偏愛,然而蘋果一直讓開發者適應自己的技術,遠離協力廠商技術。蘋果這樣做有一定風險,有可能會與開發人員關係疏遠,也正是這些開發人員一直在開發協力廠商應用軟體或者服務。程式設計師想自由選擇自己想要的工作方式 ,要留住他們,蘋果不得不對外開放。

Swift 發展非常快速,但近幾年很多新出現的其他的程式設計語言都想較勁,想吸引開發者的注意。Facebook 在使用 Hack 和 D 語言;Google 開源了它的 Go 語言;Mozilla 也推出自己的第一版程式設計語言 Rust。這些程式設計語言各有優劣,其中會有一種或者幾種會成為下一個軟體發展的標準,並且每種程式設計語言都已經開源。

重要的是,去年微軟決定開源它.NET 框架。微軟允許所有的開發人員有 Windows 以外的系統中使用自己的語言,包括 OS X 以及 iOS ,還提供了程式碼,使得開發人員更便於根據自己的需要對.NET 進行修改或者延展。蘋果面臨這樣一個事實,開發者將用微軟的工具來為開發蘋果產品,因此它只能開源 Swift。

 

蘋果的目的

蘋果在去年的 WWDC 上推出了 Swift 1.0,替代 Objective C。Objective C 的歷史可追溯到 1983 年,一直是開發 iOS 應用軟體的主要語言。Swift 是一種更加現代化的語言,增加許多新的特性,既可以讓新程式設計師學會編碼,也能使有經驗的程式師避免出現一些嚴重的錯誤。

儘管蘋果已經不是第一次開源。蘋果開源過 Darwin(它是 OS X 的基礎)和 WebKit(Safari 瀏覽器的基礎),但是蘋果不會開源 Objective C。理論上似乎可以將 Objective C 應用於其他作業系統,但如果沒有蘋果的幫助,跨平台程式碼很難。

Xamarin 公司開發的工具,能讓開發者用微軟的程式設計語言,開發執行在 Windows、Linux、iOS 和 Android 上的軟體。這就意味著開發者不需要用 Java 為 Android 開發,再用 Objective C 為 iOS 開發。他們甚至可以使用同樣的程式碼,作為桌面電腦或者伺服器端應用的基礎。

儘管大多 iOS 和 OS X 開發人員仍然在使用 Objective C 或者 Swift,蘋果可以透過將 Swift 用於其他作業系統,阻擊微軟。最終的結果可能是,蘋果的語言用於為其競爭對手開發應用軟體。

 

開源到底要多開放?

在一份聲明中,蘋果寫道開源會包括 Swift 系統的核心部分,包括編譯器和標準庫,但在開源的程度上細節還不是特別清楚。

蘋果很可能會保留關鍵產權,就像當初的 Java 那樣。蘋果也可能最終收回 Swift 的開源,就像當初蘋果一度承諾將 FaceTime 作為一個影像通訊的公開標準一樣。不管怎麼說,這對於作為蘋果的 Swift 而言都是一個巨大的轉變。

蘋果本身也在協助將 Swift 應用於 Linux 中,並且能夠接觸到蘋果用於開發軟體的程式碼,其他公司也將能夠支援 Swift。然而,蘋果卻沒有提到要開源 Cocoa 介面,這也是大多數 iOS 和 OS X 應用的一個核心部分。

不管怎麼說,Swift 的開源至少給開發人員吃了一顆定心丸,保證他們不會陷入訴訟當中,就像當初 Google 與 Oracle 關於 Java 上漫長的版權之爭一樣。Oracle 聲稱 Google 為 Android 開發了一個類似於 Java 的程式設計平台,這侵犯了智慧財產權。

將程式設計語言以及其他的一些開發技術開源之後,像蘋果這樣的公司能夠保證開發人員合法使用技術。做開發已經夠麻煩了,就不要用其他的事來打擾程式設計師了。

(本文由 雷鋒網 授權轉載) 

關鍵字: , , , ,

發表迴響