Решение:
Лицензия GNU General Public License (GPL) — одна из самых популярных свободных лицензий, которая, однако, накладывает определённые ограничения (или, скорее, обязательства) на пользователей, чтобы сохранить свободу ПО.
Основные обязательства (ограничения для пользователя, но гарантии свободы):
- Обязательство сохранения свободы (Copyleft): Если вы модифицируете программу под GPL или создаёте производную работу на её основе и распространяете её, вы обязаны распространять эту модифицированную версию также под лицензией GPL. Нельзя взять GPL-код, изменить его и выпустить как проприетарное (закрытое) ПО.
- Предоставление исходного кода: При распространении скомпилированной (исполняемой) версии программы, вы должны предоставить получателям возможность получить доступ к полному исходному коду.
- Сохранение уведомлений: Необходимо сохранять все оригинальные уведомления об авторских правах, патентах, товарных знаках и указания на лицензию GPL в исходном коде и, при распространении, в исполняемом файле.
- Запрет на дополнительные ограничения: Вы не можете накладывать на получателей GPL-ПО дополнительные юридические или технические ограничения, которые бы ущемляли свободы, предоставляемые GPL.
Важно: GPL не запрещает коммерческое использование ПО. Разработчики могут продавать GPL-программы, но покупатель всё равно получает права, предусмотренные GPL (включая доступ к исходному коду и право на дальнейшее распространение).
Ответ: Лицензия GNU GPL требует, чтобы модифицированные версии ПО также распространялись под GPL (copyleft), обязывает предоставлять исходный код при распространении и сохранять оригинальные уведомления об авторских правах.