详析:谷歌为何紧急封杀阿里云 OS?

在谷歌封杀宏碁推出“阿里云”手机之后,双方各就此发表了两轮声明。 这些声明也使得事件爆发之初的一些判断和表态看上去十分可笑,诸如“谷歌封杀是给阿里云加冕”、“阿里云因为采用与谷歌相似的web app战略规划所以被后者忌惮”等等,有些已经在双方的声明中被直接否定,也有些能明显看出来作者不了解移动操作系统的体系架构以及GPL、ASL等开源 协议的规定,所以对一些明显的问题视而不见。

从安卓之父安迪•鲁宾的两次声明中,我们可以看到,谷歌封杀阿里云,其实出于两大目的:防止安卓阵营的硬件基石开放手机联盟(OHA)分裂;谴责阿里云对安卓应用APP的盗版。而阿里云如果要回应这些指责,光发声明是不够的,还需要遵循开源协议,公开云OS部分代码。

阿里云市场的确存在盗版问题

盗版问题比较简单,我们可以先把这个问题说清楚。安迪•鲁宾的第二份声明中说,“你们(阿里云)的应用商店中还包括了安卓的应用,包括盗版的。”认真的老外很快找到了证据:科技博客Androidpolice发表了一篇调查文章《确认阿里云应用市场发布盗版安卓应用,很多来自别的盗版站点》。 他们发现在阿里云的应用市场中,有神庙逃亡(Temple Run)等热门游戏的盗版拷贝下载,其署名提供方并非游戏自己的开发商,而是中国国内某个安卓应用市场,而后者提供了大量其他盗版APP下载;有一些原本 是收费的游戏也在阿里云的市场中提供免费下载;最有趣的是,一款针对安卓ROM的工具软件ROM ToolBox Pro也出现在阿里云市场中——阿里巴巴方面一直坚称阿里云OS并未基于安卓,那在自己的市场中放一款针对安卓ROM的工具有什么意义呢?

AndroidPolice 采访了一些应用开发者,他们明确表示自己并未将应用APP上传到阿里云市场。一款收费游戏(在阿里云市场中被标为免费)的开发者表示,“这是我们第一次听 说阿里云。我们不知道我们的应用被上传到了那儿”。ROM ToolBox Pro的开发者语气则比较激烈:“像阿里云这样的软件破解网站只会伤害消费者和开发者”。

在盗版习惯仍然深入人心的中国,免费、开放的安卓 平台以及其上的免费应用给很多人一个错觉,既然免费,就可以随便用,所以发布一些免费应用APP有什么不对呢?但这的确是不对的,免费不等于作者放弃了所 有权益,他们只是放弃了按份出售应用的做法,但署名权和其他权益比如市场推广、运营等权益仍然属于作者本人,上传到哪个市场、适用于哪些手机的决定权同样 在原作者(这也有保证应用正常运行的考虑)。像上述阿里云市场中更改应用作者署名、使用非授权版本等行为,已经侵犯了软件作者的权益。至于把收费软件改成 免费应用放在市场里的行为,就更不用多说了。

也有些人说谷歌为什么不去抓中国数量众多的盗版market,非要跟阿里云过不去?这里面有个 精力问题,也有个商业策略问题。盗版永无止息,但一旦有商业公司来运作,其破坏力就大得多(因为很容易变现出利益),反过来说侵权主体也好认定。所以反盗 版历来是重拳打击商业、政府机构的盗版行为,对个人消费者和一些小组织则基本无视。

协议规定安卓和阿里云都应开源

好。本来挺简单的盗版认定问题也说了这么一堆。下面进入稍微复杂一些问题讨论,即阿里云OS是否分裂了安卓阵营。

这个说法成立的前提是,阿里云OS要是安卓的一分子,这样才谈得上内部分裂。这也是目前为止阿里反对最激烈的一点。无论是阿里云CEO王坚,还是官方声明,阿里都否定了“阿里云OS属于安卓阵营”的说法。其中王坚说,阿里云OS是“独立的操作系统”; 阿里巴巴副总裁约翰•斯佩里奇说“阿里云OS并不是安卓生态系统的一部分”;阿里第二份官方声明中也说,“阿里云OS使用了自行研发的虚拟机,这与安卓的 Dalvik虚拟机不同。阿里云OS的运行环境,也就是OS的核心部分,即有不同于Dalvik的阿里云自己的JAVA虚拟机,也有阿里云自行研发的云应 用引擎(cloud app engine),用于支持html5 web应用。阿里云OS用了一些(开源的)安卓应用的框架和工具仅仅是作为补丁,让使用云应用的用户可以在我们的生态系统中使用其他第三方应用。”

