Поиск подходящей лицензии для поддержки только сообщества с открытым исходным кодом. GPLv3 слишком строгий, LGPLv3 слишком разрешительный
Я создал библиотеку с открытым исходным кодом ( https://github.com/pitschr/knx-link), который разработан для использования другими проектами с открытым исходным кодом; не конечными пользователями. В настоящее время он распространяется под лицензией GPLv3.
Моя главная цель - сделать так, чтобы у каждого проекта, использующего мою библиотеку, был открытый исходный код . Лично для меня не имеет значения, лицензирован ли другой проект, использующий мою библиотеку, например, на Apache-2.0 или MIT, если исходный код проекта, используемого конечным пользователем, открыт, например, на GitHub.
По разным лицензиям вижу, что:
- LGPLv3 не был бы правильным выбором, поскольку он позволяет связывать проприетарное программное обеспечение
- GPLv3 кажется мне слишком строгой, поскольку требует, чтобы и другое программное обеспечение было лицензировано как GPLv3. Кроме того, GPLv3 не позволяет использовать проект, лицензированный по Apache-2.0 / MIT.
- Лицензии Apache-2.0 и MIT не подходят для меня, поскольку они могут использоваться проприетарным программным обеспечением напрямую.
Я не мог найти подходящую лицензию для моей цели. Опять же, совершенно нормально использовать мою библиотеку, если сам проект / программное обеспечение для конечных пользователей имеет открытый исходный код, не требуя, чтобы оно также было лицензировано по GPLv3 ? Моя главная цель - поддерживать только сообщество с открытым исходным кодом!
Я один с идеей? Как лучше всего достичь? Какая лицензия мне подойдет больше всего?
Спасибо, Кристоф (немного смущенный)
Ответы
Есть два принципиально разных подхода к лицензиям с открытым исходным кодом:
а) разрешительные, такие как MIT, Apache и т. д., которые, грубо говоря, не заботятся о том, что происходит с их источниками, пока кредиты поддерживаются и передаются.
б) И есть более строгие лицензии с открытым исходным кодом, лицензии с правом копирования, которые хотят убедиться, что любая производная версия остается также с открытым исходным кодом, в первую очередь лицензия GPL.
Лицензия обычно выбирается (первоначальными) авторами по той причине, что им нужна первая или последняя.
Так как такая лицензия, которую вы ищете, может быть создана, но мало полезна: проект с разрешающей лицензией не захочет использовать лицензию, которая может использоваться только в проектах с открытым исходным кодом; его лицензия была выбрана так, чтобы было возможно частное использование.
Проекту, уже имеющему лицензию с правом копирования, такая лицензия также не нужна - он может также использовать GPL, которая гарантирует только это: быть открытым и оставаться открытым исходным кодом.
Таким образом, можно даже утверждать, что лицензия, которую можно использовать только в проекте с открытым исходным кодом, уже существует: GPL. Большинство лицензий с открытым исходным кодом совместимы с GPL в том смысле, что их можно использовать в проекте под лицензией GPL (просто изменив лицензию на GPL для производного / комбинированного программного обеспечения, даже если существуют заметные исключения, такие как несовместимость с Apache или MPL. ).
Допустим, кто-то использует ваш проект (под вашей индивидуальной лицензией) в приложении, лицензированном MIT. Поскольку лицензия MIT явно разрешает распространение программного обеспечения с закрытым исходным кодом, ваша индивидуальная лицензия будет неэффективной и бессмысленной.
Если вы не хотите, чтобы ваша библиотека использовалась в несвободных программах, лучшим выбором будет GNU GPL.
Есть лицензии, совместимые с GNU GPL. Программное обеспечение под лицензией GNU GPL может содержать код любой совместимой лицензии.