我可以以不同于我的实际库/应用程序源代码的方式许可我的规格/测试吗?

时间:2012-12-18 16:18:04

标签: licensing

我已经编写了一个我在MIT许可下获得许可的Ruby gem,但我认为通过在我的规范中使用AGPL库,我可以大大提高测试覆盖率。我编写的实际库代码(将由使用gem的人执行)将永远不会使用此AGPL库,它只是在运行gem规范时在开发环境中运行测试。

根据AGPL授权我的规范代码同时仍然在MIT下授权我的库/应用程序代码是否合法?对于我的GitHub存储库(例如,规范的单独存储库)或我的.gemspec文件(例如没有将规范和AGPL库与gem捆绑在一起),我有什么特别之处吗?

1 个答案:

答案 0 :(得分:1)

首先,我不是律师。

我们假设您要使用的库名为L.

由于您的申请代码不是L的衍生作品,因此不受AGPL许可的影响。因此,您可以自由选择分发规则。

您的测试代码是AGL意义上的L的衍生作品,因此如果您发布它,则必须使用AGPL的条款。

将具有不同许可证的文件存储在单个存储库中不是问题。重要的是明确无误地说明每个文件的许可证。最好的想法是将相关注释放在文件头和README或LICENSE文件中。我的意思是像

  

test目录中的所有文件均以(...)条款发布。除非另有说明,否则所有剩余文件均以(...)条款发布。

请记住在项目的每种形式的分发中添加此信息,即gem文件,tarball等。如果您必须指定整个 gem发布的条款,则必须提供这两个许可。在gemspec的条款中,它意味着

spec.licenses = ['MIT', 'AGPL']