最初,Java作为一个实验室项目,因为投标美国数字电视项目失败几乎被打入冷宫,但是因互联网的兴起而复活。十几年来,Java一直是被使用最多的语言,在10月编程语言排行榜上,Java也占据着王者的位置。但是Java风光的背后却充满了混乱的喧嚣!很多人认为这是Oracle收购Sun之后的阵痛,但是在很多年以前就有一篇介绍Java混乱的文章:Sun和BEA一直在博弈是否合作推出SOA框架(虽然Sun和BEA最终合作了,但是这两个倒霉蛋都在自己logo上面加上“Oracle”的字样);社区在为EJB与非EJB吵吵嚷嚷;纷乱的框架让开发者烟花缭乱,而这些框架又在诋毁对手……弹指一挥间6-7年过去了,眼前Java的混乱却一直都没有停止过,Java世界里面到底发生了什么?

潘多拉的盒子——失控的源代码
开放源码的精神在于使用者可以使用、复制、散布、研究、改进软件。开源世界里最重要的一项技术便是我们熟知Java技术。Java技术在一开始就定位在“跨平台、动态的Web、Internet计算”这个位置上。为能使Java比晚自己六年出现的.Net更具活力,前Sun公司在2006年11月正式宣布开放Java的源代码。Sun可能没有想到,从这一刻起,Java的混乱局面像开启的潘多拉盒子不可收拾。IBM在第一时间就表示了自己的反对,IBM“建议”Java的开源应该走Apache的道路。为什么会这样呢?在开源世界里谁贡献更多的源代码,谁就拥有了这项技术话语权。前Sun公司对Java开源循序的是GPL是开放源代码的方法,即Sun把Java贡献给JCP和开源社区,开源社区的开发者可以贡献自己的源代码,而使用Java开发产品的厂商在产品面世时也要公开自己的源代码。这种错综复杂的关系让开源社区、各个厂商、Sun以及后来收购Sun的Oracle在Java的世界里争得面红耳赤,像Oracle与Google之间的版权纠纷其根源也是源于此。

“开源”开启的潘多拉魔盒给Java带来的是灾难还是希望?
|