收购Sun后,Java前途未卜。悲伤的情绪弥漫在Java开发者社区,关于Java命运的种种猜测,让Java开发者不知所措。被Oracle收编麾下的Java未来会如何,是继续生存发展,还是从此销声匿迹?是保持开源,还是变成Oralce的私有财产?Oracle对Java有什么期望,会采取何种策略,而Java又能给Oracle带来收益吗?
一、Sun被收购,Java将如何?
我是从电视上看到oracle收购sun的消息的,完全是无意中。
晚饭时陪小朋友看《喜羊羊与灰太狼》,趁着广告时间正搜索新闻频道时,一条走马字幕出现在电视屏幕的下方,虽然一闪而过,但早已被我的视网膜所捕获,转换成生物电信号,传递到我的大脑皮层。我的CPU利用率立刻上升到百分之百,就像一个失去响应的Windows程序一样,张嘴结舌,出不得声。
几秒钟之后,我才回过神来。太戏剧性了,Oracle的CEO埃里森真是个人才,如果不干IT,不知道和小沈阳是否有得一拼。多愁善感的IBM和Sun谈得死去活来,正在剪不断理还乱之时,Oracle像个抢亲的王老虎,一不托媒二不下聘,直接一顶花轿抬回家里。恼的是Sun连半推半就都不装一下,喜滋滋点头答应了。这或许是IT界最出人意料的一场收购,不过却非常符合埃里森的风格。
一石激起千层浪,Oracle对Sun的收购,成为这几天最吸引眼球的话题。仁者见仁,智者见智,对于IT界的这件大事,有人惊喜,有人悲伤,有人惋惜,也有人庆幸。我对这些商业并购事件一点也不感兴趣,有一种过目即忘的本能,不过由于事关Java,所以当我大脑可以重新思考时,我想到的第一个问题是:Java会如何?古语云“皮之不存,毛将焉附”,现在Sun没了,Java靠谁?
二、悲伤的java社区
对于Java开发者社区,Sun被Oracle收购,无疑是一件令人伤感的事。Java开发者社区有个特点,那就是这个社区中技术至上者的比例比任何其他社区都要高。他们是技术的超级崇拜者,他们坚信只有技术才是IT界发展的唯一动力,技术是他们一生不变的理想和追求。Oracle对Sun的收购无疑给了他们当头一棒,技术屈服于商业利益之下,不能下蛋的母鸡总会被杀掉,这是商业社会的求生法则。最好的产品不是技术最先进的,而是最能赚钱的。
众所周知,Java并没有给Sun带来多少利润,Sun一直是用服务器硬件和Solaris操作系统的销售收入补贴Java,维持Java的运作。Java不能赚钱,所以Sun被收购,就这么简单。
Java沦落到被收购的地步,让Java开发者颜面无存。很多Java开发者也许从来没有意识到Java的处境,他们看到的是Java的勃勃生机。不断发布的update,热闹的论坛,令人期待的新特性,这些繁荣的假象,让Java开发者对Java充满了盲目的自信。突然有一天,Sun告诉开发者,自己被Java拖累得不行了,还真有点让开发者难以置信。
当然,理智的开发者也预测过Java的未来,他们设想会有一种比Java更优秀的开发语言出现,然后Java的生命力逐渐萎缩,直到淡出人们的视野。这也许是Java最好的结局,像一把老锈的宝刀,功成名就后心满意足地藏锋刀鞘。这样,当人们谈起Java时,只会回忆起Java的辉煌。
可是,预想的结局没有出现,最不想见到的一幕偏偏成为了现实。虽说Oracle的收购更多地是一种商业行为,Sun把Java卖给Oracle,似乎无损于Java技术上的优雅,但不可否认,Oracle的收购无疑给Java添上了不光彩的一笔,一个号称最优雅的开发语言,居然没有给Sun带来收入,这不免让人产生Java不过是个花瓶的联想。
三、Java还有未来吗?
除了伤感,Java开发者社区还有一些实实在在的担忧。最为Java开发者所关心的是,Sun被Oracle收购后,Java还有未来吗?
想想Java的生存模式,这种担忧不无道理。我们知道,Java一直不能赢利,既然如此,Sun为什么不终止Java,而是坚持在Java上的投入?要回答这个问题,我们必须了解Java的价值所在。在Sun时代,Java是靠优雅的内核和不断推陈出新的技术吸引开发人员的,因为java并没有给Sun带来直接的利润,促使Sun对Java不离不弃的,是Java背后庞大的开发者社区,这个集合了业界最优秀的开发人员的社区,是Java最具有价值的资产。
开发者之所以忠实地追随在Java左右,是因为Java能给他们带来最前沿的技术体验,而这种体验,是其他任何开发语言所不能给予的。每隔一段时间,我们总能看到很多革命性的Java语言新特性的出现,这其中包括著名的泛型和枚举。别的不说,笔者正好用过Java的枚举,当时觉得Java的枚举有点复杂,后来慢慢习惯了。直到最近接触了C#的枚举,才发现Java枚举的优越性,相比之下,C#的枚举只能用幼稚二字来形容。
现在,Sun被Oracle收购了,可以预计,在Oracle的商业模式中,Java的价值将更直接地通过Oracle产品销售体现出来,开发者社区的价值将被降低。这种情况下,Oracle在乎的是Java能否支撑它的应用软件,而不是Java对开发人员有多大的吸引力,换言之,在Oracle手中,Java的价值点发生了变化,只要Java能够满足业务需求,Oracle大可不必急着给Java添加什么新特性。因此,Java开发者社区有理由担心,Java的技术更新步伐将变慢,甚至停滞不前。
这样看来,有些Java开发人员所作出的预言,确非信口开河,这些预言当中包括:Java的第7个版本或许永远也不会出现。
四、Java继续开源?
当谈及Java时,我们就不能不提到开源。Java的开源,可以追溯到三年前。2006年11月13日,Sun公司正式宣布,使用GPLv2授权协议开放Java虚拟机和编译器的源代码。对于这一震惊业界的开源举动,Sun公司的解释是为了鼓舞Linux开发者使用Java的热情。这当然是冠冕堂皇的方措辞,私底下,Sun的开源举动,在商业上是一种无奈之举,因为Sun一直找不到Java的盈利模式,但对于Java本身来说,Sun的开源给Java的应用和发展提供一个新的机遇。
首先,Java的开源是顺应潮流之举,在开发者社区赢得了广泛的赞许,拉近了Java和开发者社区的关系,为Java赢得了更多的开发者,进一步提升的Java的潜在价值;其次,正如Java之父Gosling所称,Java开源最主要的原因之一就是加强了Java与开源社区的合作,社区里的人们从修补漏洞到安全审计几乎无所不能。Java之所以在安全性方面如此成功的原因之一,就是有群众的眼睛盯着源代码,而群众的眼睛是雪亮的,任何Bug都无所遁形;再次,开源将Java置于开发者社区的免费测试之下,Sun所要做的,只是提供一种Bug报告和修复机制,作为Sun内部测试的补充,这种测试非常有效而且成本低廉,为Sun节省了大量的人力资源。最后 ,也是最重要的一点,开源既提升了Sun的企业形象,也提高了Java的知名度。
Java的开源,在商业上的功过可圈可点,但在技术上的成就是不可否认的。Java开源两年多来,推出了很多极具创意的新特性,既保持了Java的优雅,又给Java语言赋予了更强大的功能,这一切,开源社区功不可没。
现在,Oracle收购Sun之后,Java还会继续保持开源吗?
五、Oracle的策略
Java是否继续开源,说来也简单,无非三种可能。
第一种可能,Oracle延续Sun的政策,继续保持全面开源。如果Oracle对Java开源持这种态度,则说明Oracle重视Java的潜在价值,也就是Sun花费数年心血构建的,围绕在Java身边庞大而忠诚的Java开发者社区。Java开发者看重的是Java的技术领先性,如果Java终止开源协议,势必失去技术更新的后劲,慢慢丧失对开发者的吸引力,因此,只有保持开源,维持技术活力,才能留住开发者,维护社区的稳定。
可是,这样一来,Java如何替Oracle挣钱呢?如果Java还像在在Sun手里一样,只有潜在价值而没有现实价值,Oracle对Sun的收购就部分地失去了商业意义。由此,我们可以猜测Oracle的第二种Java策略,那就是结束开源。结束开源意味着Oracle将把Java收入囊中,成为另一个类似Oracle数据库的产品,由Oracle负责研发、使用和销售。这符合Oralce的收购目的,毕竟此次收购花费了Oracle七十四亿美元之多,如果只能从Sun的三大产品服务器、Solaris和Java的两者中获得现实收益,那么Oracle的这次收购如果不算失败的话,起码也不能称为成功,因为事实证明光靠服务器和Solaris是不能维持收支平衡的。可以说,Oracle对Sun的收购,是赚是赔,全看Java,Java赚则Oracle赚,Java亏则Oracle亏。不难看出,Java的现实价值比潜在价值更符合Oracle的商业利益,因此Oralce可能结束Java开源的合理性也就容易理解了。
如此看来,结束Java开源似乎是一个不错的选择,但是,这只是对Oralce而言,对Java来说,结束开源意味着技术上的阉割。Oracle是一个成功的企业,但Oracle在数据库技术方面,客观地说,阻碍大于贡献。关系数据库技术早在上个世纪60年代就由IBM发明,历经40多年的发展,没有产生任何革命性的突破,20年前我用SQL查询数据库,20年后SQL的语法还是那么晦涩、拗口和丑陋。编程语言从面向过程发展到面向对象,到现在几乎所有语言都具备了面向对象的特征,而数据库依然停留在40年前的水准,业界期盼了多年的对象数据库,甚至理论上都不成熟,更遑论产品化了。如果说对象数据库有技术难度,那么,一个面向对象的查询语言都没有出现,就不是技术原因能搪塞过去的了,态度才是根源。Oracle独领数据库风骚数十年,有着不可推卸的责任。
基于Oracle在关系数据库技术上的表现,Java交到Oracle手里还真让人不放心。可见,开源,Oracle不干,而不开源,开发者不答应,那么,有没有一个折中方案呢?
第三种可能,Oralce也许可以考虑部分开源。现在的Java,没有任何秘密,包括Java虚拟机和编译器在内的所有代码,全部向开发者公开。如果Oracle既想从Java开源中获得好处,又想让Java替自己挣钱,部分开源不失为一种折中方案。保持Java核心代码的私有性,将一些外围技术开源,完全可能达到两全其美的效果。当然,部分开源是一把双刃剑,核心代码的范围多大,这个度一定要把握准确,既不能让开发者觉得Oracle没有开源的诚意,又要保证Oracle对Java的商业主控权不旁落人手,具体操作手法上有相当的挑战性,如果掌握不好,后果可能是赔了夫人又折兵。
六、最好的结局?
如果被收购是命中注定,那么Sun被Oracle收购或许已是最好结局,Java也是如此。
在IT史上,很多优秀技术比Java的命运悲惨得多,商业社会,技术从来就不是主角,只有当技术正好和商业目标契合时,技术才有机会站到前台。Java作为一个不赚钱的技术,在前台已经站得太久,回到后台也不必感到意外。好在,如果我们细数一下Sun的可能收购者,就会发现,与Microsoft或者IBM相比,Oracle其实是最好的买家。
现在,收购尚在进行当中,而收购者和被收购者双方都对收购后的合作计划讳莫如深,不肯透露些许有价值的信息。猜测Java的命运显然为时过早,但是,站在一个Java程序员的立场,我希望Java作为一种优秀的编程语言,能够继续生存和发展,而继续生存和发展的前提,就是Java能为Oralce带来收益,维持Oracle对Java的投入。
当然,这只是我的期望,事情会向着什么方向发展,谁也不知道,甚至Oracle和Sun也不清楚。因此,虽说我是唯物主义者,在这种时候,所能做的也只能是双手合十,宣声佛号:阿弥陀佛!
分享到:
相关推荐
然而,关于API的版权保护问题,业界一直存在着广泛的争论,尤其在著名的甲骨文公司诉谷歌公司的Java版权案中,这一问题更是成为了焦点。 根据提供的文件内容,我们可以从中提取和梳理出以下知识点: 1. API的定义...
oracle 甲骨文 java培训课件 大学java核心培训
oracle 甲骨文 java培训课件 大学java核心培训
甲骨文字典分享.pdf 【知识点1:甲骨文的历史背景】 甲骨文是中国古代的占卜和记录文字,dating back to the Shang Dynasty (16th-11th centuries BC). 甲骨文是中国古代文字发展的重要阶段, marks the ...
JAVA面试题知识点总结 一、 Java 基础部分 1. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答:可以,但只有一个公共类,其他类都不能是公共的。 2. 说说&和&&的区别。 答:&是按位与...
甲骨文是中国古代商朝晚期(大约公元前14世纪至公元前11世纪)的一种文字,主要刻在龟甲和兽骨上,因而得名。它是中国已知最早的成熟文字体系,是研究古代汉字发展、了解古代社会历史和文化的重要资料。甲骨文的发现...
在这个场景中,我们关注的是一个专门针对甲骨文图片的深度学习数据集,这为研究者提供了一个宝贵的资源来探索和提升计算机在识别和理解古代文字方面的能力。 甲骨文是中国最早的文字形式,记录在龟甲和兽骨上,主要...
Oracle公司作为Java的主要维护者,提供了丰富的学习资源,其中包括“core java 甲骨文ppt”。这份PPT资料是Oracle官方针对Java初学者和进阶开发者设计的学习材料,旨在深入讲解Java的核心概念和技术。 一、Java基础...
可进行甲骨文输入的输入法,在word和记事本里输入需要先选择好甲骨文字体,然后进行输入,不然输入不成功
ocp甲骨文认证专业javase8程序员二级考试学习指南 ocp oracle certified professional javase8 programmer ii study guide exam 1z0_809
《基于Yolov5+PyQt的甲骨文图形化检测项目详解》 在现代计算机视觉领域,目标检测技术已经成为不可或缺的一部分,广泛应用于自动驾驶、监控系统、医疗影像分析等诸多领域。Yolov5作为其中的佼佼者,以其高效、准确...
甲骨文MP3自动广播控制系统曲目表 甲骨文广播 MP3自动广播 U盘存100多首曲目表
由于提供的文件内容主要由乱码和不完整的句子组成,这些内容本身并没有直接提供有关“甲骨文字典”的具体知识点。然而,基于文件中的标题、描述和标签,我们可以推断文件内容应该是与“甲骨文字典”相关,这本字典是...
【甲骨文 Oracle Bones】彼得·海斯勒1
本研究主要探讨了API的版权性及其在实际应用中的法律挑战,以甲骨文诉谷歌Java版权案为例进行深入分析。 首先,我们需要理解API的基本概念。API是一组预定义的函数、类和接口,它们允许不同的软件组件之间进行通信...
Java程序设计涉及许多核心概念,包括数据类型转换、方法重载、访问修饰符以及条件运算。让我们逐一深入探讨这些知识点。 1. 数据类型转换与方法重载:在问题1中,我们看到Java编译器如何处理不同数据类型的参数传递...
《甲骨文与中华文明的传承——纪念甲骨文发现一百二十周年》的主题围绕着甲骨文这一中国最早的成熟文字系统及其对中华文明的重大影响展开。甲骨文的发现在1899年,至今已有120年的历史,它是汉字发展史上一个里程碑...
"基于分形几何的甲骨文字形识别方法" 本文主要介绍了基于分形几何的甲骨文字形识别方法。甲骨文是流行于我国古代商朝的成熟文字系统,本质上是一种平面图形,笔画和结构不是非常稳定。很难写难记。已有的编码输入...