商场如战场,专利是商家手中的利器,尤其是科技企业更是利用专利来保护自己的市场优势,打击对手。智能手机市场专利之战可以说一直没有中断过,在某个时刻总会有一个公司拍案而起,宣称对方侵犯了自己的知识产权,说明白了就是一个驱动力:利益使然。技术专利可以使自己在竞争中获得更大的优势,就像秘密武器一般,怎能不保护?
在 Android 和 iPhone 的战争中,我们已经看到苹果曾诉讼 HTC 侵犯自己的专利,其目的当然是 Google ,因为 Google 的 Android 平台对 iPhone 造成了威胁,所以苹果自然不会放过打击对手的机会,
这次,Google 遇到的麻烦来自 Oracle。
Oracle 指出:Google 至少侵犯了涉及到 Java的七项专利。
Java 是一个平台
Java 不仅是一门语言,更是一个平台。当年,Java 在 Sun 手中的时候,Sun 推出了 J2ME 环境,试图统一手机市场,以自己的 Java 虚拟机做为一个通用的移动开发平台,做到“一次编译,到处运行”,当然,这个策略并没有获得很大的成功,但是 Java 的影响力仍然很大,而且 Sun 的 Java 虚拟机仍在许多著名手机制造商的手机上使用,比如诺基亚的Symbian 系统,RIM 的 Blackberry 系统采用了 Java 虚拟机做为程序运行环境,在 Android 和 iPhone 的逼迫下,Java 虚拟机已经成了低端智能手机的代名词,但不可否认,它仍拥有一定的市场占有率,而且它也是 Sun 公司的财产,是其利益所系。如今 Sun 被 Oracle 收购,Java 的所有权变归了 Oracle,Oracle 挥舞专利大棒是迟早的事情。
旧事重提
关于 Java 虚拟机的诉讼以前也发生过。是发生在 Sun 和微软之间。微软当时和 Sun 签订了一个协议,开发与 Sun 的 Java 虚拟机兼容的运行环境,但是微软没有遵守协议,他的开发增加了太多自己的东西,破坏了平台的统一性,因此 Sun 状告微软并取得了成功,赔偿金是 16 亿美金。微软被迫放弃这个计划,开始开发自己的 .Net。
统一的平台是公司的利益所系
Java 这门语言是大家都可以用的,Oracle(Sun)当然希望程序员使用 Java,但是做为一个公司,更关心的是自己的利益,这个利益如何保证呢?就是保持一个统一的平台,并且这个平台在自己的控制之下。Java 的程序运行环境必须是 Oracle (Sun)的 Java 虚拟机。厂商在自己的手机上使用 Java 虚拟机必须经过 Oracle (Sun)的授权。
当然 Sun 对 Google 这小动作非常不高兴,但起诉 Google 从来就没有出现在他们的议程上面。就像 Java 之父 詹姆斯。高司令所说的:Filing patent suits was never in Sun’s genetic code。但他对 Oracle 起诉 Google 的举动显然是意料之中,只是时间的问题。
现在混水来了
Oracle对此自然不会高兴,目前它已经是 Java 的所有者,自然拥有在语言和平台上的专利,Android 的蓬勃发展自然会促使更多的人使用 Java,但是这对于 Oracle 毫无意义,因为这些使用 Java 编写的软件没有运行在它的平台上,对此它来说毫无利益可言,难怪 Oracle 要坐不住了。Oracle 状告 Google 是情理之中,那么 Google 不是可以以自己的虚拟机并非 Java 虚拟机改写,不涉及到侵犯专利来辩护吗?问题是开源界一向是诉讼不断,商业公司虎视眈眈,你能保证在专利上能说的那么清楚,完全摆脱干系么?对于细节我们不是很清楚,但是美国的律师们,恩,你懂的。这次诉讼如何收场,以及后果如何还是未知数。
Google 的 Android 损害了 Oracle 的 Java 平台
对于 Java 平台的所有者来说,拥有 Java 运行的平台才能保证自己的利益,它当然不希望别人去开发自己的运行平台。所以,当开源的 Java 运行平台 Harmony 在 Apache 协议下出现的时候,Sun 并不是很高兴,当时没有出现大的冲突可能是因为这个平台还不成气候。Google 的 Dalvik 虚拟机大量采用了 Apache 下的 Harmony 代码,目的很简单,Google 要做一个自己掌控的手机平台,自然不会把关键的软件运行平台放在其它公司手中,所以 Google 重新编写了虚拟机。另外个开发 Dalvik 虚拟机的原因是当年 Google 和 Sun 没谈成关于 J2ME 授权的事宜。因为 Sun 当然是想通过授权来获取巨大的商业利益。虽然 Sun 说 Java 是开源的,但他们狡猾的在移动平台方面没有加入 Classpath Exception 这条款。(Classpath Exception 简单来说就是可以让开发者自己定义授权协议申明,而不会被捆绑到 GPL 授权协议)。但 Google 没有也不可能接受 Sun 的要价,所以雇佣了一批前 Sun 的 Java 开发者,绕过 Java 的版权限制,开发了和 Java 虚拟机不兼容的 Dalvik 虚拟机。其实笔者倒觉得接近于 J2SE 的 Android 平台更适合于现代的移动平台。反观 RIM 的开发平台是基于 J2ME 的,难看的界面元素和平庸的编程 API 极大限制和打击了黑莓开发者的信心。在编程语言上,Google 选择的是 Java,因为 Java 在手机行业毕竟有着基础,通过采用一个大家都熟悉的语言,可以迅速吸引大量开发者。总的来说,Google 的手机系统不是 Java 虚拟机,但是用 Java 编程,通过将 Java 编号的程序转换成可以运行在 Dalvik 虚拟机的代码这种方式,建立了自己的手机平台。
Update:
就在我撰写此文时,Google 发言人 Aaron Zamost 带来了 Google 的官方回应:
我们知道 Oracle 起诉我们和开源的Java社区了,我们对此很失望。开源的 Java 社区并不是单单一家公司可以控制的。我们强烈维护开源标准,我们会和行业里的其他人一起发展 Android 平台。
图片来自 BGR