现 在双方都表明立场了,谷歌说阿里云基于安卓的代码,阿里说我们的核心是自己开发的(但操作系统的核心是“运行环境”这个奇怪的说法是头一次听说),只用了 安卓一些应用框架和工具做补丁,然后还要特意强调,这些部分是开源的。双方各执一词,按业内的做法,那就对比两边的源代码好了。安卓的大部分源代码是公开 的,阿里云OS的代码没有看到公开,似乎他们也没说要公开——但是且慢,按照开源协议,阿里云OS必须公开一部分代码。

从这场争论开始到现在,舆论被有意无意地引导到阿里云的远景规划与谷歌冲突、必须要有自主操作系统以免受制于人这些奇怪的宏大叙事角度去,却没看到有基于开源协议来分析阿里云义务的声音。

众所周知,安卓是一个开源、开放的操作系统,但这二者并不能等同。同时,开源也并不意味着,任何人或者公司都可以拿着公开源代码回去自己编译出一个应用来,然后打上自主产权的标签就可以去报奖立项了。开源代码有着严格的流转规范体系,使用开源代码必须基于这些规范,来保护开发者的版权。我们以安卓系统为例,来分析一下这些不同的开源标准,以及阿里云应该遵守哪些标准公开代码。

安 卓系统基于Linux操作系统发展而来(阿里云也自称基于Linux而非安卓系统)。Linux是一个开源系统,它采用了GPL开源协议,这是我们这里提 到的第一种开源协议。GPL协议规定,遵循该协议的代码都是开源、免费的;一旦软件作品中使用了遵循GPL协议的开源代码,该软件也必须开源、免费。业内 通常管这种特性传递叫“传染性”,只要使用了一行GPL开源代码,整个软件都被“传染”为遵循GPL协议。注意,真正的GPL协议要比这里的描述复杂、严 谨不少,为了行文简洁,本文仅仅选取了与这一问题相关的部分内容进行表述。

GPL使软件开发者获得了极大的自由,可以免费阅读、使用全世界 最优秀的程序代码。但它的强传染性也削弱了它的商业前景。一些手机制造商如果针对自己的硬件开发一份Linux驱动,它必然要调用一些Linux基本函 数、类库,该驱动因此会被GPL传染,要公开所有源代码。但这可能暴露厂商的硬件细节,造成泄密。同样,一些商业公司也会认为,将自己的独有技术拿出来支 持Linux,会因为GPL的免费开源特性,造成创新成果流失(微软的鲍尔默就曾经说GPL让Linux染上了癌症)。

为了规避这一问题, 谷歌除了在操作系统核心使用了Linux代码之外,在其他专门为安卓开发的相当一部分代码中,使用了传染性不那么强的开源协议:基于Apache的ASL 或者基于BSD的BSD协议。这两种协议的共同点在于对商业应用十分友好,遵循这两种协议的开源代码,商业公司可以拿过去用,而开发出的产品不一定需要也 开源,可以视情况打包为闭源商业软件。在安卓系统中,大部分硬件驱动程序,以及谷歌专门为移动设备开发的基本函数库Bionic,都慷慨地采用了BSD或 ASL开源协议,其中包括Dalvik虚拟机等安卓运行库(runtime)。(整个安卓操作系统各部分所遵循的版权协议见图)

对比代码是解答“是否抄袭”的核心

这 里要多说两句,谷歌为什么要允许别人闭源使用自己的开源代码呢,它有啥好处?必须要说明,开源协议的选择体现了软件的价值观,也体现了开发者的商业考量。 如果谷歌让整个安卓系统采用GPL协议,看上去所有开发者的进一步开发都会被开源出来,系统创新的速度可能更快;但这样有个更大的副作用,就是很多商业公 司就不愿意介入安卓开发了——一介入就被“传染”了要开放自己的源代码了。为了团结其他商业公司,让更多的手机厂商原意采用安卓、更多的软件厂商原意为安 卓开发丰富多彩的应用APP,谷歌选择了在Linux核心之外,另行独立开发出安卓的运行环境与函数库,并将这部分以更为自由的BSD和ASL协议发布。 这样,开发者基于安卓开发的应用,愿意贡献给社区,就开源;希望保守自己的商业秘密,就闭源。这个策略目前来看相当成功,安卓手机、应用APP这一硬一软 两个方面,在这几年突飞猛进地发展,选择了合适的开源协议功不可没(关于谷歌选择开源协议的分析,阮一峰翻译了一篇文章,可以用来作为背景学习)。

