明确是避免许可歧义的关键所在。
在许可证的过去、当前和未来版本如何适用于软件程序方面,GPL 系列许可证在开源许可证中可谓独树一帜。如果不能完全理解其中独有的许可证特性,开源软件开发人员可能会无意中造成混淆。
GPL 许可证在其许可证的条款和条件中阐明了许可证版本如何适用于该程序。GPL v2(第 9 条)写到:
“每个版本都有一个独特的版本号,如果该程序指定了其适用的许可证的版本号以及‘任何更新的版本’,则可以选择遵循由 自由软件基金会 ( Free Software Foundation ) 发布的该版本或之后任何更新版本的条款和条件。如果该程序未指定许可证的版本号,则可以选择自由软件基金会以前发布的任何版本。”
GPL v3 第 14 条与 GPL v2 中的上述条款非常相似。
多年以来,我看到很多开源项目表示遵循 GPL 许可证,但却没有明确指出版本号,同时也没有将整个 GPL 许可证(例如,v2 或 v3)副本囊括在程序内。取决于您是许可人还是被许可人等因素,这其中造成的含混不清可能对您有益或有害。
许可证的模糊如何产生影响
例如,假设应用程序的许可证声明:“本程序遵循 GPL 许可证”,并且包含整个 GPL v3 许可证的副本。由于该项目没有明确说明适用该许可证的哪个版本号,所以合理的解释是自由软件基金会发布的所有版本 GPL 许可证都适用——v3、v2 甚至 v1!
依据 GPL v3 第 14 条的下述文本可以合乎情理地做出上述理解。
“如果该程序未指定 GNU GPL 的版本号,则可以选择由自由软件基金会发布的任何版本。”
另一方面,将 GPL 特定版本的完整副本(还可能包括许可证标题块中的 GPL 版本号)包含在程序中,可以被解释为在实质上传递了特定版本的许可证。在这个例子中,那就是 GPL v3 版本并且只有 GPL v3 版本,因为 v3 中没有“任何更新的版本”的条款。
如何避免许可歧义
为了避免这种许可歧义,您应该写得非常明确。如果您只想适用 GPL v3,应该明确地声明:“本程序仅遵循 GPL v3”,并提供整个 GPL v3 许可证副本。或者,如果您希望适用 GPL v3 或之后更新的版本,请明确声明:“本程序遵循 GPL v3 或其之后更新的版本”。最后,如果您真的想要适用任何版本的 GPL 许可证,您可以提供 GPL v3 许可证,并表示:“本程序遵循由自由软件基金会发布的任何版本的 GPL 许可证”。
无论您选择哪种授权方式,都应该非常明确,让每个人都能理解您的真正意图。
作者简介:Jeffrey R. Kaufman是全球领先的开源软件解决方案供应商Red Hat公司的开源知识产权律师,还担任托马斯杰斐逊法学院(Thomas Jefferson School of Law)的兼职教授。在任职Red Hat之前,Jeffrey曾担任高通公司(Qualcomm Incorporated)的专利顾问,为首席科学家办公室(Office of the Chief Scientist)提供开源事务咨询。
译者简介:薛亮,集慧智佳知识产权咨询公司高级咨询师,擅长专利检索、专利分析、竞争对手跟踪、FTO分析、开源软件知识产权风险分析,致力于为互联网企业、高科技公司提供知识产权咨询服务。
via: https://opensource.com/article/17/11/avoiding-gpl-confusion
作者:Jeffrey Robert Kaufman 译者:薛亮 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出