估计Google要出血一把了..
Android的gava的确不是特别厚道.
JAVA不是实际由JCP控制的吗?
Android为什么不开放C++ API呢?C++程序员的数量也很多啊
当初开始建立Dalvik的时候就应该会想到遭到诉讼,google应该想好了应对之策,但还是觉得把一个系统绑在一个别人控制的平台,有些冒险。还是挺C++,按理说C++应用程序开发应该比Object-C要更加容易和广泛些
C++可比Objective-C复杂多了,C++要是简单的话也就不会有Java了
用Java还是因为Java民工多一些
软件质量啊,软件质量
用java的话,就要用无穷无尽的硬件来满足被虚拟机吃掉的性能,但是电力能撑住么?
为啥nokia反倒成为智能机的电力典范?无他,C++带来的软件高性能,无需高耗电的芯片处理能力
有啥用啊,直接用汇编更快,更省电。。。。
更高级的抽象,更简单的语法,更方便的操作,才是趋势
Symbian C++更是恶心的典范,开发者的梦魇
现在有了Qt还好,没有之前,也就Nokia凭着垄断地位将开发者折磨的死去活来。
我是回你ls的
应该是ls的ls
ifanr的层次真绕
C++仅仅是一个语言,不是一个平台,没有API
我回的是tsang
对于游戏,各大平台基本都有原生的C++支持,android有NDK,Palm有PDK,Symbian和iPhone不用说,好像除了黑莓都支持。
对于应用,iPhone用object-c的cocoaTouch,Palm用html,js,css的Mojo,android的UI Framework叫什么我不清楚(好像没有专门的名字),是用Java,黑莓貌似用J2ME,Symbian原来用的symbian自己的UI库还有自己的C++, 现在有Qt。
用各种各样的语言都没什么问题,现在的机器绝对扛得住。
google的dalvik难免侵犯sun/oracle的java专利,毕竟买的不如卖的精,当初sun可能已设下专利陷阱,不然microsoft不会大出血16亿,看来google为android免不了大出血,不然他也不会推出go语言。这件诉讼的获益者可能是第三者-microsoft,特别是其wp7。
Google重写JRE的原因很简单:J2ME不可救药的烂。
Oracle把Google逼急了换PY也不是不可能的。
换py就太好了,我们这些java hater的福音
那真是福音,py好啊。
CPP也不太可能是Google的优先选择。刚出狼窝,又投虎口?
1、android使用了java的语法,但是编译出的并非标准的java code。这个确实是有侵犯专利的嫌疑。
google这么做是为了性能,java也不反对任何第三方虚拟机,但是前提是要符合java标准。google显然是违反了。
2、apache授权的虚拟机,会导致具体产品,不受sun控制,也不受开源社区约束。这个确实会导致java的分支化。我想,如果是GPL的,oracle也不会这么提出来了。可以自己介入进去获利。
dalvik大量采用了开源的harmony harmony是在apache协议下发布的java se5的开源实现 得到了 sun的授权 所以dalvik不一定要定义为侵权。。sun的策略是这样的 一方面在java se采用gpl协议 吸引开源社区 它甚至加入了自由软件协会 一方面买java me的授权 gpl协议是最严格的开源协议 如果厂商使用gpl协议 就必须把自己修改的或添加的代码全部公布 所以厂商都不愿意采用 宁愿去买java me…sun的确很聪明 但是后来开源社区利用java se5做了个harmony..因为是基于gpl的java se sun虽然不爽也无话可说 况且跟jave me没有竞争 而google鼓捣了一下直接用到手机上 如果sun不被收购估计也要告它 oracles更是一向对开源不爽 收购sun之后先把solaris干掉 又威胁opensolaris…所以告google简直太一定了。。harmony分化平台但是sun是允许的 只要你不搞手机 gpl协议oracle是绝对不干的 对它毫无利益
apache协议也是开源协议 所以没有不受控制的说法 问题在于dalvik基于什么协议 它是部分使用harmony..java se是gpl 只要harmony公布代码就可以随意更改 所以dalvik使用apache下的harmony 如果也采用apache协议就没有侵权问题 但它可能有其它代码侵权..所以说很复杂 dalvik不可能采用gpl吧 这会吓跑商家
参考一:
http://www.roughlydrafted.com/2010/08/14/how-oracle-might-kill-googles-android-and-software-patents-all-at-once/
这个作者提出了一些有趣的观点:如oracle并非自由软件的敌人,相反它在支持自由软件;oracle对google攻击的目的不是专利费,是毁掉android,如果android重写代码,将是对平台一次巨大的打击,而得利的很可能是windows phone7;今年下半年verizon将销售包括在iphone在内的其它平台手机,google面临的麻烦对自己可以说是雪上加霜;google邀请一大堆sun的技术员来编写虚拟机,其侵权的可能性很大。。。
参考二:
groklaw网站一直关注科技专利方面的官司,要详细了解情况,关注一下这个网站:
http://www.groklaw.net/article.php?story=20100813112425821
以上文章中也提到oracle的头头ellison跟steve jobs是好朋友,这背后是否有苹果的参与留给阴谋论者来判断吧:)
Android不会被毁掉。最坏的情况,Google的工程能力加上法庭上的拖延可以上整个平台向PY转移。但是更可能的还是赔一笔钱。
J2ME就没有能和Google虚拟机下的相比。如果是烂到家的自由软件,那这个自由不要也罢。