了解TinyMCE的GPL协议

TinyMCE是个老牌的编辑器,查询发现TinyMCE使用的GNU-GPL开源协议,那我是否可商用,是否可以二次开发呢?带着这个疑问,了解下GPL。

解释

如下转自知乎的一个回答

GPL协议的目的就是强制代码开源和免费使用。

其最大的特点就是“开源的传染性”。也就是说,假设某公司使用了具有GPL协议的代码库,那么他理论上也必须把自己的代码库开源。

注意,这里是理论上。

实际上,大公司可以有很多方法避开这个限制。

比如,2015年的时候,小米被指责违反了GPL协议,MIUI系统是基于Android开发的,而内核Linux遵循的是GPL协议,那么小米也必须对自己的MIUI系统进行开源。

但是小米方面给出的答复是“很快就会开源”。这个很快,就慢慢拖着,反正我也不否认未来会开源。

举例

这里以一个例子来说明下。

比如商业 SaaS 产品中使用 TinyMCE,则需要确保您的使用符合 TinyMCE 许可证的条款。 GPLv2 许可证允许您在 SaaS 产品中使用 TinyMCE,但您必须遵循某些条件:

  • 源代码的分发:如果您修改 TinyMCE 代码,则必须向收到您产品的任何人提供这些修改。由于您不打算发布网站的源代码,因此只要您不修改 TinyMCE 源代码,此要求可能不适用于您。

  • Copyleft 条款:TinyMCE 的任何衍生作品也必须根据 GPLv2 许可证获得许可。这意味着,如果您将 TinyMCE 合并到您的网站中,并且您的网站被视为衍生作品,则您必须在 GPLv2 许可证下提供网站的源代码。然而,关于通过 JavaScript 链接到 TinyMCE 是否构成衍生作品,存在一个灰色地带。有些人认为,只要 TinyMCE 作为一个单独的程序运行,就不会。

  • 动态链接:如果您的网站动态链接到 TinyMCE(例如,通过 JavaScript),则通常认为它与 TinyMCE 本身是分开的,并且 Copyleft 条款可能不适用。然而,这种解释可能会有所不同,您应该咨询法律建议以确保合规。

  • 鉴于您的网站是可公开访问的,因此请务必仔细查看 GPLv2 许可证的条款并考虑寻求法律建议,以确保您对 TinyMCE 的使用符合许可证条款并且不会无意中违反任何义务。

结论

假如我的WEB项目中用到了GPL协议的TinyMCE,即使我只是使用这个编辑器,并没有二次开发,我整个项目也都需要遵守GPL许可,即整个项目要开源。除此之外还有个办法即得到商业许可。

so,只是想商业项目中使用到TinyMCE,保险起见是不行。

其它开源编辑器

除了TinyMCE也有其它不错的选择。

比如monaco-editor,monaco是MIT协议,即可以随便商用了。我们常用的VSC中的编辑器就是使用的该项目。

相关文档