仅限标头的C++库的LGPL类许可证

HC4*_*ica 13 c++ licensing templates open-source libraries

我的理解是程序可以动态链接到LGPL库并包含其标题,可能需要修改,而不必在LGPL下发布程序,但是必须释放对构建动态库的源代码的任何修改根据LGPL.

实际上,这允许人们无限制地使用库,但他们必须回馈他们对其所做的任何更改.

我想发布一个我作为FOSS编写的C++库,我想以同样的精神授权它:允许人们使用它而不必释放使用它的代码,但必须释放他们所做的任何更改它.但是,LGPL本身并不适合我,因为我的库完全是标题库(它是模板库).

什么许可证可以达到这个目的?

Cla*_*dio 5

Eigen是根据LGPL3许可发布的仅标头C ++库。在“ 许可常见问题”页面上有关于此的有用信息。

另一种选择是CDDL许可证。它与LGPL相似,但是它是基于文件的许可证:只要您不对许可文件进行任何更改,就可以以任何需要的方式使用许可文件。如果这样做,则必须(仅)共享这些更改。与LGPL相比,优点之一是您可以静态链接CDDL库而无需共享任何内容(当然,在这种情况下这是不相关的,因为您的库仅是标头)。缺点之一是它与GPL许可证不兼容(请参见此处的 MPL许可证)。

另请参阅CDDL上的一些常见问题解答

  • [Eigen切换到MPL-2.0](http://eigen.tuxfamily.org/index.php?title=News:Relicensed_to_MPL2!)[由于它与GPL / LGPL兼容且基于文件,因此很有用](http:/ /eigen.tuxfamily.org/index.php?title=News:Relicensing_to_MPL2!),因此它比CDDL更兼容,因此应优先使用。 (6认同)