Licenzia

Практичний матеріал

MIT, Apache та GPL: порівняння для компанії

Як оцінити обов’язки відкритого компонента за його ліцензією та способом поширення продукту.

Відкрита ліцензія дозволяє використання за визначених умов, а не скасовує їх. Для програмного продукту потрібно знати точну версію кожного компонента й спосіб його інтеграції. Нижче порівнюються MIT, Apache License 2.0 та GNU GPL версії 3; інші версії можуть мати суттєві відмінності.

MIT: дозвіл із збереженням повідомлень

MIT дозволяє широке використання, модифікацію та комерційне поширення. Її ключова умова — включати повідомлення про авторські права й текст дозволу до копій або істотних частин програмного матеріалу. Тому компонент не слід очищати від ліцензійних повідомлень лише через включення до власного продукту.

Apache 2.0: повідомлення та патентна складова

Apache 2.0 містить окреме патентне надання в установлених межах і умови його припинення при відповідному патентному спорі. При поширенні виконують вимоги щодо ліцензії, повідомлень про зміни й застосовного NOTICE. Вона не надає загального дозволу використовувати торговельні марки авторів проєкту.

GPLv3: copyleft при переданні охопленого твору

GPLv3 допускає комерційне використання, але встановлює обов’язки при переданні охопленої програми та її похідних результатів. Для поширення виконуваного коду потрібно забезпечити відповідний вихідний код за передбаченим способом. Оцінка меж охопленого твору залежить від інтеграції; це не автоматична вимога оприлюднити всі розробки компанії.

Порівняйте типові обов’язки

Таблиця є орієнтиром для перевірки, а точні умови визначає повний ліцензійний текст конкретного компонента.

Основні відмінності трьох ліцензій
ПитанняMITApache 2.0GPLv3
Комерційне використанняДопускаєДопускаєДопускає
ПовідомленняCopyright і дозвілЛіцензія, зміни, потрібні noticesЛіцензія та встановлені notices
Патентне наданняОкремого текстового блоку немаєПрямо передбачене з умовамиВласні патентні положення
Вихідний код при поширенніCopyleft не встановленоCopyleft не встановленоЗастосовні вимоги до охопленої програми

Внутрішнє використання і передання копії

Для GPLv3 сама мережна взаємодія без передачі копії не є переданням у визначенні ліцензії. Проте потрібно перевіряти фактичну архітектуру: браузерний код, застосунок клієнта й серверний компонент можуть поширюватися по-різному. Назва SaaS не дає відповіді щодо кожної залежності.

Версія й додаткові умови мають значення

Перевірте файл ліцензії саме встановленої версії, подвійне ліцензування та дозволені альтернативи. Позначення сімейства GPL без номера й умов вибору недостатнє. Не переносіть висновок щодо одного релізу на наступний, якщо правовласник змінив ліцензійний режим.

Перевірка перед випуском продукту

Складіть перелік залежностей, зафіксуйте ліцензії й відмітьте, які частини передаються клієнтам. Підготуйте необхідні повідомлення та матеріали вихідного коду для відповідних компонентів. Юридичну сумісність оцінюйте разом із технічною інтеграцією, щоб фінальний пакет виконував умови всіх включених дозволів.

Нормативні документи

  1. Офіційний текст MIT License, відкриється в новій вкладці
  2. Apache License, Version 2.0, відкриється в новій вкладці
  3. GNU GPL version 3: текст ліцензії в OSI, відкриється в новій вкладці