本文共 932 字,大约阅读时间需要 3 分钟。
bsd许可证和gpl许可证
在开放源代码许可证中是唯一的,因为许可证的过去,当前和将来版本可以如何应用于软件程序。 通过不完全了解此独特的许可功能,开源软件开发人员可能会无意间造成歧义。
GPL许可证阐明了如何在其条款和条件中带有条款的方式将许可证版本应用于程序。 (第9节)中的适用语言部分如下:
“每个版本都有一个不同的版本号。如果程序指定了适用于本许可证和'任何更高版本的版本',您可以选择遵循该版本或任何更高版本的条款和条件。如果本程序未指定此许可的版本号,则可以选择自由软件基金会发布的任何版本。”
第14条中的术语与GPL v2中的术语非常相似。
多年来,我已经看到许多开源项目说它们是GPL许可的,没有明确指出版本号,同时还包括完整的GPL许可的文本(例如v2或v3)。 这可能造成的歧义可能对您有利或有害,这取决于诸如您是许可人还是被许可人之类的因素。
例如,假设应用程序的许可证声明:“此程序已根据GPL许可,”并且完整包含GPL v3许可证的副本。 因为该项目没有明确传达使用哪个版本的许可证,所以合理的解释是自由软件基金会发布的GPL的所有版本都可以适用-v3,v2甚至v1!
GPL v3第14条中的这一句话可能为这种解释辩解:
“如果程序未指定GNU通用公共许可证的版本号,则可以选择自由软件基金会曾经发布的任何版本。”
另一方面,包括GPL特定版本的完整副本(在许可证标题栏中也可以包括GPL版本号)实质上可以解释为传达许可证的特定版本。 在此示例中,仅提供v3,因为没有“任何更高版本”的规定。
为避免此许可证含糊不清,您应该非常清楚。 如果您只希望应用v3,则应明确说明:“该程序仅在GPL v3下获得许可”, 并提供完整的GPL v3许可证。 或者,如果您希望应用v3或GPL的任何更高版本,请明确声明:“该程序已获得GPL v3或任何更高版本的许可。” 最后,如果您确实希望应用GPL的任何版本,则可以提供v3许可证并说:“该程序已获得自由软件基金会发布的GPL的任何版本的许可。”
无论您选择哪种许可方式,都必须非常清楚,以便每个人都能理解您的实际意思。
翻译自:
bsd许可证和gpl许可证
转载地址:http://krszd.baihongyu.com/