通过安卓的体系设计,我们大概对几种不同的开源协议有了初步认识。现在就来分析阿里云OS。阿里云OS的体系结构如图所示。可以看到,阿里云OS同样基于Linux核心。这就涉及第一个版权问题:这部分代码按照GPL规定已经被“传染”,必须开源。目前为止,在公开报道中,我们还没有找到阿里云OS“部分开源”的消息。

在 这部分代码开源之后,业内人就可以对阿里云和安卓做一个更透彻的比较,看看到底是前者直接使用了后者的代码,还是真的如阿里自己所说,是独立在Linux 基础上开发出来的新操作系统。因为谷歌安卓中的Linux核心,与一般的Linux核心还有不同。为了适应移动设备内存小、CPU频率低、对耗电量高度敏 感的特点,谷歌将这部分Linux核心做了修改,并依据GPL将修改开源。从这篇文章可 以看到,谷歌对Linux核心做了至少两处重大改动:进程间通讯(IPC)模块Binder,和至关重要的电量管理模块。阿里云OS既然也是移动操作系 统,必然需要对本来为桌面系统开发的Linux做出相似的处理。这个处理方式,是沿用了谷歌的方式,还是真正的自主开发呢?代码公布后,自然见分晓。

双 方争议的另一个核心,是阿里云OS如何实现了对安卓应用的兼容。安卓系统的开发语言是java,为了精简java程序使之适用于移动设备,谷歌使用了 Dalvik虚拟机。注意Dalvik不是java虚拟机,它是将java程序重新打包为一种更为精简的形式运行。阿里云在第二份声明中说自己用了“不同 于Dalvik的java虚拟机”,那不但二者的代码不同,连工作原理也会有不同了。

包括Dalvik在内的安卓运行库,采用的是ASL和 BSD协议,也就意味着阿里云就算直接用了这部分代码,也可以选择不公开源代码。但这不等于用了白用:ASL和BSD都规定,使用了遵循该协议的开源代 码,必须以显要方式标明原开发者的版权归属;这种标明方式,通常形式有源代码中保留原作者的权利声明和其他原作者规定的说明。阿里云既然已经披露了自己使 用安卓代码的情况,这部分代码中是否保留了谷歌的版权声明,只需要查看相应程序的说明文件即可。

总算把开源协议这部分介绍得差不多了。花费 这么多笔墨的目的在于说明,这次谷歌与阿里云之争,不应该像以前业界的一些争论演变为口水战,而应该像另外一些争论一样,可以让更多人了解操作系统、开源 协议等相关知识,消除许多误区(这两类争论我就不具体点名举例了),避免被人当技术小白糊弄。要达到这个目的很简单,阿里云OS公开指定部分的源代码,供业内行家与谷歌代码进行比对即可。这不是强人所难,因为既然依照GPL、ASL、BSD等规范享用了一大批免费开源源代码,那也应该遵循人家规定的义务。

当 然,在中国这个用盗版软件都异常有理的国家,各类开源协议都是防君子不防小人的,程序源代码都是纯文本文件,你不遵循协议,它也不会闹脾气不运行,或者在 屏幕上打出一行字来骂你。但无论是阿里,还是另外号称要做自主操作系统的华为、百度、联想,都是国际级大公司,应该不会耍这种初级流氓。

安卓用户与开发者成为赢家

也 有一些有技术背景的朋友可能会奇怪,谷歌的安卓系统已经提供了相当宽松的条件,核心全部开源消除了安全隐患,庞大的社区和资金支持保证了系统快速进化,在 这种情况下,为什么这些公司还要一股劲地开发自己的操作系统呢?把精力用在做好跟公司业务有关的平台、APP上不是更好吗。这个问题很难回答,我也没有确 定的答案。有些微博网友说是因为如果打出自主操作系统的牌子,阿里云OS就可以获得国家“核高基”( 核心电子器件、高端通用芯片及基础软件产品)资金资助。我查了一下,阿里云在某些展会上的确出现在核高基成果展区,也有微博上的实名用户说,阿里云获得了863计划的8000万元资金,他当时是评委。但这些资金项目与阿里云舍弃安卓走自主之路之间还暂时找不到官方表述和公开表达,所以建议网友们在找到新的证据之前,不要过于肯定地认定这一点。

