我正在开发一个网站创建工具(例如 CMS),专为教师设计,并决定在 GPL 下获得许可,因为我看到了许多 GPL 下的软件案例。编码一段时间后,我意识到我想包含 LGPL (tinyMCE) 下的软件。
我能否通过 JavaScript 库在 GPL 下许可该软件,并在其中包含 LGPL 软件?
另外,许可需要什么,我可以从下载的软件中复制文件吗?(我对此表示怀疑,但另一位程序员告诉我)
此外,如果有人有其他有关许可的信息,我们将不胜感激。
如果我理解正确,您是在 GPL 下创建一个库,并且您想在这个库中发布 LGPL 软件?
这是完全可能的。事实上,LGPL明确声明这是合法的。
您可以根据您选择的条款传达一个组合作品,这些条款加在一起实际上不会限制对组合作品中包含的库部分的修改以及用于调试此类修改的逆向工程,如果您还执行以下每一项:(添加了重点,请参阅许可证)
但是,如果我没记错的话,LGPL 几乎是一样的,但是有一个额外的子句,即代码可以以二进制形式使用,链接到非(L)GPL 程序,但 JavaScript 库从来不是二进制形式,那么为什么其他作者在 LGPL 而不是 GPL 下许可他的代码?
但实际上,您只需复制代码即可。我认为您必须保持原始许可通知完好无损,尽管我不确定,因为您也是 (L)GPL 下的许可。
我想在分发任何东西之前仔细检查 nightcracker 给出的答案(并且可能违反法律,并不是我严重怀疑答案),所以我给 FSF 发了电子邮件。这是我得到的回复:
查看站点和源代码,TinyMCE 似乎在与 GPLv2 和 GPLv3 兼容的 LGPLv2.1 下获得许可。
LGPLv2.1 关于逐字复制(来自第 1 节)有这样的说法:“您可以在任何媒体上复制和分发图书馆完整源代码的逐字副本,前提是您在每个副本上显着且适当地发布“
因此,继续复制文件或代码,但至少还要执行以下操作:
添加/保留(根据需要)TinyMCE 版权声明,我在文件 editable_selects.js 的标题中找到了一个示例:
/**
* editable_selects.js
*
* 版权所有 2009,Moxiecode Systems AB
* 在 LGPL 许可下发布。
*
* 许可证:http
://tinymce.moxiecode.com/license * 贡献:http
://tinymce.moxiecode.com/contributing */然后将 LGPLv2.1 (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) 的副本添加到您的发行版中。