【IT168 开源分析】
开源的高层定义
你遵守了你所使用的带有许可协议的开源软件吗?Google开源项目主管克里斯•迪博纳(Chris DiBona)对这个问题深有体会。
近期的一次开源峰会上,在90分钟的激情讲演中,迪博纳讲解了各种开源许可协议之间的主要区别,以及如何遵守它们。
他还说明了采用各种种方式消费、生产和支持开源软件的Google是如何处理复杂多变的代码许可的。所有开源软件的核心都在于该软件发布时所遵循的开源许可。根据迪博纳的解释,开源这个词在高层次上很容易被定义:“被开源研究院认可的软件。”
但他同时还警告,并非所有自称开源的企业都是真正意义上的开源。“如果你去仔细观察一下,各种开源峰会参展的厂商们都会提到开源一类的词,只是有时他们是在说谎。而有时他们只是对“许可协议甲”或“许可协议乙”的看法不太一致。”
GPL开源许可
人们不太容易区分一个软件是否真正开源的根本原因,在于开源研究院认可的许可有60多种。但在这60多种许可中,有一个许可明显主宰着开源世界。迪博纳说:“GPL(General Public License,通用性公开许可协议)是当今开源世界中最重要的许可。”根据迪博纳引述的Google所进行的研究,基于GPL的开源代码在所有开源软件中占45%---50%。
事实上,GPL应用如此广泛,就意味着我们更应该理解其中的条款。
GPL是一种互惠协议,遵循GPL的代码必须一直是自由的,发布后的软件必须受到社区的监管。 迪博纳表示,许多许可中存在的问题是代码中不同的部分遵循了不同的许可,而这些部分最终被拼凑成了一个应用程序。
| 第1页: 开源定义与GPL许可 | 第2页: 许可协议对开源的影响 |