最后,来说一下这次争议对用户的影响。可以肯定,这对安卓开发者和用户来说,是个大利好消息,因为谷歌表现出了解决安卓分裂现状的行动与关注度,而分裂问题一直是安卓系统最大的忧患。资深移动互联网专家郝培强(@tinyfool) 两年前就在新京报上发表过文章,安卓系统的标准化程度与iOS存在巨大差距,厂商各自推出的不同分辨率、不同操作方式的手机让开发者和用户都深受其苦,各 类安卓版本之间的兼容、继承也问题多多。谷歌应对这一问题的方式是组建开放手机联盟,并在安卓4.0后逐步在系统层面进行统一、限制明显的分裂行为。

宏碁是开放手机联盟成员,有权优先获得最新的安卓系统代码和接口服务,如果它再去支持一款从底层到应用都与安卓兼容的阿里云OS,从谷歌的角度来看,担忧泄密、分裂也的确有其道理。

在市场层面上,阿里云不到五百万台的出货量远远说不上威胁谷歌,更不至于像王坚说的那样“让谷歌害怕”。但安卓之父两天内两次发表声明来回应这一问题,至少让开发者、厂商和用户看到了谷歌对于防止分裂、反对盗版的重视程度。从这个角度说,这次获利最大的,将是广大安卓用户、开发者和正统OS厂商。

作者为《商业价值》移动阅读主编 @阳淼

甲骨文宣布 JavaEE 服务器 WebLogic 免费许可

甲骨文WebLogic开发团队成员Bruno Borges今天在博客中宣布,WebLogic服务器现在允许开发者免费使用。之前也可以免费试用,不过有时间限制

但仍有诸多限制:

仅在单一开发者的桌面环境(包括物理的、虚拟的以及远程虚拟主机)中部署应用程序,且只能被指定的开发者使用和访问。

p甲骨文对许可协议进行了变更,如下:

如果你之前已经针对内部数据处理、商业或生产目的部署过应用程序,现在你仍可以在免费许可协议下继续开发、测试、原型化、演示你的应用程序。

许可协议:Dev-License

Via OracleBlog

IT 男婚恋报告出炉 8 成 IT 男网上找对象

北京晨报

从事时尚的互联网工作,但婚恋也许不能“联网”。一份“IT男婚恋报告”昨天出炉,受到生活圈子窄、工作环境中女性少、不善言辞等因素影响,IT男 已成为“剩男”中的一大群体。这份报告统计,8成以上的IT男通过网络找对象,在婚恋网站上的活跃度,竟然比普通男会员高9倍。

IT男每月1万块都不够花

按照“IT男婚恋报告”中的描述,IT男典型特征是一幅粗黑框的眼镜、一头凌乱的发型,总是背着放置笔记本电脑的双肩包,衬衣口袋里总装着原子笔,脖子 上挂着永不离身的识别卡。穿着也很好辩认:腰线偏高的牛仔裤、扎在裤子里的衬衫,疑似向外公借来的皮带,还有露出半截的白袜子,永远擦不净的皮鞋。

每月宽带费、有线费、通讯费,有时候去旅游,还有应酬……IT男月薪不低,但每月1万块都不够花。

33岁以上IT男登录最活跃

由于工作“循规蹈矩”,生活圈子窄,没有机会认识女孩,而且工作环境里男孩多,女孩少,找女朋友是一件难事。因此,在婚恋网站上,IT男是有名的“认 真”:实名情况和活跃度都比较高。据统计,IT男实名注册比例高达80.5%;且IT男月登录次数也随年龄的增长变化明显33至37岁以上的IT男发信量 最多,月均发73封以上。

一家著名婚恋网站负责人介绍,“总体来说,IT男的会员登录情况比全网男性活跃很多,相差9倍左右。”

主要对手是更年轻的IT男

报告还显示,即使网站相亲,IT男也面临重重威胁:包括“更有时间的男人”、“高富帅”等,但最大的敌人是“更年轻的IT男”。

报告建议,IT男恋爱应“审时度势,发挥长处”,首先是学习“恋爱类型”,找对匹配的人;讨丈母娘喜欢;努力工作、赚钱买房。同时改进短处,不善表达, 就应该用行动来表达爱意,认认真真谈恋爱,学点恋爱技术。不重外表,打扮不一定要潮,但一定要干净、整洁,注重个人卫生。缺少时间,就多用音频、视频保持 联系;经常接触电脑,要善于通过网络扩大接触面。

