Я занимаюсь разработкой небольшого проекта с открытым исходным кодом. В приложении используется множество сторонних библиотек, выпущенных с различными лицензиями: Apache, MIT, BSD, LGPL и CDDL.
Каждая из этих лицензий имеет свои требования к оформлению документов. Например, лицензия Apache v2.0 гласит:
Если Работа включает в себя текстовый файл «УВЕДОМЛЕНИЕ» как часть своего распространения, то любая распространяемая вами Производная версия должна включать в себя читаемую копию уведомлений об атрибуции, содержащихся в таком файле УВЕДОМЛЕНИЯ.
Лицензия MIT содержит уведомление об авторских правах и гласит:
Вышеуказанное уведомление об авторском праве и это уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.
Лицензия BSD также содержит уведомление об авторских правах и гласит:
При повторном распространении в двоичной форме должно быть воспроизведено указанное выше уведомление об авторских правах, этот список условий и следующий отказ от ответственности в документации и / или других материалах, поставляемых при распространении.
LGPL v.3 говорит:
(Вы должны) сделать заметное уведомление с каждой копией Комбинированного произведения о том, что Библиотека используется в нем и что Библиотека и ее использование подпадают под действие настоящей Лицензии.
Лицензии LGPL и CDDL также требуют предоставления исходного кода вместе с двоичной формой библиотеки, поэтому информацию о том, как можно получить исходный код, следует где-то предоставить.
Какова наилучшая практика для организации всех этих данных? Должен ли я создать текстовый файл и скопировать в него содержимое всех NOTICE
файлов, лицензий MIT, BSD и т. Д.? ... или я должен создать отдельный каталог для каждой библиотеки и поместить все данные, относящиеся к библиотеке, в этот каталог? … или что-то другое?
Также было бы интересно увидеть какие-либо примеры этой «бумажной работы» в опубликованных проектах.
ОБНОВИТЬ:
Я прочитал Нужно ли включать уведомление о лицензии в каждый исходный файл? , но это не решает мою проблему. Мой вопрос касается сторонних библиотек, которые используются в проекте, и этот вопрос касается заголовков в собственном исходном коде проекта.