10月25日消息,在程序圈,Google以重新定义词汇而闻名,并以此来适应其理想。
比如“Beta”一词。在大多人的眼中,它意味着有漏洞、还没发布的软件,基本能工作、但还处在测试阶段。Google却将这个词与产品挂钩,它为普通使用作准备,只是必须跟“有规律的升级和不断的功能精细化”配合。
现在,类似的事发生在“开放”一词上。
软件开放的标准是什么?
Google负责Android平台的资深高管安迪·鲁宾为了反击乔布斯,试图解释何为“开放”。乔布斯此前在财报会议上说,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没啥区别,它也是建立在“苹果给什么你就用什么”模式上的。
对运营商来说Android是开源的
Facebook的乔·海威特(Joe Hewitt),他是火狐的联合创始人之一,有传言说他正在开发Facebook的Android手机,他在Twitter上回应说“对我来说,Android没啥区别”,并补充称:“开源软件意味着与社区分享控制权,你指给我看看,告诉我在哪里。”
第二天,海威特又写了博客进一步阐述自己的话,他说:“老是说什么‘开放’让我受不了。”
海威特认为,尽管Google的方法冠以“开源软件”有点不老实,但它达到了“开放的最低门槛”,还有另一个问题:手机运营商。他认为,问题是 无线运营商第一,Google第二。因为运营商可以从用户的角度关闭Android平台。换句话说,你可以复制和粘贴代码,可以看到Android真面 目,但当它与真实的手机一起推出时,它就与iOS无异了,同样控制严密。海威特此话的意思是说:站在运营商的角度来看Andorid是开源的。
Android 并非完全开放源码客制化 ROM 惹争议编辑本段回目录
Written by 谢良奇/编译
尽管 Android 是开放源码的行动操作系统,部份其中最吸引人的功能,例如紧密的 Gmail 整合与 Google Map,并非开放源码软件。
开放源码社群日前目睹了Google 与 Cyanogen,也就是开放源码开发者 Steve Kondik 之间的角力战。Kondik 是一位 Android 黑客,他开发了加强版的 Android ROM CyanogenMod。CyanogenMod 是以开放源码的 Android 为基础,加上特别制作的功能。 CyanogenMod AndroidROM 加入了来自 Donut 释出版本的许多新功能,而且还允许与计算机分享手机的数据连接能力,因此在Android 玩家间相当热门。
日前 Google 因为发出制止令 (cease and desist order) 给 Kondik,要求 Kondik 停止散布此一客制化的 Android,因为其中包含了封闭源码的应用软件如 Gmail 与 Google。Google 因此引起了一场风波,饱受开放源码社群的批评。
Google 宣称该 Android 释出中有许多应用软件事实上并非开放源码,例如 Gmail、Google Maps 与 YouTube。由于这些软件是商业软件而非开放源码,无法纳入 CyanogenMod 这样的开放源码释出中。
该公司表示这些来自开发者的热情令其感到兴奋,但 Kondik 在其释出版本中纳入这些应用软件时,已经违反 Google 的授权。Google 在 Android 开发者部落格上指出,由于这些软件非开放源码,因此并未包含于 Android 的原始码仓储中。未经授权散布这些软件,即使出于正面意图,也会造成对他们的伤害。
一开始 Kondik 表示,他认为此举对于 Android 社群将有负面影响,因为跟 Google 在线服务紧密连接,可说是此一以 Linux 为基础的操作系统主要的卖点之一。不过,该开发者后来转变态度,表示计划释出简化版的 ROM,可以处理一般的电话功能,但其中不包含 Google 的应用软件。
虽然部份社群人士抱怨Google 违反了 Android 的精神与目标,但 Kondik 则抱持较为同情的看法。他说,这些软件并非包含在该开放源码项目,而是具有Google 体验的设备的其中一部份,虽然他希望 Google 能将以上交给大家共同拥有,但是当这并未发生时,又有谁能责怪他们呢?
为了响应此一事件,一群开发者共同成立了 Open Android Alliance,以建立可取代 Google 应用软件的开放源码替代方案为目标,希望能在未来纳入客制化的 Android 释出版本中。
尽管 Google 为了此事饱受批评,另一方面也有声音为 Google 缓颊,认为 Google 或许有商业合约禁止该公司让这些应用软件被纳入开放源码版本中。
撇开上述风波,Android以及另一套主要行动Linux 平台 Palm webOS,最近都有新的改善发表。Google 与近来注意力转向 Android 的电信商 Sprint,正在改进 Android 的体验。Sprint 发表了其 Applications Developer 网站的一系列延伸,协助开发者更容易支持 Android,提供针对 Sprint 网络创造与测试 Android 应用软件的工具。
福布斯:Android创始人回应乔布斯批评编辑本段回目录
他们的争议还远没有定论,但两件事情是清楚的是:鲁宾的极客(指计算机技术爱好者)程度更深,乔布斯是一个与其争论很费劲的人。以下是鲁宾的推特:@Arubin the definition of open: “mkdir android ;cd android ;repo init -u git://android.git.kernel.org/platform/manifest.git ;repo sync ;make”。
翻译过来的意思是:开放意味着你可以用一个软件来作你想作的任何事情,直至下载和修改原代码。很不错。问题是,鲁宾的回应在否定乔布斯的部分批评意见的同时突出了另一部分的批评意见,不能说由于一些东西是“开放”的,这就意味着它能够被大家接受或使用。这使人们想到乔布斯的中心论点:让开发者自由地修改操作系统原代码并不一定能使它更为普及。或者正如乔布斯10月18日所说的那样:“谷歌喜欢把ANDROID定性为开放,苹果是封闭的。我们发现这有点不诚实。Android是支离破碎的,与iPhone(手机上网)相比,所有的APP都使用同样的东西。多个硬件和软件迭代使研发人员面临艰难的挑战。”
换句话是,谁说“开放”或者至少是鲁宾所定义的“开放”有任何好处?不管怎么样,鲁宾提供了一项公共服务,由于市场推销人员使用了“开放”这个词,所有的人都称他们的产品是“开放的”,竞争对手的产品是“封闭的”。鲁宾提供了“开放”应当意味着什么的一个具体例子,Android赢得的每位客户和开发者将提供这种方法如何奏效的一个例子。
http://mittrchinese.com/single.php?p=3685