编程技能和做员工的技能——哪个更重要?

从最最基本的层面上讲,每个员工都应该为最求两种基本的能力而奋斗,它们是:编程技能和做员工的技能。

编程技能是指能写出好的,稳定的,有效率的,可维护的,以及所有其它褒义形容词能描绘的代码的能力。这些是程序员们喜欢花时间反复唠叨,讨论,阅读的东西。

做员工的技能是指做一个好的雇员和同事的能力。它意味着有求必应,善于交流,能够按期完成,善于接受反馈,有能力把复杂的事情解释清楚,以及其它一些类似的技能。

一个极端的例子

对两个人的形象描绘:

Rodrigo毕业于麻省理工,他在业余时间开发编译器。他是Haskell语言的核心代码 捐助者,他开发了很多非常有名的Python程序库。他写出的代码都是非常健壮的代码,可读性好,能够优雅的处理各种程序上的临界计算场景。然而,他通常 是拖延几天才回复邮件,你很少见他会接听电话,他看起来并不真正理解按时完成任务的重要性,他按自己的方式做事,你不可能弄清楚他究竟是怎么想的,只感觉 他脑子里都是一些漫无边际的想法。

Gabriella并不是一个非常优秀的程序员,她写的程序看起来显然很业余。15到20行 就能完成的程序她写了30行。她的程序里有bug,这让QA部门在上面花费了不少时间,她没有真正理解写出的代码应该具有好的性能的道理——“能用就行 啦!”。然而,她很热情——她收到邮件几分钟内必给予回复,她从不漏接一个电话,她善于沟通,她能把复杂的技术问题清楚的讲给客户听,她从没有逾期完不成 任务,她不断的寻求反馈来改进自己的工作,她是一个很随和的人,同事喜欢跟她说话。

现在,好好想想这个问题。哪一个人你更愿意和他/她共事?

什么是最重要的?

依我的经验,程序员更愿意和Rodrigo同事,而老板们更喜欢Gabriella。

这很正常——毕竟,程序员是苦于和那些烂代码打交道的,而老板们操心应付延误的工期和改善团队里沟通不畅。所以,我都更喜欢给我们带来尽少麻烦的人。

然而,问题是,老板们是给我们工作机会的人,他们是能让我们晋升,涨工资,能给我们嘉奖的人,在这种情况下,Gabriella就脱颖而出了。我已 经很多次见到这种情况了——具有好的做员工技能但编程技能差的程序员最吃香,而具有非常好的编程技能但不善于沟通的程序员永远都走在别人后面。

不管我们程序员如何认识这个问题,如果你想在给别人编程打工中获得事业成功,编程技能不是第一重要的。学会如何做一个好的员工才是重要的,甚至是非常重要的。

[本文英文原文链接:Coding skill vs. employee skill ]

消息称 360 已确定采用 so.com 为搜索域名

9月18日上午消息,据消息人士透露,360搜索的域名已经确定为so.com。今年8月,奇虎360搜索启用360so.com和360sou.com两个独立域名上线。随后360发起微博投票,请网友对域名做出选择。

此前360董事长周鸿祎在接受凤凰科技采访时透露,搜索将要实施的计划,

第一:会与国际上的搜索引擎合作,不做竞价排名,把商业广告与搜索结果明确分开,因为竞价排名会让企业走上不归路;

第二:用机器的算法决定搜索结果的排序,而不是人工干预;

第三:成立一个搜索引擎开放平台,360只做网页、视频、新闻、问答搜索,其他垂直搜索与垂直搜索网站合作,比如携程、艺龙、大众点评等。

他透露,地图、音乐、图片等都会选择垂直搜索的合伙伙伴,现在正在谈的有微软、谷歌和网易有道。

根据易观智库数据显示,2012年第2季度中国搜索引擎运营商市场份额中,百度占到78.6%,谷歌中国占到15.7%,搜狗占到2.9%。

据第三方公司Hitwise数据显示,截至8月26日,百度、360、谷歌、搜狗、腾讯搜搜的份额依次为56.44%、10.22%、7.54%、 7.14%、4.72%。8月15日,360搜索上线(8月16日)之前,其份额依次为62.1%、0、10.1%、7.8%、5.3%。