Могу ли я включить код под лицензией GPL в продукт под лицензией MIT?
Ты можешь. GPL - это бесплатное программное обеспечение, также как и MIT, обе лицензии не ограничивают вас объединением кода, поскольку «включить» всегда двусторонний.
В авторском праве на комбинированное произведение (то есть два или более произведения образуют вместе произведение) не имеет большого значения, является ли одно произведение «больше» другим или нет.
Таким образом, если вы включаете лицензионный код GPL в лицензионный продукт MIT, вы в то же время включаете лицензионный продукт MIT в лицензионный код GPL.
В качестве второго мнения OSI перечислил следующие критерии (более подробно) для обеих лицензий (MIT и GPL):
- Бесплатное распространение
- Исходный код
- Производные работы
- Целостность исходного кода автора
- Отсутствие дискриминации в отношении лиц или групп
- Запрет дискриминации в сферах деятельности
- Распространение лицензии
- Лицензия не должна быть специфичной для продукта
- Лицензия не должна ограничивать другое программное обеспечение
- Лицензия должна быть технологически нейтральной
Оба позволяют создавать комбинированные работы, о чем вы и просили.
Если объединение двух работ считается производным, то это также не ограничивается обеими лицензиями.
И обе лицензии не ограничивают распространение программного обеспечения.
Мне кажется, что главное различие между лицензией MIT и GPL состоит в том, что MIT не требует, чтобы модификации были открытыми, тогда как GPL требует.
GPL не требует, чтобы вы выпускали свои модификации только потому, что вы их сделали. Это не совсем точно.
Вы можете смешать это с распространением программного обеспечения под GPL, о чем вы прямо не спрашивали.
Это правильно - GPL более строгие, чем лицензия MIT?
Вот как я это понимаю:
Что касается распространения, вам нужно поставить весь пакет под GPL. Код MIT внутри пакета по-прежнему будет доступен в рамках MIT, тогда как GPL применяется к пакету в целом, если не ограничивается более высокими правами.
«Ограничительный» или «более строгий» / «менее строгий» во многом зависит от точки зрения. Для пользователя программного обеспечения MIT может привести к более ограниченному программному обеспечению, чем то, которое доступно под GPL, даже некоторые называют GPL в наши дни более строгим. Этот пользователь, в частности, назовет MIT более строгим. Сказать так субъективно, и разные люди дадут вам разные ответы.
Поскольку говорить об ограничениях разных лицензий субъективно, лучше подумайте о том, чего бы вы хотели достичь:
- Если вы хотите ограничить использование ваших модификаций, то MIT может быть более ограничительным, чем GPL для распространения, и это может быть то, что вы ищете.
- Если вы хотите гарантировать, что свобода вашего программного обеспечения не будет настолько ограничена пользователями, которым вы его распространяете, тогда вы можете захотеть выпустить его под GPL вместо MIT.
Пока вы являетесь автором, решать вам.
Таким образом, самым строгим человеком является автор, независимо от того, какую лицензию он выбирает;)