分享

Google:将来还会有人遵守开源许可协议吗

 又见飞刀 2006-09-01


Google:将来还会有人遵守开源许可协议吗



你遵守了你所使用的带有许可协议的开源软件吗?Google开源项目主管克里斯•迪博纳(Chris DiBona)对这个问题深有体会。

近期的一次开源峰会上,在90分钟的激情讲演中,迪博纳讲解了各种开源许可协议之间的主要区别,以及如何遵守它们。

他还说明了采用各种种方式消费、生产和支持开源软件的Google是如何处理复杂多变的代码许可的。所有开源软件的核心都在于该软件发布时所遵循的开源许可。根据迪博纳的解释,开源这个词在高层次上很容易被定义:“被开源研究院认可的软件。”

但他同时还警告,并非所有自称开源的企业都是真正意义上的开源。“如果你去仔细观察一下,各种开源峰会参展的厂商们都会提到开源一类的词,只是有时他们是在说谎。而有时他们只是对“许可协议甲”或“许可协议乙”的看法不太一致。”

GPL开源许可

人们不太容易区分一个软件是否真正开源的根本原因,在于开源研究院认可的许可有60多种。但在这60多种许可中,有一个许可明显主宰着开源世界。迪博纳说:“GPL(General Public License,通用性公开许可协议)是当今开源世界中最重要的许可。”根据迪博纳引述的Google所进行的研究,基于GPL的开源代码在所有开源软件中占45%---50%。

事实上,GPL应用如此广泛,就意味着我们更应该理解其中的条款。

GPL是一种互惠协议,遵循GPL的代码必须一直是自由的,发布后的软件必须受到社区的监管。迪博纳表示,许多许可中存在的问题是代码中不同的部分遵循了不同的许可,而这些部分最终被拼凑成了一个应用程序。

许可协议对开源的影响

总有些许可是不那么美好的。迪博纳说:“最后它会影响到你的效率。理解这个问题会帮助你摆脱这种情况。”

许多许可在遵循时会遇到许可本意与字面意思相违背的情况。许可中的许多条款不很明确,违反时也不会形成很严重的处罚。 “Google之所以遵循,是因为这么做是正确的。财政上的处罚不那么严重。”迪博纳提到,人们经常会因许可问题违反法律,但他们很容易做出补偿。在迪博纳看来,多数程序员们的目的只是为了保证他们的代码和程序继续以开源的形式传播下去。 “最后的结果是开发人员们希望别人使用他们的代码——而这很可怕。”

目前的GPL第二版中,有些条款经常被人们误解。

“如果你连接这段代码,你需要将你生成的代码设为自由使用。”但这里并没有对“连接”做出明确的解释。比如说,一位用户使用GCCto来编译程序,并不意味着所生成的软件是遵循GPL的。 迪博纳解释称:“多数人认为,连接是指动态连接一个函数库。”而根据GPL的一个引申协议,简化了GPL中的规定,动态连接并不是非法行为。

GPL与其它开源许可的条款并不一定针对有困难的方面。 “问题不在于对法律的反映、修订和遵守。最困难的部分是对软件的跟踪。

迪博纳表示,Google开发了一个跟踪工具来查询每个软件的信息和来源。这样一来,代码就得到了隔离,将违反许可的可能性降到了最低。

“我们花费了许多时间来训练工程师。”在训练中,迪博纳对Google的新工程师们传授了一个基本理念,其中包括Google的代码库,以及鉴别、区分代码段的重要性。 “一旦他们养成了你所在组织的习惯,他们也就会习惯于遵守许可。” 迪博纳最终把问题归结为,理解开源程序的来源以便更好运用开源软件。也就是说,你可以更多地享受开源代码的好处,通过在你自己的软件中使用开源代码参与到它的发展过程之中。

迪博纳说,有一点大家必须要理解:多数开源程序员并不是为了钱而编写代码。“他们知道自己在做什么工作。如果他们想向你收钱,他们会选择商业许可——商业许可中有许多机会。如果你想赚钱,千万不要放弃这些机会。”

迪博纳的讲话中的确提到开源可以赚钱,但重复利用许可收费并不是可行的方式。迪博纳称:“99%的开源项目是因为一两个人遇到感兴趣的问题而发起的,他们使用许可来互相协作。” “开源许可为我们创造了可以共同努力的环境,而不是互相敲诈的借口。”

(来源:IT168)
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多