LGPL-подобная лицензия для библиотеки С++, предназначенной только для заголовка

Я понимаю, что программа может динамически связываться с библиотекой LGPL и включать ее заголовки, возможно с изменениями, без того, чтобы программа была выпущена под LGPL, но любые изменения в исходном коде, которые идут на создание динамической библиотеки должен быть выпущен под LGPL.

По сути, это позволяет людям использовать библиотеку без ограничений, но они должны внести вклад в любые изменения, которые они вносят в нее.

Я хотел бы выпустить библиотеку С++, которую я написал как FOSS, и я хотел бы лицензировать ее в том же духе: позволить людям использовать ее без необходимости выпуска кода, который ее использует, но с необходимостью выпускать любые изменения они делают это. Однако сам LGPL не подходит для меня, потому что моя библиотека полностью предназначена только для заголовков (это библиотека шаблонов).

Какая лицензия будет служить этой цели?

Ответ 1

Eigen - это только библиотека С++, выпущенная под лицензией LGPL3. Есть полезная информация об этом на странице Часто задаваемые вопросы о лицензировании.

Другим вариантом является CDDL лицензия. Он похож на LGPL, но это лицензия на основе файлов: вы можете использовать лицензированные файлы любым способом, если хотите, чтобы вы не вносили в них никаких изменений. Если вы это сделаете, вам придется делиться (только) этими изменениями. Одним из преимуществ над LGPL является то, что вы можете статически связывать библиотеки CDDL, не разделяя ничего (конечно, это не имеет значения в этом случае, так как ваша библиотека - только заголовок). Один из недостатков заключается в том, что он несовместим с лицензией GPL (см. здесь под лицензией MPL).

См. также Часто задаваемые вопросы в CDDL.

Ответ 2

LGPL работает так же, является ли библиотека только заголовком или нет. Лицензия работает точно так же. Динамическое связывание - это просто вариант под LGPL, и люди просто не смогут воспользоваться этим конкретным вариантом в вашей библиотеке.