GNU/Java的背景分析

GNU/Java的背景分析

毫无疑问,Java是世界上使用最为普及的编程语言。但是,创立Java编程语言11年以来,它的技术实现机密却完全掌控在SUN一个公司手中。针对这种情况,人们多有抱怨。在国际开源社区,许多人不爱“答理”Java编程语言。

国际开源运动势不可挡。Java不开源,就另辟途经。新兴的PHPPerlPython开源编程语言出现了,使得Web应用灵便快捷,从而不断侵蚀Java的阵地,另一方面,微软公司的C#语言和.NET平台更是Java应用的死对头。近两年来,这两股力量左右夹攻,导致Java整体的普及优势呈下降(衰减)趋势。

面对这种形势,SUN公司CEO Jonathan Schwarts在今年516日召开的“JavaONE”大会上宣布,SUN公司将尽可能块地把Java开源。与此同时,SUN公司软件业务执行副总裁Rich Green说:“在6个月内完成Java开源”。SUN公司为什么这么心急?因为,他们感到“时间不多了”,要是Java再不开源,Java就死定了。Java开源可不是一件容易的事情。SUN公司有190个律师,他们夜以继日的工作、检查Java的一行一行的源代码(Java总计约有600万行源代码),如果发现有第三方的版权标志,他们就得一个一个找到相关人员(或组织),逐一加以解决。那么,SUN为什么选择GPL v2作为Java的许可证?这是为了吸引国际开源社区的广大编程爱好者(志愿者),接受Java的“庞大身躯”,参与Java的“减肥”运动。要是Java不采用GPL v2许可证,有谁愿意答理它?Java确实老了,而且得了肥胖症。

SUN公司把Java开源,意义确实非常重大。世界上大多数程序员都使用这种编程语言进行创作、相互沟通。Ubuntu奠基人Mark Shuttleworth说:“把开源Java加入互联网生态系统(Mix),这确实是一个伟大的进步”。他还说:“过去由于没有开源Java,这就是为什么国际开源社区要发明PHP语言的原因。现在这一限制终于除去,有许多(有关Java的)实验就可以开始了”。

软件的企业开发机制和社区开发机制是很不相同的。一种是高度集中化;一种是高度模块化。一种是设定目标,具体实现;一种只是设定一个方向,让它自己不断演化。一种是人工寿命;一种是自然寿命。SUNJava开源,就是把Java交给开源社区,让它开始新的演化进程。Java的新生,使(引诱)成千上万的编程志愿者,能够进入Java技术的实现代码(世界)中间,修修改改,你一下我一下,会进一步清理(clean up)它,把它逐渐变为一种精瘦而且更为有效率的编程语言。SUNJava开源,实质上是给予Java语言的第二次新生。SUNJava开源,是对国际开源社区的巨大贡献。毫无疑问,SUN是当今世界最大的“开源企业”。SUN公司怎么盈利呢?这是人们目前所关心的问题。

实际上,在如何盈利方面,SUN公司与Canonical公司所面对的情况是一样的。SUN公司有数百万的Java“用户”,Canonical公司也有数百万的Ubuntu“用户”,而且两者都在持续高速扩张。那么,用户的“爆炸式”扩张,必定带来技术支持(专业服务)迅速增长的真实需求,这就是商机。如果每个月,每个用户贡献1美金(假定以网络捐助的方式),SUNCanonical公司也不会饿死。1117日,Ina Fried发表一篇题为“GatesVistaLinux及其他”的新闻报道,其中Bill Gates说:“自由软件永远是软件世界的重要部分,正如商品软件一样”。不知Bill GatesSun公司的Java开源作何感想?在开源世界里面,现今又多了一个“小生命”,自由编程语言Java。我们祝愿,Java语言,能够死而复生。