我正忙着写一个应用程序,我不确定我应该使用 LGPL 还是 GPL(或者其他东西)。这是我的限制:
- 我的应用程序是开源的。我真的不在乎人们如何使用我的代码,只要他们的代码也是开源的。如果他们想将我的源代码用于非开源应用程序,他们必须先与我联系。
- 我正在使用 GPL、LGPL 和 IDGAFL 下的外部库(又名“我不提供 af*k 许可证”)。对于大多数库,我直接将它们的源代码包含在我的应用程序中。在极少数情况下,我会使用他们预先构建的库并链接到它们。
- 对于上述库:如果我链接到它们,我有一个包含所有源代码(包括库的代码)和 .so/.dylib/.dll 的存储库。
- 我有一个与预构建库一起发布的可执行文件。非预建库显然在编译期间包含在可执行文件中。
哪个许可证是最好的?此外,对于一些库,我更改了一些源代码以适合我的应用程序。这些不是对代码本身的任何重大更改,而是对包含语句、文件扩展名等的更改,例如:
来自(原始库):
#include "libx/libx.hpp"
至(我的更改):
#include "external/libx.h"
请注意不同的位置和扩展名。这是允许的吗?