即使是封閉的蘋果,也不得不開源了
為什么大家會如此激動?在過去的15年間,開發(fā)者已經(jīng)顯示了對開源工具和平臺的偏愛,然而蘋果一直讓開發(fā)者適應(yīng)自己的技術(shù),遠離第三方技術(shù)。蘋果這 樣做有一定風(fēng)險,有可能會與開發(fā)人員關(guān)系疏遠,也正是這些開發(fā)人員一直在開發(fā)第三方應(yīng)用或者服務(wù)。程序員想自由選擇自己想要的工作方式 ,要留住他們,蘋果不得不對外開放。
Swift發(fā)展非常迅猛,但近幾年很多新出現(xiàn)的其他的編程語言都較著勁,想吸引開發(fā)者的注意。Facebook在使用Hack和D語 言;Google開源了它的Go語言;Mozilla也推出自己的***版編程語言Rust。這些編程語言都各有優(yōu)劣,其中會有一種或者幾種會成為下一個軟 件開發(fā)的標(biāo)準(zhǔn),并且每種編程語言都已經(jīng)開源。
重要的是,去年微軟決定開源它.NET框架。微軟允許所有的開發(fā)人員有Windows以外的系統(tǒng)中使用自己的語言,包括OS X以及iOS ,并且還提供了代碼,使得開發(fā)人員更便于根據(jù)自己的需要對 .NET進行修改或者延展。蘋果面臨這樣一個事實,開發(fā)者將用微軟的工具來為開發(fā)蘋果產(chǎn)品,因 此它只能開源Swift。
蘋果的目的
蘋果在去年的WWDC上推出了Swift 1.0,替代Objective C。Objective C的歷史可追溯到1983年,一直是開發(fā)iOS應(yīng)用的主要語言。Swift是一種更加現(xiàn)代化的語言,增加許多新的特性,既可以幫助新程序員學(xué)會編碼,也能 使有經(jīng)驗的程序員避免出現(xiàn)一些嚴(yán)重的錯誤。
盡管蘋果已經(jīng)不是***次開源。蘋果開源過Darwin(它是OS X的基礎(chǔ))和WebKit(Safari 瀏覽器的基礎(chǔ)),但是蘋果不會開源Objective C。理論上似乎可以將Objective C應(yīng)用于其它操作系統(tǒng),但如果沒有蘋果的幫助,跨平臺代碼很難。
Xamarin公司開發(fā)的工具,能讓開發(fā)者用微軟的編程語言,開發(fā)運行在Windows,Linux,iOS和Android上的軟件。這就意味著 開發(fā)者不需要用Java為Android開發(fā),再用Objective C為iOS開發(fā)。他們甚至可以使用同樣的代碼,作為桌面或者服務(wù)器端應(yīng)用的基礎(chǔ)。
盡管大多 iOS 和 OS X 開發(fā)人員仍然在使用Objective C 或者Swift,蘋果可以通過使得Swift用于其它操作系統(tǒng),阻擊微軟。最終的結(jié)果可能是,蘋果的語言用于為其競爭對手開發(fā)應(yīng)用。
開源到底要多開放?
在一份聲明中,蘋果寫道開源會包括Swift系統(tǒng)的核心部分,包括編譯器和標(biāo)準(zhǔn)庫,但在開源的程度上細節(jié)還不是特別清楚。
蘋果很可能會保留關(guān)鍵產(chǎn)權(quán),就像當(dāng)初的Java那樣。蘋果也可能最終收回Swift的開源,就像當(dāng)初蘋果一度承諾將FaceTime作為一個視頻通信的公開標(biāo)準(zhǔn)一樣。不管怎么說,這對于作為蘋果的Swift而言都是一個巨大的轉(zhuǎn)變。
蘋果本身也在協(xié)助將Swift應(yīng)用于Linux中,并且能夠接觸到蘋果用于開發(fā)軟件的代碼,其他公司也將能夠支持Swift。然而,蘋果卻沒有提到要開源Cocoa界面,這也是大多數(shù)iOS 和OS X應(yīng)用的一個核心部分。
不管怎么說,Swift的開源至少給開發(fā)人員吃了一顆定心丸,保證他們不會陷入訴訟當(dāng)中,就像當(dāng)初Google與Oracle關(guān)于Java上漫長的版權(quán)之爭一樣。Oracle聲稱Google為Android開發(fā)了一個類似于Java的編程平臺,這侵犯了知識產(chǎn)權(quán)。
將編程語言以及其他的一些開發(fā)技術(shù)開源之后,像蘋果這樣的公司能夠保證開發(fā)人員合法使用技術(shù)。做開發(fā)已經(jīng)夠麻煩了,就不要用其它的事來打擾程序猿了。
來源:http://www.leiphone.com/news/201506/JEKjFYIMRBl3OmCk.html
英文原文:http://www.wired.com/2015/06/open-sourcing-no-longer-optional-not-even-apple/