Как включить библиотеку apache в мой код с открытым исходным кодом?

9

У меня есть этот открытый исходный код с лицензией MIT, который использует лицензированную библиотеку Apache 2.0.

Я хочу включить это в свой проект, чтобы он мог быть построен сразу же.

В пункте 4 этой лицензии объясняется, как ее распространять:

выдержка:

4 Перераспределение . Вы можете воспроизводить и распространять копии Работы или ее Производных работ на любом носителе, с изменениями или без них, а также в форме Источника или Объекта, при условии, что Вы соответствуете следующим условиям:

Вы должны предоставить любым другим получателям Работы или Производных Работ копию этой Лицензии; а также

Вы должны заставить любые измененные файлы иметь заметные уведомления о том, что Вы изменили файлы; а также

Вы должны сохранить в форме «Источник» любых Производных работ, которые Вы распространяете, все уведомления об авторских правах, патентах, товарных знаках и атрибуции из формы «Источник» Произведения, за исключением тех уведомлений, которые не относятся к какой-либо части Производных произведений; а также

Если Работа включает в себя текстовый файл «УВЕДОМЛЕНИЕ» в качестве части своего распространения, то любые распространяемые вами Производные работы должны включать читаемую копию уведомлений об атрибуции, содержащихся в таком файле УВЕДОМЛЕНИЯ, за исключением тех уведомлений, которые не относятся к какой-либо части Производные работы, по крайней мере в одном из следующих мест: в текстовом файле УВЕДОМЛЕНИЯ, распространяемом как часть Производных работ; в исходной форме или документации, если она предоставляется вместе с Производными работами; или в отображении, созданном Производными работами, если и где такие сторонние уведомления обычно появляются. Содержимое файла NOTICE носит исключительно информационный характер и не изменяет Лицензию. Вы можете добавить свои собственные уведомления об атрибуции в Производные работы, которые Вы распространяете, вместе или в качестве дополнения к тексту УВЕДОМЛЕНИЯ от Работы, при условии, что такие дополнительные уведомления о присвоении не могут быть истолкованы как изменение Лицензии. Вы можете добавить свое собственное заявление об авторских правах в свои модификации и предоставить дополнительные или иные условия лицензии для использования, воспроизведения или распространения Ваших модификаций или для любых таких Производных произведений в целом, при условии, что Вы используете, воспроизводите и распространяете Работа в противном случае соответствует условиям, указанным в настоящей Лицензии.

Я не создаю производную работу (я планирую предоставить ее как есть).

У меня нет файла NOTICE, только мой собственный файл LICENSE.txt.

Вопрос: Где я должен написать что-то вроде: «В этом проекте используется библиотека Xyz, распространяемая под Apache 2.0 ...»? Что рекомендуется?

Должен ли я предоставить файл лицензии Apache тоже? Или было бы достаточно, если бы я просто сказал «Найти лицензию онлайн здесь ... »

Я надеюсь, что кто-то, кто делал это в прошлом, может пролить свет на этот вопрос.

OscarRyz
источник

Ответы:

3

Вопрос: Где я должен написать что-то вроде: «В этом проекте используется библиотека Xyz, распространяемая под Apache2.0 ...»? Что рекомендуется?

Лицензия подразумевает, что вы должны включить какой-либо файл NOTICE в ваш дистрибутив вашего программного обеспечения. Я бы порекомендовал вам сделать это.

Должен ли я предоставить файл лицензии apache тоже? Или было бы достаточно, если бы я просто сказал «Найти лицензию онлайн здесь ... http://www.apache.org/licenses/LICENSE-2.0.html »

Лицензия явно требует от вас предоставить копию лицензии.


Если вы считаете, что заявленные или подразумеваемые требования Apache нежелательны, поговорите с юристом, имеющим опыт работы с правами на программное обеспечение ... прежде чем вы решите их игнорировать.

Стивен С
источник
8

Я не делал этого в прошлом, но ваш цитируемый сегмент очень ясно показывает, что нужно. В частности, к вам относится только следующая строка: «Вы должны предоставить любым другим получателям Работы или Производных Работ копию этой Лицензии»;

Это означает, что вы должны включить сам файл лицензии, а не просто ссылку.

Что касается вашего другого вопроса, то отрывок лицензии не требует, чтобы вы явно вызывали использование библиотеки, но такая информация была бы наиболее полезной в файле README.txt или Dependencies.txt.

Джей Линдквист
источник
5

Вы также должны предоставить копию лицензии Apache версии 2.0 (APLv2). В цитате говорится: «Вы должны предоставить любым другим получателям Работы или Производных Работ копию этой Лицензии».

Никакой атрибуции кроме этого не требуется. Таким образом, помещать «этот проект использует библиотеку Xyz, распространяемую под Apache 2.0» где-то не обязательно. Исходный код (Работа) и лицензия говорят сами за себя в этом вопросе.

Конечно, это хороший этикет, чтобы включить атрибуцию, подобную этой. Куда это приведет, зависит от того, какое программное обеспечение вы делаете.

Тем не менее, это звучит , как вы будете делать производные работы - вы строите двоичный файл с APLv2 лицензированного программного обеспечения. Это производная работа. (Из вашего вопроса неясно, распространяете ли вы двоичный файл или нет, на самом деле.) Если это так, вы должны соответствующим образом обработать файл NOTICE. Вы говорите, что у вас нет файла NOTICE, но есть ли в программном обеспечении APLv2 файл NOTICE? Если да, то у вас должен быть какой-то метод отображения уведомлений с вашим (двоичным) программным обеспечением.

robinbb
источник
Что касается "производной работы" ... неясно, создает ли ОП производную работу или нет. НО, «создание двоичного файла с использованием программного обеспечения, лицензированного по APLv2» не означает производную работу. В лицензии конкретно сказано: «Производные работы не должны включать в себя произведения, которые остаются отделимыми или просто связываются (или связываются по имени) с интерфейсами их Работы и Производных работ».
Энди Денни