У нас есть следующая лицензия BSD в LICENSE
файле:
Copyright (c) 2006-2016 SymPy Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
a. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
b. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
c. Neither the name of SymPy nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Мы управляем исходным репозиторием с помощью git ( https://github.com/sympy/sympy ), и, таким образом, каждый автор владеет патчами, которые он или она создали. Затем у нас есть AUTHORS
файл, в котором мы перечисляем всех людей, которые внесли исправления (в настоящее время около 450 или около того). Как правило, авторы разветвляют репозиторий на github и добавляют патчи при коммитах git.
Один автор разветвил хранилище, но добавил свое имя в сам LICENSE
файл в качестве уведомления об авторских правах следующим образом (я изменил имя):
Copyright (c) 2006-2015 SymPy Development Team,
2015-2016 John Doe
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
a. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
b. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
c. Neither the name of SymPy nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Автор разработал патч, который исправляет ошибку. Исправление состоит из касания только одного файла, удаления 19 символов из одной строки и добавления 18 символов в другую строку в том же файле. Он также добавляет 5-строчный тест для этой ошибки в тестовый файл. Вот и все.
При каких условиях нам по закону разрешено применять его патч (выбирая его коммиты, например, сохраняя дату и имя автора + адрес электронной почты в метаданных git)?
а) Нужно ли нам изменять наш LICENSE
файл, чтобы добавить его уведомление об авторских правах?
б) Или мы все еще соблюдаем лицензию BSD, если мы храним обновленный AUTHORS
файл и храним репозиторий git, в котором конкретно отслеживается, какие коммиты были внесены авторами.
Что мне не нравится в варианте а), так это то, что если этого требуют все 450 или около того участников, то нам нужно будет по существу сохранить содержимое AUTHORS
файла в LICENSE
файле вместе со Copyright
словом и годами. Git намного лучше хранит годы (и даже дни и минуты), а также то, какие строки были изменены каждым автором и как. Затем у нас есть простой LICENSE
файл, который не изменяется, и мы сохраняем список авторов AUTHORS
(и у нас есть скрипт, который синхронизирует его со списком авторов из git).
источник
Ответы:
Вы можете включить любой код, который имеет совместимую лицензию для него.
Тем не менее, если новый код специально не лицензируется по совместимой лицензии, если вы хотите внести изменения в свою кодовую базу, вы открываете себя к возможности возникновения некоторых трудностей.
В частности, если в коде не указано, что новые вклады находятся под совместимой лицензией, к ней применима лицензия по умолчанию «все права защищены». Вытащить код будет нарушением авторских прав.
Существует также возможность того, что новый код лицензируется по лицензии, которая совместима с вами (и вам необходимо будет сохранить эту лицензию для кода), но несовместима со многими из ваших пользователей. Например, если вы используете предложение BSD 2, и кто-то лицензирует вклады ветвления в соответствии с предложением BSD 3, вы, вероятно, можете добавить это в свой код без особых затруднений. Однако, поскольку предложение BSD 3 несовместимо с GPL, это сделает ваш проект GPL несовместимым.
Если вы решите перейти с BSD на GPL позднее (например), и запросы на извлечение назначают необходимые права для изменения лицензии в рамках лицензионного соглашения участника, вы извлекаете код из других проектов, которые не согласились CLA может вызвать у вас некоторые головные боли.
Это общий случай ...
Для конкретного случая, когда файл лицензии изменился ... Я не знаю. Из простого чтения файла лицензии:
Этот бит указывает на то, что если вы хотите внести эти изменения, вам также необходимо изменить файл лицензии.
К сожалению, в настоящее время у вас нет четко определенного CLA. К счастью, в настоящее время у вас есть только 450 человек, чтобы спросить.
источник
NOTICES
файл, где мы будем хранить все сторонние лицензии.You grant to "The Company" (Civilized Discourse Construction Kit, Inc.) a non-exclusive, irrevocable, worldwide, royalty-free, sublicenseable, relicenseable, transferable license under all of Your relevant intellectual property rights, to use, copy, prepare derivative works of, distribute and publicly perform and display "The Contributions" on any licensing terms, including without limitation: (a) open source licenses like the GNU General Public (v2.0) license; ...
Если есть BSD-лицензированный исходный код, и кто-то разветвляет его, добавляя дополнительные патчи, то этот новый исходный код в новом репо должен включать точный файл лицензии BSD из исходного репо, а новые патчи должны быть лицензированы под новой лицензией (или даже та же лицензия). Таким образом, вилка должна иметь одну или две лицензии в хранилище. Не допускается редактирование исходной лицензии, поскольку это нарушает условия лицензии BSD.
Теперь, если исходное репо хочет выбрать патчи с вилки, тогда копия новой лицензии на форк должна быть добавлена к исходному репо. В конечном итоге оба хранилища будут иметь каждую лицензию, по одной на каждый набор исправлений.
SymPy также должен требовать, чтобы участники отказались от своих авторских прав на проект SymPy. Потенциально очень сложно разрешить авторам сохранять свои авторские права на отдельные патчи при представлении. Соглашение о вкладчике, разъясняющее это, необходимо, чтобы было ясно, что происходит.
источник