技术开发 频道

专访James Gosling:Java之父看Sun开源之路

【IT168 开源】“开放源代码带来了可信赖、更安全的软件”,这是被人们称为Java之父的James Gosling的观点。现在他依然就职于Sun公司,任Sun公司全球副总裁兼高级研究员,负责软件开发工具的创建,以及把握十多年前他一手创立的Java语言和平台的战略发展方向。


James Gosling


    近日Gosling接受了采访,谈论了Sun将在通用公共授权(GPL)方式下开源Java的决定,谈论了开源软件是否比专有软件更安全,以及IT部门如何才能降低开发成本,还有为什么微软依然主导着桌面软件领域。 

    Java缘何走向开源? 

    问:Sun已经步入开源时代,为什么你会让Java走向开源之路? 

    James Gosling:“对于Java开源有几件事情需要说明。一是为了让人们在绝大多数地方都来使用Java,让人们可以从其他平台和不同的开发技术转向这个平台。 

    我认为最大的理由之一就是我们可以与开源社区的人们达成更多的协作,来完成从补丁修补到安全审核的所有事情。Java具有非常强大的安全性的理由之一就是,我们让许许多多的人紧密关注着它的源代码。 

    我们的确做了大量的测试和设计工作,但是这些工作所带来的效果都比不上让开源界数千双天才的眼睛盯着它并研究它。” 

    问:“但是只是到最近(2006年11月),Sun才宣布将在标准开源授权方式GPL下开源Java。” 

    James Gosling:“很长时间以来,Java的所有源代码已经对所有人开放了。只是到最近才受到授权的约束:“源代码是开放的,但是你不能重新发布未经过测试的自己的任何修改结果给别人。” 

    因为这个原因,我们受到了来自开源社区的很多批评。我直截了当的说,很明显,围绕测试、互操作性和可靠性等方面的市场压力已经很大,以致于以前授权许可方式(即CDDL)中的条款已经没有多大用处,因此我们转向使用GPL授权。” 

    问:“什么时候正式切换到GPL方式下?” 

    James Gosling:“现在正处于实施过程中,预计可能在2007年五月份完成。”

    开源技术逐渐步入企业级领域

    问:“你认为一个开源开发模型一定是更安全的吗?”

    James Gosling:“是的。因为这是你可以信赖一个软件的唯一方法。对于测试工作来说,安全性的测试是一个非常特别的东西,因为不安全的因素往往来自于未知的地方。在你测试前首先应该知道漏洞可能在什么地方,以及设计上是否有漏洞等。对此目前还没有自动化的测试技术。安全缺陷的发现也非一朝一夕之功,不是某个人带上黑色的帽子(作黑客状)然后说,‘好,我要攻击你了’就可以立即攻破系统的。 

    十年前,人们能偶尔攻破Java,但大多数是合作完成的。我们有相当数量的工作人员来发现平台中存在的漏洞,并立即进行修补。实际生活中的攻击一般不是因为一个单一的安全问题而发生的。到目前为止,没有针对Java的反病毒软件,这是因为人们并不需要这样的软件。十多年来,我们遍布全球的专家一直在进行详细的安全审查工作。” 

    问:“不管是一个编程语言还是软件或一个平台,人们都很难将其设计成能预知人们试图攻入的所有不同角度。” 

    James Gosling:“十分正确。因此当你创建测试的时候,测试工作一定受限于你认为的黑客将有可能攻入的方面。你可以建立一个测试来确保阻挡你所知道的攻击技术。而且你也可以想尽办法来阻挡一些可能会攻击进来的新方法。但是你不可能面面俱到的想到所有方面——然而,众人的创造力是惊人的。” 

    问:“你是否认为,随着时间的发展,我们将看到更多的开源技术应用会在企业中出现?” 

    James Gosling:“是的。对于开源和专有技术,事实上现在已经很难说哪一个应用的更多。因为开源技术已经被如此多的应用,从开源操作系统到开源数据库、开源编程语言和开源开发工具,很难说有什么地方开源还没有触及。尽管在某些大规模数据库和ERP方面,还没有真正意义上的开源解决方案,不过开源技术也正在向这些领域发展。”

    企业的最大安全威胁是什么? 

    问:你认为对企业来说最大的安全威胁是什么? 

    James Gosling:“对企业来说头号安全威胁是内在的不可靠和人们的懒惰思想。我们可以使我们的软件尽可能的牢固,但是假若你的机器的没有管理员口令或者非常容易被破解的话,那么任何人都可以进来并登录到这台机器上。 

    令人吃惊的是,有如此多的人只想着让他们自己的生活更简单,而不断的做着与此类似的事情。我们生活中可以经常看到,有的人因为对所有的安全功能感到麻烦,而直接把它们都关闭。还有一些人也做着类似愚蠢的事情,比如他们把自己的客户数据库放在笔记本硬盘上,然后去休假的时候丢失了笔记本,从而也丢失了这些重要的数据。” 

    问:“你认为针对这些责任,IT部门应该制定更严格的策略或规定?或者你认为有什么事情可以用于来使他们更轻松吗?” 

    James Gosling:“我们投入了大量的努力来试图使得这些安全策略,尽可能的让系统管理员可以轻松设置。我们希望可以确保这些设置工作不是一件麻烦的事,这些设置工作不会使IT部门因为感觉麻烦而变懒惰。在Java和操作系统Solaris中有很多这样的功能,可以使人们通过轻松的设置完成安全保护,就如同给它们的机器穿上一件防弹衣。但是某些地方和情况下,人们的懒惰欲望是没有止境的。” 


    Java应用广泛令人惊讶 

    问:“Java技术的第一个例子是被开发应用在消费电子产品上。对于现在Java已经在企业领域成为主宰技术,你感到惊讶吗?” 

    James Gosling:“事实上,Java可以应用于企业领域并不令我吃惊,因为它在很多设计上都是用来处理大规模服务器操作的。但是令我感到惊讶的一点是目前在企业规模中的应用如此广泛。” 

    问:“你能举一个例子来说明令你惊讶的事情吗?” 

    James Gosling:“当你来看一下类似联邦快递之类的公司的时候,会发现它们对于Java技术的依赖。你每通过联邦快递发送一个包裹,都会涉及到使用Java技术的应用。几乎每一次金融交易也都会涉及到Java代码的应用。” 

    问:“你所看到的最有意思的Java技术的应用是什么?” 

    James Gosling:“我对科学方面的事情更感兴趣。目前在火星上漫步的火星探路者计划,其地面控制系统中使用了大量的Java代码。或者世界上最大的天文望远镜——凯克望远镜(Keck),它的控制系统中使用了大量的Java代码——没有比这些更酷的事情了。”

    如何降低软件开发成本? 

    问:“软件开发成本一直在IT预算中占据着大头。有什么希望来降低这些成本吗?” 

    James Gosling:“没有。或许我的答案可能有点令人感到奇怪。我已经花费了我职业生涯中的大部分时间来为开发者创建工具,以帮助他们降低成本。因为这样开发者可以工作的更高效、更高产,这些工作也的确有一定效果。但是假若你看一下现在IT部门的经费投入,会得出一个令人压抑的结论,成本并没有降下来。 

    我发现一个比较有趣的现象。假若你使用了一个好的软件开发工具,它可以让开发者的生活更轻松,你可以更快地完成你的工作。然后管理者说的第一件事情就是:‘哦,你还有多余的时间,再做别的事情吧。’” 

    问:“也就是说IT部门投入了相同的精力,但是做了更多的事情?” 

    James Gosling:“假若你看一下现在IT部门正在做的工作,会和五年或十年前有了很大的不同。那时候没有在线银行,没有在线股票交易,没有在线旅游,与现在环境已经截然不同。随着IT部门处理能力的提高,人们希望通过IT所做的事情也正在迅速的扩展。 

    大多数情况下,IT部门将一直运转在失败的边缘,假若你超出了失败的边缘,那么你就失败了。如果幸运的是你成功了,工作变得比原来更轻松一点了,那时候人们又会说‘我们可以做的更多’。 

    在某种意义上我已经听天由命。在像我这样的工具开发者方面,对IT成本的降低不可避免的就将使IT部门做更多的工作。” 


    开发工具还需增加? 

    问:“看一下现在使用的开发工具,你认为缺少了什么?什么还需要增加?” 

    James Gosling:“人们关注的焦点已经从语言转向了开发环境和编程界面。一门语言就如同一个集中器一样涉及了相关的一切。在过去几年里,在企业软件开发方面,大多数真正有意义的提高在于开发工具,在于集成开发环境(IDE)中。” 

    问:“你认为这是一种好的状况吗?我们需要一个新的语言吗?或者你认为语言已经足够了?” 

    James Gosling:“现在的情况运行的非常良好。现在有大量的语言出现,但是它们大都专注于某一方面的功能,像Ruby和PHP确实非常擅长于制作Web页面。但是只要你超出了这个范围,就会遇到麻烦。对于如此众多的企业应用程序,Web页面只是这些真正应用程序的一种外在表现形式。大多数脚本语言并不能处理高性能、大规模的运算等工作。” 


    影响企业IT的下一个技术创新 

    问:“你认为将影响企业IT界的下一个重大技术创新是什么?” 

    James Gosling:“现在有很多的内容都朝着多线程发展,举个例子来说,根据摩尔定律现在正在朝着多核时代发展,这意味着人们必须逐渐意识到要创建多线程应用程序来满足硬件的发展。” 

    微软的优势还能保持多久? 

    问:“你认为微软能否继续保持其在企业中的优势?” 

    James Gosling:“在将来很长一段时间内,微软还将继续统治企业桌面市场。他们实际在这个领域具有压倒性的优势。令我感到奇怪的是,即使每一个人都在抱怨像安全性之类的事情,你必须要保持你的反病毒软件及时更新。那么为什么我们还要使用一个需要反病毒软件的机器呢?我不理解为什么任何人需要运行Outlook。” 

    问:“你使用什么系统进行开发?” 

    James Gosling:“我在Solaris和Mac OS X之间来回切换,它们都是真正安全的操作系统。它们具有真正的可靠性,不会崩溃。工作起来相当不错。” 

    问:“除了桌面领域,微软还在什么方面有优势?” 

    James Gosling:“他们在企业服务器领域没有和在桌面领域一样的压倒性优势。不过他们利用其桌面市场的优势来带动在服务器领域的发展。在这一方面他们的工作还是有些效果的。” 

    问:“你怎么看待Vista?” 

    James Gosling:“我更倾向于远离微软的软件,因为我不想被它毒害。我并非一个Vista方面的专家,但是它会让我感到厌烦。微软在其中加入了一些特效,除此之外它更像是一个花费了大量金钱制造出来的垃圾。”

0
相关文章