在程序圈,Google以重新定义词汇而闻名,并以此来适应其理想。比如“Beta”一词。在大多人的眼中,它意味着有漏洞、还没发布的软件,基本能工作、但还处在测试阶段。Google却将这个词与产品挂钩,它为普通使用作准备,只是必须跟“有规律的升级和不断的功能精细化”配合。现在,类似的事发生在“开放”一词上。 软件开放的标准是什么? Google负责Andorid平台的资深高管安迪·鲁宾为了反击乔布斯,试图解释何为“开放”。乔布斯此前在财报会议上说,Google的Android系统不是真正的“开放”,此事在Android开发者中引起争议。 鲁宾在微博中用代码回应说,下载Android源码,在电脑中编译,就是“开放的定义。” 不过,鲁宾的定义引起了争议,因为下载与编译原码并不意味着开放。曾杜撰出“开源软件”一词的布鲁斯·佩伦斯(Bruce Perens)就对此定义表示怀疑,他说:“你可以检查东西,编译它并不意味着你有权使用它。”在软件世界,“开放”可以从三个核心方面来定久:通过授权可以保证能修改源码、再使用和分发,一种社区开发方法,还有更重要的一点,保证用户在硬件一软件拥有完全自由。 按法律术语来说,Android是开源软件,它是根据Apache 2.0软件授权来发布的,允许任何人使用,修改和分发代码。但是根据布鲁斯·佩伦斯的说法,它在后两点上未达标准。 Android并非完全开源 没有以社区为基础的开发,Android的批评者会说它没有苹果的iOS开放。佩伦斯说:“大多的开源项目可以随时接入,修改你做的东西……完全向任何参与的人开放。” 与一些主要的开源项不同,比如Firefox和linux,你无法看到Android后面发生了什么,一些小的开发者也无法用有意义的方式贡献自己的项目。Google一般会在新闻发布会上公开自己的升级软件,不像苹果,苹果只是展示新的功能。 在代码的发布上,Android开发者可以下载它,并做任何修改,但是它们没有办法看到每天软件背后发生的事。如果你想知道昨天晚上Firefox发生了什么,你都可以在Mozilla网站看到纪录。对于Linux kernel、Open Office和其它开源软件项目都是这样。 Android不是如此,尽管它有法律授权自称开源软件,但在透明和社区上却有完全失败。 Android主要给你两个选择:接受Google给你的,或者叉开整个代码库。除了你可以推出自己版本的Andorid,它实际上和iOS没啥区别,它也是建立在“苹果给什么你就用什么”模式上的。 |