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