即使是封闭的苹果,也不得不开源了

pdce 9年前

即使是封闭的苹果,也不得不开源了

英文原文:Open Sourcing Is No Longer Optional, Not Even for Apple

在 2015 苹果 WWDC 上,最受欢迎和关注的不是 iOS 9 和 OS X,也不是新的 Apple Music,而是苹果软件工程副总裁 Craig Federighi 宣布,苹果的编程语言 Swift 2.0 将会开源。

为什么大家会如此激动?在过去的 15 年间,开发者已经显示了对开源工具和平台的偏爱,然而苹果一直让开发者适应自己的技术,远离第三方技术。苹果这样做有一定风险,有可能会与开发人员关系疏 远,也正是这些开发人员一直在开发第三方应用或者服务。程序员想自由选择自己想要的工作方式 ,要留住他们,苹果不得不对外开放。

Swift 发展非常迅猛,但近几年很多新出现的其他的编程语言都较着劲,想吸引开发者的注意。非死book 在使用 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 的编程平台,这侵犯了知识产权。

将编程语言以及其他的一些开发技术开源之后,像苹果这样的公司能够保证开发人员合法使用技术。做开发已经够麻烦了,就不要用其它的事来打扰程序猿了。

来自: 雷锋网