开源培养出可靠而且更安全的软件。–这是Java之父James Gosling的看法。他目前依然在Sun从事软件开发研究工作,并在调校他十几年前所创造的语言和平台的发展战略。
Silicon.com最近有机会与Gosling就Sun决定发布GPL(通用公共许可)下Java的决定,开源是不是比专有权软件更安全,IT部门如何缩减开发成本,以及微软为什么依然把持桌面系统市场等问题进行了探讨。
Sun开始接纳开源软件。您为什么会对Java敞开大门?
Gosling:之所以选择Java是因为有多种原因。其中之一就是要让人们在很多场合使用Java,让人们为平台和其他一些设施上开放端口。
最主要的原因之一就是我们与开源社区的合作更多了,社区里的人们从修补漏洞到安全审计几乎无所不能。Java之所以在安全性方面如此成功的原因之一就是我们让太多的人能够看到源代码。
我们做过大量的测试和设计工作,但是没有什么工作能够比得上让几千双精干的眼睛一起盯住软件,共同思考。
但是直到去年十一月,Sun才宣布将发布GPL下的标准开源许可Java。
Gosling:很长时间以来,Java的源代码是属于任何人的。直到最近才出现了许可。许可中说:"源代码公开,但是在通过测试之前,不得将自己所进行的修改对外发布。"
为此我们遭到了开源社区的猛烈批判。我们认识到围绕测试、互操作性和可靠性的市场压力相当大。许可中的条款没有什么用。于是我们换用GPL许可。
"对于企业来说最大的威胁来自人性天生的不可靠和懒惰"
什么时候会转换到GPL?
Gosling:我们依然处于实施阶段。我们期望能在五月份全部完成。
你是否相信开源开发模式天生具有更高的安全性?
Gosling:是的。因为这是能够信任某个软件的唯一方法。安全是很难进行测试的。因为你不会测试你的设计作品是否安全。你必须这么做,必须找出是否有裂缝?设计层上是否存在缺陷?而且没有自动测试技术。一切都无法替代那些戴上黑色帽子的人,他们说:"我来试试。"然后他们就那么做了。
10年前,人们出于合作精神而偶尔涉足Java。我的有些同事发现了缺陷,我们马上就进行了修复。从来没有发生造成实际损失的安全问题。世界上没有Java防病毒软件,因为根本就不需要。全世界的专家们为我们详细审查了12年。
对于设计语言、软件和平台的人来说很难全方位的预计到别人的闯入方式。
Gosling:的确如此。因此在设计测试时,测试定会受到你所预想的人们闯入方式的限制。你所设计的测试能够阻止任何你已知的闯入方式。你可以坐下来考虑新的闯入方式。但是无论如何你的想法都不会比外面数以千计急于在博士论文中添上一笔的研究生们的想法更有创造力。
随着时间的继续,是否会看到更多开源技术在企业领域中的应用?
Gosling:是的。从开源操作系统到数据库,从编程语言到开发工具,有一个临界点就是已经有很多人在使用,所以很难设想有更多人使用的情况。现在正在接近这个临界点。 有些领域,比如大规模数据库和ERP还没有严格的开源ERP解决方案。开源社区正在向这一领域努力。
您认为对于企业来说最大的威胁来自哪里?
Gosling:对企业来说头号威胁当属人与生俱来的懒惰和不可靠。我们能够把软件设计的天衣无缝,但是如果有人说设备的根密码"完全无关紧要",任何人都能够进入并登录设备。
你要知道有多少人会为了省事做类似的事情,一定会大吃一惊。世界上到处都有关于IT的操作,企业员工对安全措施厌烦了,就会一关了之。
甚至他们可能会做相当傻的事情,比如他们会在笔记本电脑中保存企业客户数据库,并在度假期间将笔记本电脑遗失。
你认为要推行严格的安全政策,主要责任在IT部门吗?您觉得时候有什么方法能够减轻他们的工作?
Gosling:我们投入了很大精力来使安全政策尽量易于管理。我们希望能够确保安全政策不要过于繁重,不会导致IT部门的怠工。
Java和Solaris (Sun的Unix操作系统)总有多内容,都是要使铜墙铁壁般的系统更容易使用。但是在某些场合,对人们的懒惰没有限制。
Java技术的第一个实际应用是为为消费者电子学进行开发。 你对Java抓住企业机会的方法感到惊讶吗?
Gosling:Java能够用于企业开发并不让人吃惊,因为其本身就是专为处理大规模服务器操作而设计的。倒是企业对Java的接受程度让我有些吃惊。