Короткий ответ
Комбинация Eclipse Public License и LGPL обеспечивает именно то, что вы хотите: изменения кода должны быть доступны, но использование кода в более крупном продукте не приводит к повторному лицензированию более крупного продукта. Комбинация необходима для того, чтобы код мог использоваться как в проектах GPL, так и не-GPL.
Это способ, которым такие проекты, как JGraphT, сделали. Они обновили свой проект под EPL и LGPL. Мотивация и порядок действий описаны в их вики .
Длинный ответ
Я думаю, Общественная Лицензия Mozilla ( MPL ) или публичная лицензия Eclipse ( EPL ) - это лицензия, которую вы ищете, потому что «если создается какая-либо производная работа из библиотеки (например, любое улучшение библиотеки), она [IS ] доступно всем под той же лицензией. "
Лицензия MPL и EPL находится между GPL и MIT.
MIT позволяет пользователю делать с ним все, включая модификацию, продажу и не возвращать измененный код сообществу.
GPL заставляет пользователя отдавать все код сообществу, даже если ваша библиотека составляет всего 1% от всего продукта.
LGPL заставляет пользователя отказаться от модификации LGPL-части кода.
MPL и EPL похожи на LGPL: это также вынуждает пользователя сделать модифицированный источник доступным. «Модифицированный источник» включает в себя только часть кода, покрытого MPL / EPL. Это означает, что пользователь может создать новый продукт из вашей библиотеки. Если он делает модификацию MPL- / EPL-части, он должен опубликовать ее. Новые вещи им не нужно публиковать.
Я считаю, что MPL / EPL более уместен, поскольку LGPL явно говорит о «библиотеках», а MPL просто говорит о «покрытом программном обеспечении» (что является более широким охватом).
Однако выбор EPL вызывает проблемы при объединении программного обеспечения с программным обеспечением GPL: EPL несовместим с GPL . Это не тот случай, если вы просто используете MPL .
Если вы хотите убедиться, что ваш код может использоваться как в проектах GPL, так и не в GPL, лицензируйте код под LGPL и EPL, как описано в кратком ответе.
Примеры
- JGraphT
- Logback
qooxdoo . Они планируют «упростить и модернизировать условия лицензирования qooxdoo» и, таким образом, они перейдут с двойного лицензирования на MIT.