至少到目前为止,作为世界上商业最成功的公司之一,苹果似乎本应与开源扯不上什么关系。然而今天早间传来消息,苹果一如其半年前承诺的那样,正式开源去年推出的全新编程语言Swift。
我已经很久没有关注编程语言了。自从离开学校,在第一家服务的单位里曾短暂用C语言做过一些简单的应用开发后,那个代码世界终归与我绝缘了,我变身成为一个媒体人。
我最早在中学使用过BASIC,不过进入大学后学习的第一种编程语言却是Fortran,在法国BULL公司的小型机上。学习的目的,是为了科学和工程计算——其实我一次也没用上,倒是后来自学的汇编、Pascal和C语言,让我仍对编程保留了一定兴趣。
不过我终归不是那块料,也缺乏足够的热情,匆匆的转行让我未能像求伯君、雷军那样,成为一名在20世纪末充满自豪感的程序员,但是我始终关注软件领域的进展,并有幸见证了一大批中国本土软件公司的成长。
再说回到开源。这里可能还是要说明一下,开源其实并不意味着免费。如果这二者之间可以划等号,那我们完全不需要面对Open Source这样一个词,只要Free就好了。即便是开源,精明的商家同样能从中找寻到商业模式,继而获取利润。
当然,确实有那种狂热的爱好者,日复一日、义务地为某些开源项目贡献想法和代码,不断地编写文档,进行开发和调试,然后免费发布。可是这样的人毕竟是极其少数,况且在商业化如此发达的现今社会,完全免费的个人或小团体开源作品,很难吸引到足够多的用户。
互联网的快速发展,以及越来越多的商业公司加入大型开源社区,让开源与大规模应用得以联结。比如淘宝,它的应用服务器、操作系统和数据库,全部使用了开源软件。得益于此,淘宝确实省却了些许软件购买费用,不过它却必须雇佣大批的系统架构师和软件工程师,确保系统不会出现问题。
谷歌的安卓系统,也是开源项目成功的一大例证。在极短的时间里,安卓就成为市场份额最大的移动操作系统。然而正是由于开源,任何人都可以在其中加入自己的代码,于是我们就看到各种恶意软件的流行,以及其他更隐蔽的不明软件行为。
或许是出于对以上状况的担心,谷歌从安卓3.0开始收紧了控制权。严格意义上讲,安卓系统现在已经不是完全的开源。这也说明,开源并非是万能药,有的时候可能还是需要一定的控制。
苹果对Swift的开源,同样如此。如果你使用开源版本进行开发,那意味着你的项目无法进入苹果的App Store——苹果说这是为了用户的安全性和稳定性考虑。如果你想通过App Store销售自己的作品,那你必须使用苹果官方版本的Swift,并向苹果付费。
当然,不管开发者是否准备用Swift搞创收,开源的Swift势必会吸引越来越多的开发者,并且是基于苹果的设备进行开发。或许,这就足够了。