【问题标题】:LGPL-like license for a header-only C++ library [closed]仅标头 C++ 库的类似 LGPL 的许可证 [关闭]
【发布时间】:2012-07-09 22:48:25
【问题描述】:

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

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

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

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

【问题讨论】:

  • @R.MartinhoFernandes:Boost 许可证是允许的。所有基于它们的衍生作品都可以分发,而无需将更改贡献回项目。
  • 哦,忘了我当时说了什么:)
  • 致那些投票结束问题的人:请推荐一个更合适的替代 StackExchange 网站。
  • @HighCommander4:我没有投票结束,但这可能会在programmers.stackexchange.com
  • 我投票结束这个问题,因为它是关于许可或法律问题,而不是编程或软件开发。 See herehere 了解详细信息,help center 了解更多信息。

标签: c++ templates open-source licensing libraries


【解决方案1】:

Eigen 是在 LGPL3 许可下发布的仅标头 C++ 库。在他们的Licensing FAQ page 上有关于它的有用信息。

另一个选项是CDDL 许可证。它与 LGPL 类似,但它是基于文件的许可:您可以使用许可文件以任何您想要的方式,只要您不对它们进行任何更改。如果这样做,您将不得不(仅)分享这些更改。与 LGPL 相比的优点之一是您可以静态链接 CDDL 库而不共享任何内容(当然,在这种情况下这无关紧要,因为您的库只是标题)。缺点之一是它与 GPL 许可证不兼容(参见 MPL 许可证下的here)。

另见一些FAQs on CDDL

【讨论】:

  • Eigen switched to MPL-2.0 which is useful as it is GPL/LGPL compatible and file-based,因此它比 CDDL 更兼容,因此应该首选。
  • 该页面提到只有第 3 节适用于标头中的代码。它说:“应用程序的目标代码形式可以包含作为库一部分的头文件中的材料。您可以根据您的选择传达此类目标代码,前提是,如果合并的材料不限于数字参数、数据结构布局和访问器,或小宏、内联函数和模板(长度为 10 行或更少行),您可以执行以下两项操作:"
猜你喜欢
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多