不出外界意料,oracle宣布支持red hat linux(即oracle公司可为使用red hat公司的linux操作系统用户提供技术支持性质的服务,oracle所收的服务费用要比red hat少的多,当时引起了red hat股票下跌)。一时间在国内外引发各种议论,似乎难辨oracle对red hat的“支持”是善意还是恶意。我认为,oracle如果未取得red hat的授权,oracle是难以对red hat的linux用户提供支持的,如果硬要提供支持,也难保用户安全的。其原因是oracle并没有掌握red hat的工程化实现技术。
人们常常误解(看来也包括oracle的一些决策者在内),似乎red hat linux在执行自由/开源软件gpl许可协议后,其源代码将全部公开,任何人都可从网上自由下载、自由使用、自由修改、自由发行;oracle是全球第二大软件公司,具有强大的技术实力,它在“充分了解”red hat linux业已公开的全部源代码后,似乎可以单独向red hat linux用户提供支持,认为这是轻而易举的事。
因为这个问题涉及到对自由/开源软件一些基本概念的认识,我认为我在这里必须说清楚。我过去曾多次谈到在开源软件中存在工程化实现技术问题,这是一种专有技术、隐性技术和工程经验,它是并不公开的,其中含有技术秘密与商业秘密(google资深专家现身说法同意我的看法)。
我曾引用国际it评论家matt asay的一段话:“人们可以得到red hat公司企业级linux发行版的全部源代码,但它直接交付给用户使用的二进制版本(即所谓‘ready to go’版本)并不是这些源代码编译的结果,其中存在着一些差异,这就是商业秘密。”
我经过长期考察后发现,开源软件发行商的linux内核发行版其源代码或其二进制版本的源代码,与其必须遵循的由linus torvalds负责开发和监护的官方(offical)“内核主线”版本公开的源代码之间存在3-5%的偏差(这不光是red hat, 也包括novell和其他linux发行商,他们均以把握这个偏差的能力来作为其开源品牌创优的条件),今年6月16日, 我在与linux内核2.6版本监护人andrew morton讨论时,他向我确认上述偏差的存在(其偏差程度也获得允许),并明确指出形成偏差的原因并不是由于“挑错—纠错—打补丁”的方式所致,而是“基于其工程技术/工程经验,实现创优”所致。
再者,由于fedora(开源社区)/red hat(开源企业)对其linux掌握了顶层设计,他们除公开全部源代码外,尚把握很多隐性技术、积累很多工程经验,他们在“挑错、纠错、打补丁、改进或升级”(这也是“支持”的重要内容)过程中,自然也要比诸如oracle这样的企业要提前一个“时间差”(一般估计为6-8个月),oracle将落在后面来“支持”,这时“支持”的安全性也就值得商榷了。
除此之外,为提高linux的稳定性、效率和灵活扩展性,需对其linux的各软件模块进行优化配置,这也是一种与全部公开的源代码无关(或与执行gpl许可协议无关)的不公开的工程化实现技术。打一个形象比方:如两个企业都掌握了同样的“汽车零部件”,但各自装配出来的“汽车”,其安全性、稳定性、效率及其他性能可能不一样,甚至出入很大。
来源:enet硅谷动力











