GNU/Java的背景分析
GNU/Java的背景分析
毫无疑问,Java是世界上使用最为普及的编程语言。但是,创立Java编程语言11年以来,它的技术实现机密却完全掌控在SUN一个公司手中。针对这种情况,人们多有抱怨。在国际开源社区,许多人不爱“答理”Java编程语言。
国际开源运动势不可挡。Java不开源,就另辟途经。新兴的PHP、Perl及Python开源编程语言出现了,使得Web应用灵便快捷,从而不断侵蚀Java的阵地,另一方面,微软公司的C#语言和.NET平台更是Java应用的死对头。近两年来,这两股力量左右夹攻,导致Java整体的普及优势呈下降(衰减)趋势。
面对这种形势,SUN公司CEO Jonathan Schwarts在今年5月16日召开的“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的)实验就可以开始了”。
软件的企业开发机制和社区开发机制是很不相同的。一种是高度集中化;一种是高度模块化。一种是设定目标,具体实现;一种只是设定一个方向,让它自己不断演化。一种是人工寿命;一种是自然寿命。SUN把Java开源,就是把Java交给开源社区,让它开始新的演化进程。Java的新生,使(引诱)成千上万的编程志愿者,能够进入Java技术的实现代码(世界)中间,修修改改,你一下我一下,会进一步清理(clean up)它,把它逐渐变为一种精瘦而且更为有效率的编程语言。SUN把Java开源,实质上是给予Java语言的第二次新生。SUN把Java开源,是对国际开源社区的巨大贡献。毫无疑问,SUN是当今世界最大的“开源企业”。SUN公司怎么盈利呢?这是人们目前所关心的问题。