重磅鱼雷”Java:曾是Sun博弈微软筹码

2023-10-20 03:59

本文主要是介绍重磅鱼雷”Java:曾是Sun博弈微软筹码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

“麦克尼利装备有当今IT领域最先进的武器——Java。在他身后站着一大排IT业的重量级选手:IBM、甲骨文、网景和苹果。这些人多少和他一样都对那个庞大的帝国抱有几分怨恨和恐惧。他们计划用Java这颗网络世界的重磅鱼雷去击沉微软的旗舰——Windows操作系统,至少也要挫挫它的锐气。”上世纪90年代中期,有媒体这样评论Sun公司的Java。

重磅鱼雷”Java:曾是Sun博弈微软筹码  <b>穴居人符号的启示</b>   穴居人符号的启示 
  “多年来人们都梦想能找到一门电脑通用语言。我们从穴居人刻在洞壁上的符号得到启示,并实现了人们的这一梦想。”Sun创始人斯考特·麦克尼利这样评价Java。

  Java的开发目标是绕开电脑,设计一个在任何设备上都能运行的软件系统。在起初的几年里,Sun想把它固化进芯片中,目标设定为家用电器等小型系统的编程语言,来解决诸如电视机、游戏机、电话、闹钟、微波炉、烤面包机等家用电器的控制和通信问题。Sun曾与三菱、法国电信、华纳等一大批公司接触过,但无一家公司对此感兴趣。

  蹉跎几年后,互联网大潮兴起,Sun看好互联网的广阔应用前景,准备将Java转向互联网。麦克尼利决定换一种方式来推广Java,即对任何非赢利性使用都免费,对赢利性使用也只是象征性地收一点钱。

  当时微软最头疼的竞争对手网景的创始人安德森看过后,发表评论说这是无可争议的新技术,随后花了75万美元买了Java牌照,与自己的浏览器一起免费在互联网上发放,随后就有数百万台联网电脑有了支持Java的浏览器。网友们激动不已,很快就有数以百计的、采用Java语言编写的软件出现在网络上,演示出各种各样的小动画和游戏。这在今天也许不算什么,但在1995年之前,互联网的页面是非常单调和苍白的。

  互联网因Java而变得灵动起来,Java之父詹姆斯·戈士林曾说:“在Java问世前,人们看互联网时,网页就像一张纸。有了Java之后,浏览器就变成了一台大型机。”

  “茶烟一缕轻轻飏,搅动兰膏四座香。”Java开始得到业界的广泛支持,麦克尼利四处奔波,签署了一个又一个Java授权合同,包括甲骨文公司和IBM都表态支持。到了1995年末,Java就有了约800万名用户。

  《时代》周刊称:“虽然今天Java还只是对程序开发人员有意义,但在今后的几年里,它也许会改变整个IT产业的生态系统。”

  起初,盖茨对Java不屑一顾,他把Java技术不屑地贬低为“不过是另一种编程语言”。但随后,微软经过综合考虑,认为当时最要命的“敌人”是网景。1995年12月7日,微软在对网景宣战的同时,对Sun示好,许诺要把Java运用到微软的新版浏览器中。微软决定购买Java技术许可证,每年向Sun缴纳350万美元的使用费,为期5年。

  《Bad Boy Ballmer》的作者Fredric Alan Maxwell描述:Sun谈判人员阿伦·巴拉茨称,Sun是“在假设微软的行为会像一个守法的法人公民的情况下与之谈判的,因此发放许可证给他们是正确的事情”。

  无论如何,微软的认可,让Sun的Java得以在更大范围内得到推广。整体而言,Sun收到的Java授权费,和其投入相比很有限,但Java为Sun带来了荣耀,带动了Sun的服务器和操作系统的销售。

  到了上世纪末,Sun的市场总值一度攀升到2000亿美元的高峰,股价高达每股247美元。美国《商业周刊》曾评价说:“Sun这颗星从没有这般明亮,麦克尼利网络计算的理念从没有这么近于实现。”

  誓与微软争锋的麦克尼利志满意得地说:“我们就是.com前面那一点。”

  “被污染的版本”

  “这可把我吓坏了。我不清楚微软的操作系统要为Java的客户应用程序代码提供什么样的东西,而这些东西将足够让它来取代我们的市场地位。了解这一点非常重要,这是应该最优先考虑的事情。”1996年9月的一天,盖茨给微软浏览器部门的主管艾达姆·波茨瓦斯盖茨这样回了一封邮件。

  原来,波茨瓦斯当时在邮件中提醒盖茨注意一个正在形成的威胁,他写道:“必须意识到Java不仅仅是一种语言,如果它只是一种语言,我们愿意并且能够容易地为它建立最佳的表现形式,事情可以圆满解决了。但是事实上,Java绝不仅仅是一种语言,它是COM的替代者!”他还说:“我们首先必须承认Java正在与COM相竞争,然后想出对策,而不只是把头埋在沙子中逃避问题。”

  COM是Windows的编程模型。波茨瓦斯提出了对抗Java的方法,就是悄悄地为Java提供某些扩展,使得用Java编写的程序能够在Windows中工作得更好,但是在其他平台上却不能运行。而Sun原来对Java的定位是“只写一次,就可以在任何地方运行”。微软采纳了波茨瓦斯的建议,微软安排了大批程序员,按照自己的构想进一步研发Java。

  1997年10月,Sun开始起诉微软,称:“被告微软没有履行合同中规定的责任,而是逐渐走上了一条蓄意破坏和分裂已经标准化了的Java技术的道路。”

  麦克尼利给《华尔街日报》写了一篇稿子,指责微软改变了Java语言,然后向市场提供一个“被污染的版本”。

  Sun希望法庭下令微软停止不恰当地使用“与Java兼容”的商标,不要误导广大的开发人员。Sun称,在自己与微软签订的合同中,明确规定微软开发的Java应用软件应该通过Sun的兼容性测试,而微软最近的一些新软件没有实现这一点,因此Sun将停止向微软供应Java新技术,并向微软索赔3500万美元。

  微软的发言人认为Sun有些疑神疑鬼,微软在自己的用户应用操作手册中,对各种应用进行了清晰的说明,用户不会被误导。鲍尔默评价麦克尼利“偏执”,所言与现实有偏差。

  麦克尼利表示:“在冰球比赛中,你要努力激怒最好的赛手。努力让他们离开比赛。因此,在你受到来自对手的讥讽时,这不会打击你,这是在激励你。当史蒂夫·鲍尔默称我是疯子的时候,我认为这是一种恭维。”

  当然,麦克尼利也以自己的方式在恭维微软,一次他在做公开演示的时候,试图让他的狗在微软的标识上撒尿。

  微软也对Sun进行了反诉,在长达35页的诉状中,微软称Sun没有履行当时的承诺,破坏了合同中承诺过的以诚相待和平等的原则。微软说Sun在与自己签订合同后,野心比以前大了很多。

  1998年11月17日,法庭做出一审判决,认为微软明显地违反了它与Sun达成的技术合同。这只是一审,双方继续缠斗。

  2000年5月,美国法院裁定Sun和微软之间的Java之争属于合同纠纷问题,而不是性质更严重的侵犯版权问题。2001年1月23日,Sun与微软宣布两家公司达成了和解,微软将向Sun支付2000万美元,同时和解协议包含以下内容:微软不得在本公司的产品中使用Java兼容标志;微软可以继续提供使用了Sun的Java技术的现有产品(包括测试版),其目的是保护已经向微软的产品进行投资的开发商和消费者的利益,微软将不得使用除此以外的方法销售及发布Java技术。

  麦克尼利称:“这对接受本公司技术许可的公司和消费者来说是一次胜利。社会呼唤一个Java、一个商标、一个程序和一个平台。”

  微软公司诉讼问题副法律顾问Tom Burt表示:“此次和解将不会对我们的顾客和现有产品产生影响。我们将把时间和资源花费到软件开发上。”

  Burt的这番话显然是有底气的,因为微软已在推出一个针对Java的计划:.net。

  针锋相对擂台赛

  “现在这里有两个阵营,一方是死星上的雷蒙德(微软总部所在地),另一方就是我们起义者。”麦克尼利模仿《星球大战》的对白,这样表示。他还说:“干掉微软!这是我们的第一要务。”

  针对微软2000年推出的.net,麦克尼利大加嘲讽,他笑话微软的.net是“.not”,是个笑话。

  比尔·盖茨说过:“.net是一项以公司的命运为赌注的赌博,微软公司的全部战略也是围绕着.net平台而制定的。”

  本着凡是敌人倡导的就反对的原则,麦克尼利将炮口对准了.net。2001年下半年的一天,他说:“Sun坚持中立,而不是一家垄断的态度,网络授权市场需要建立一个健康的竞争机制。”

  在2003年6月13日的Java大会上,在业界团体规模、选择范围、安全性、品牌知名度等方面,他谈到了Java与.net的比较结果:“Java在稳定性、用户数量、性价比、平台适用性等方面出类拔萃。而.net在大多数项目上连及格都达不到”。麦克尼利总结道:“Java是‘优秀毕业生’,.net是‘留级生’”。

  曾有媒体称:“在计算机软硬件市场,微软很像一个巨大的彩饰陶罐,几乎所有的公司都想将棍棒击打过去,将它打破,乘机捡到最有价值的一块,但是大多数公司最多只能有幸地在上面留下一点点痕迹而已。而Sun则不同,它拥有一根最大的技术大棒——Java。”

  麦克尼利与盖茨不仅在美国斗得很起劲,还把角逐的舞台设在了中国。

  2003年2月,在中国首都机场高速公路边的广告牌里,新增加了微软.net的身影,这块用红、绿、蓝、黄的“微软色”所装饰起来的广告牌从一个侧面显露了盖茨中国之行的目的。

  访华的第二天,盖茨在一场演讲中用10分钟的时间演示了.net技术在软件厂商金蝶产品中的应用,整个过程包括了手机短信审批、工作流驱动、多语言、角色协同、预算控制等。当日下午,微软举办的亚太区高校学生.net开发大赛也在北京决出了胜负。

  麦克尼利在盖茨离开北京两周后,也到访中国,他在北京召开记者招待会,展开舆论攻势,对微软战略及.net予以抨击。

  Sun在市场上炙烤微软的同时,还再次拿起了法律武器,挑战微软。

  和解前的厮杀

  2002年3月,Sun以“微软妨碍Java平台的普及,并发布未获授权的Java支持产品”为由,再次控告微软,称其违反美国反垄断法。

  “网络标准现在是公开的,我担心微软将修改网络标准,从而使微软产品与互联网架构不可分割地结合在一起。”麦克尼利在一次大会上对Java软件的支持者们说,“我想提请大家注意,现实世界存在着一种危险:垄断巨头企图劫持公开的应用程序接口。”他还说,在反对微软企图控制网络标准的战斗中,程序员们处在战斗的最前线。他对与会者大声疾呼:“我需要你们的帮助,人类需要你们的帮助。”

  2002年6月,微软干脆称从2004年起,因为安全原因,微软Windows操作系统将不再支持Java语言。

  就在双方口水战逐步升级的时候,迎来了诉讼案的第一次听证会,听证会原计划安排在2002年12月的第一周,当时,巴尔的摩市下了一场暴雪,整个城市几乎陷入瘫痪。但弗雷德里克·摩兹法官坚持要求开庭,并要求数十位律师到场出席。据称,为了保证早上能按时到庭,法官在会议室中睡了一晚。

  2002年12月23日,摩兹法官在判决书中这样说:“在微软的垄断下,Java拥有一个并不健全的市场,比如说,大部分PC上所安装的Java软件要么就是旧版本,要么就是仅适用于Windows的版本,这使得其他软件开发者对Java平台产生了厌恶的情绪,这些都是因为微软反竞争行为的结果,看来微软已经利用了Windows的垄断地位来破坏Sun对Java的销售渠道。”法庭做出了认可Sun主张的判决,要求微软必须在Windows中立即嵌入Sun的Java技术。

  作家Merrill R.Chapman曾这样评价:“对微软来说,摩兹法官判决在Windows中放入新的Java,在技术上等于在一碗新鲜的马铃薯沙拉中发现一只又大又黑的死苍蝇。”微软当然不能忍受,它随后以“此判决对自由市场行为造成了不必要的干涉”为由,于2003年2月提起上诉。联邦法院在2003年6月26日做出终审判决,支持地方法院此前做出的微软侵犯版权的判决结果,但驳回地方法院要求微软在Windows中嵌入Java技术的决定。

  在此期间,Java之父詹姆斯·戈士林指责微软“用了很大力气,让大家在桌面上看不到Java”。

  反垄断律师迈克说,微软和它的对手打了太多的口水仗,微软从战略性的角度考虑,可能发现这是愚蠢的,这容易被公众看作是恃强凌弱。

  微软开始向Sun伸出橄榄枝。2004年4月2日上午9时,在旧金山王宫酒店举办的新闻发布会上,麦克尼利与鲍尔默握手言欢。作为一种和解象征,双方还交换了底特律红翼职业冰球队的球衣,两人都是该球队的球迷。

  麦克尼利在会上说:“我首先给鲍尔默打了个只有两三分钟的电话。我说:‘嘿,现在是大家停止抱怨,开始协作的时候了’。鲍尔默非常赞同我的观点。然后,我说,总得找点什么东西玩玩吧。于是,我们一起去打了高尔夫球。回来后一起吃了晚饭,接下来就开始认真交谈,直到次日早上4点15分,这份协议就出来了。”

  发布会上,有人问麦克尼利:“是不是从今天凌晨4点开始,你就不再给微软起各种各样有意思的外号了?”麦克尼利回答:“我说不好。我会尽量乖一点的。”

  太阳落去,Java仍火

  “这将是IT历史上影响最大的并购,两家‘血统’千差万别的公司的命运,因为两个硅谷斗士偏执、复杂的情感交织而牢牢系在了一起。然而,‘太阳’不会陨落,IT行业的另一个庞然大物正在粉墨登场。”《中国计算机报》2009年4月曾这样评价甲骨文并购Sun公司。

  甲骨文公司首席执行官埃里森称“Java是我收购过的最重要的软件资产,没有之一!”

  “沉舟侧畔千帆过,病树前头万木春。”虽然Sun已经离去,但Java还会继续前行。(作者姜洪军,本文摘自《十年蹉跎:微软王朝危机》一书,科学出版社出版)

  《i风云》记者手记

  联盟下的战略缺口

  “和微软合作有很多的条件。而不管什么公司,只要与微软合作,他们自己都会受到很大伤害,自己公司的规模就会变得越来越小。”上世纪90年代,麦克尼利曾这样恨恨不平地说。

  因此,“别与微软合作”成了麦克尼利的口头禅,在一次IT界大会上,麦克尼利向与会者展示了Sun的新产品,当需要输入口令时,他告诉观众,口令是:“Say No2NT(对NT说不)”。

  可是视微软为仇敌的Sun在自己的发展历程中,尤其是在Java上,多次与微软合作。这里不得不提到管理学家泰吉和奥兰德提出的战略缺口理论。他们认为,企业在分析竞争环境和评价自身竞争力时,经常会发现,在竞争激烈的环境中完全依靠自有资源和能力取得的战略业绩与其战略目标之间存在着一定的差距,即战略缺口。这个缺口在一定程度上限制了企业完全依靠自有资源和能力的自我发展之路,因此,战略联盟成为企业“填平”战略缺口的重要手段,通过联盟各方的优势互补,可以实现各自的战略目标。企业的战略缺口越大,参加战略联盟的动力就越大。

  管理大师彼得·德鲁克也把企业联盟看做“从不协调中创造协调的最灵活的手段”。可是“途中遇到的伙伴,不一定是同路人。”Sun与微软在发展Java上,双方的战略意图并不一样。微软CEO鲍尔默当时对《纽约客》杂志说,那些认为Sun与微软公司战略利益十分吻合、“智商低于50”的Sun成员“不是不了解情况、过于荒唐就是睡着了。”

  Sun认为自己是Java的规则制定者和坚定的维护者,它对外宣称,微软在获得其授权时,曾与之达成协议,微软有义务支持Java的发展,而不是削弱它。Sun是参考了前车之鉴的。软件史上的著名的UNIX软件就是因为不同厂商开展自行其事的研发而四分五裂。

  Sun与微软在时而联盟、时而敌对的状态下演完了Java传奇的第一幕,而最新的、正在上演的一幕是接手了Java的甲骨文与谷歌之间的恩怨情仇,谷歌曾是推动Java发展阵营中的主力,和甲骨文曾联手对付过微软,而今天,甲骨文则称谷歌侵犯了其Java专利,正展开你来我往的诉讼大战。

《中国计算机报》

这篇关于重磅鱼雷”Java:曾是Sun博弈微软筹码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244502

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

poj2505(典型博弈)

题意:n = 1,输入一个k,每一次n可以乘以[2,9]中的任何一个数字,两个玩家轮流操作,谁先使得n >= k就胜出 这道题目感觉还不错,自己做了好久都没做出来,然后看了解题才理解的。 解题思路:能进入必败态的状态时必胜态,只能到达胜态的状态为必败态,当n >= K是必败态,[ceil(k/9.0),k-1]是必胜态, [ceil(ceil(k/9.0)/2.0),ceil(k/9.

hdu3389(阶梯博弈变形)

题意:有n个盒子,编号1----n,每个盒子内有一些小球(可以为空),选择一个盒子A,将A中的若干个球移到B中,满足条件B  < A;(A+B)%2=1;(A+B)%3=0 这是阶梯博弈的变形。 先介绍下阶梯博弈: 在一个阶梯有若干层,每层上放着一些小球,两名选手轮流选择一层上的若干(不能为0)小球从上往下移动,最后一次移动的胜出(最终状态小球都在地面上) 如上图所示,小球数目依次为