LINUX.ORG.RU
ФорумTalks

Форк проекта с лицензией BSD

 , ,


1

4

Есть заброшенный проект под лицензией BSD:

Copyright (C) 2009 Enrique Marcote, Miguel Rodriguez All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

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.

Neither the name of ERLANG TRAINING AND CONSULTING nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

Мы внесли в него много изменений: понаписали тестов, прикрутили dialyzer, исправили ошибки и т.п. Теперь есть желание выложить все это дело в open source.

Вопрос специалистам по всему: как грамотно оформить форк? Нужно ли менять название проекта? Как правильно указывать новые копирайты?

Словом, ткните в нужные маны.

★★★★★

как грамотно

Оригинальный код, с изменениями или без, должен остаться как есть под BSDL. Свой собственный код явно отделяй, используй для него и проекта в целом любую лицензию, если не нарушается BSDL.

Нужно ли менять название проекта?

Нужно. Или свяжись с Энрике и Мигелем, обсуди этот вопрос.

Как правильно указывать новые копирайты?

Во первых, твоё авторское право распространяется только на твоё собственное произведение, а также на те переработки оригинала, которые сами по себе создают произведение. То есть багфиксы, переименования переменных и перестановки деклараций функций местами не дают тебе права называться автором измененного кода. Вот из этого и исходи. Тесты твои, отдельные новые функции, скорее всего всё, чего не было в оригинале.

baka-kun ★★★★★ ()
Ответ на: комментарий от baka-kun

Лицензия != авторство. Иными словами весь проект может выйти под GPL без каких-либо осложнений.

Но согласен, что связаться с прежними авторами и обсудить с ними этот вопрос — это хороший тон.

Evgueni ★★★★★ ()
Ответ на: комментарий от Evgueni

всё остальное можно переделать

Распространение исходников под BSDL, даже измененных в составе твоего произведения, должно сопровождаться копирайтом автора, BSD лицензией на этот код и авторским отказом от гарантии.

baka-kun ★★★★★ ()
Ответ на: комментарий от Evgueni

Лицензия != авторство.

Весь проект в целом будет за авторством ТС, на него, как производное произведение, будет действовать лицензия по выбору автора проекта, если это не противоречит условиям оригинальных работ. Но это никак не влияет ни на лицензию, ни на авторство оригинала. Что требует закон об авторском праве и текст лицензии, на основании которой используется текст произведения, написано вполне доступным языком.

весь проект может выйти под GPL без каких-либо осложнений.

Естественно. Как сборник стихов Пушкина может выйти на условиях издателя и составителя. Но при этом оригинальное произведение (код или стихи) даже в составе производного сохраняет авторство и распространяется на условиях лицензии и закона об авторском праве. Я могу взять текст стихов Пушкина из любого закопирайченного сборника на условиях общественного достояния ровно также, как оригинальный текст из работы ТС на условиях BSDL.

baka-kun ★★★★★ ()
Последнее исправление: baka-kun (всего исправлений: 1)
Ответ на: комментарий от baka-kun

Ога, только код можно не демонстрировать. Возможно я коряво сказал про сохранения копирайта. Про обязательное сохранение BSD-лицензии на изменённый код я не очень уверен — там наверняка есть нюансы, позволяющие обойти это, упомянув автора и дав ссылку на прежний проект.

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

Ога, только код можно не демонстрировать

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

Про обязательное сохранение BSD-лицензии на изменённый код я не очень уверен

Основывать своё произведение на чужом можно только по закону, закон требует разрешения первоначального автора. Автор сказал: «ты можешь использовать и распространять моё произведение как есть или в измененном виде только в том случае, если мой код будет сопровождаться моим копирайтом, моей лицензией и отказом от гарантий».

baka-kun ★★★★★ ()
Ответ на: комментарий от Evgueni

Распространяешь в виде набора патчей - хоть под EULA.

Распространяешь в виде готового для компиляции набора сырцов, половина которых - оригинальный проект, - будь добр сохранить на файлах оригинального проекта BSDL в том виде, как была, даже если эти файлы патчились.

GPL конфликтует с оригинальной BSDL, поскольку накладывает дополнительные ограничения, которых оригинальная лицензия не предусматривает.

GateKeeper ★★ ()

главное авторов не затри и старые копирайты, своих авторов копирайты можно писать только в тех файлах где внесены существенные изменения (или логика) или новый функционал (вроде примерно с 1/3 размера исходников). В новых файлах старые копирайты и авторов писать не нужно, убирать можно только если их кода не осталось, как-то так.

qnikst ★★★★★ ()
Ответ на: комментарий от GateKeeper

GPL конфликтует с оригинальной BSDL, поскольку накладывает дополнительные ограничения, которых оригинальная лицензия не предусматривает.

BSDL как раз не запрещает накладывать дополнительные ограничения.

Dobriy_i_Prostoy ()
Ответ на: комментарий от Evgueni

Прочтите лицензию!

Лицензия != авторство. Иными словами весь проект может выйти под GPL без каких-либо осложнений.

Лицензия != авторство, факт. Но выпустить программу содержащую часть под BSDL с лицензией GP нельзя! GPL явным образом запрещает накладывать дополнительные требования, BSDL явным образом требует указывать авторство изначального кода. Таким образом BSDL и GPL не могут быть совмещены в одной программе.

Camel ★★★★★ ()
Ответ на: комментарий от Dobriy_i_Prostoy

Наоборот.

BSDL как раз не запрещает накладывать дополнительные ограничения.

Наоборот, GPL запрещает накладывать дополнительные требования. BSDL разрешает даже исходники не открывать, но требует указания которые из BSD'шных были использованы.

Camel ★★★★★ ()
Ответ на: Прочтите лицензию! от Camel

GPL нигде не требует выкидывать авторство — это параллельная вселенная. Весь проект может быть под GPL и его ответвление должны быть под GPL, но часть не изменённого (или слабоизменённого кода — что это значит — вопрос договорённостей) кода вполне может быть под BSD. BSD совместима с GPL.

Я перечитал FAQ по GPL — baka-kun говорит примерно также. Вопрос в точных определениях.

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

P.S. Кстати сам топикастер не уточнял под какой именно лицензией будут открываться исходники.

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от ymn

Тогда в чём вообще проблема? Не выкидывайте копирайты в старых исходниках и всё.

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: Наоборот. от Camel

Наоборот, GPL запрещает накладывать дополнительные требования. BSDL разрешает даже исходники не открывать, но требует указания которые из BSD'шных были использованы.

GPL запрещает. BSDL не запрещает. BSDL не содержит ограничений, не предусмотренных GPL (речь конечно про современную версию BSDL). Таким образом никто ни с кем не конфликтует.

Dobriy_i_Prostoy ()

почему народ тут советует gpl если в ОП посте она не указана? открой BSD лицензию и почитай, что они требуют.

x0r ★★★★★ ()
Ответ на: комментарий от Dobriy_i_Prostoy

Еще раз. Читай лицензию дословно: «Как только ты выполнил нижеследующие условия: - авторство (баннер), - текст данной лицензии, - отказ от гарантий, ты имеешь право распространять данный продукт в исходниках и/или бинарном виде»

Всё. Точка. Снизу хоть сто раз gpl пристегни, после еще десяток EULA, они не применяются для данного продукта, поскольку, в терминах программирования, становятся заключенными в if (false) {}.


if (author_claimed && this_license_claimed && warranty_refused) {
  goto license_legit;
} else {
  goto license_non_legit;
}
// Another License block
if (.....) {
  goto license_legit;
} else {
  goto license_non_legit;
}

license_legit:
  app_main();
license_non_legit:
  exit(LICENSE_NON_LEGIT_CODE);
GateKeeper ★★ ()
Последнее исправление: GateKeeper (всего исправлений: 1)

Зачем нужен форк если проект заброшен? Какой смысл его переименовыать?
Рекомендую почитать эссе Реймонда, у него подымаются подобные вопросы. AFAIR, он рекомендует связаться с автором проекта и сообщить ему о своем желании взять проект под свою опеку, если же автор не отвечает то сообщить в почтовой рассылке проекта (или подобном публичном месте) о своих намерениях. После выдержать некоторую паузу и смело считать себя владельцем.

urxvt ★★★★★ ()
Ответ на: комментарий от GateKeeper

Еще раз. Читай лицензию дословно: «Как только ты выполнил нижеследующие условия: - авторство (баннер), - текст данной лицензии, - отказ от гарантий, ты имеешь право распространять данный продукт в исходниках и/или бинарном виде»

И что здесь явялется ограничем, не предусмотренным GPL?

Dobriy_i_Prostoy ()
Ответ на: комментарий от urxvt

Зачем нужен форк если проект заброшен?

потому что автор не отвечает на почту.

Рекомендую почитать эссе Реймонда

ссылку.

ymn ★★★★★ ()
Ответ на: комментарий от Evgueni

слабоизменённого кода — что это значит — вопрос договорённостей

Скорее это вопрос интерпретации суда с подачи экспертов. Копирайт даёт только оригинальная и творческая работа, а багфиксы, форматирование и рефакторинг к ней не относятся. Поэтому самый правильный совет будет и самым простым: собственный код пиши в отдельных файлах со своими копирайтом и лицензией, оригинальный код as is или модифицированный оставляй где был под его лицензией.

baka-kun ★★★★★ ()
Ответ на: комментарий от baka-kun

Поэтому самый правильный совет будет и самым простым: собственный код пиши в отдельных файлах со своими копирайтом и лицензией, оригинальный код as is или модифицированный оставляй где был под его лицензией

Свободные лицензии придумали не для того, чтобы потом приходилось страдать подобными извращениями.

Dobriy_i_Prostoy ()
Ответ на: комментарий от ymn

собираемся сохранить 3-clause BSDL

В таком случае не мучайся. Там где добавил новые функции, а не просто косметику навел, добавь над существующей свою строку Copyright (C) 2013 ymf. Новые файлы без чужого кода целиком твои.

baka-kun ★★★★★ ()
Ответ на: комментарий от Dobriy_i_Prostoy

Я отвечу на правильно заданный вопрос: «Что из ограничений GPL не предусмотрено оригинальной лицензией BSD?». Ответ: «почти все».

GateKeeper ★★ ()
Ответ на: комментарий от Dobriy_i_Prostoy

Свободные лицензии придумали не для того, чтобы потом приходилось страдать подобными извращениями.

Свободные лицензии придумали не для того, чтобы заменять одну на другую без согласия автора. Если автор выбрал форму распространения своего произведения, то кто ты такой, чтобы «закрывать» его код? Закон об авторском праве защищает всех в равной мере.

baka-kun ★★★★★ ()
Ответ на: комментарий от GateKeeper

Надо понимать, что и в составе GPL-произведения BSD-код может распространаться только на условиях BSDL.

baka-kun ★★★★★ ()
Ответ на: комментарий от baka-kun

Свободные лицензии придумали не для того, чтобы заменять одну на другую без согласия автора. Если автор выбрал форму распространения своего произведения, то кто ты такой, чтобы «закрывать» его код?

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

Dobriy_i_Prostoy ()
Ответ на: комментарий от Dobriy_i_Prostoy

Если более юридически точно, автор разрешил на основе своей работы создать производную работу и ее распространять под какой угодно лицензией

Этого нет в тексте BSDL. Там есть только три условия, при исполнении которых ты имеешь право распространять данный продукт, одно из которых: сохранение текста самой BSDL.

BSDL позволяет заменять лицензию без специального согласия автора

Нет.

GateKeeper ★★ ()
Последнее исправление: GateKeeper (всего исправлений: 1)
Ответ на: комментарий от Dobriy_i_Prostoy

BSDL позволяет заменять лицензию без специального согласия автора.

при условии сохранения изначальных копирайтов и указаний авторства. GPL запрещает накладывать ограничение на то, что в коде обязательно должны быть сохранены копирайты и авторство. Итог, BSD не является GPL совместимой, если есть другая информация, то пруфлинк на официальное подтверждение приветствуется.

qnikst ★★★★★ ()
Ответ на: комментарий от GateKeeper

Этого нет в тексте BSDL. Там есть только три условия, при исполнении которых ты имеешь право распространять данный продукт, одно из которых: сохранение текста самой BSDL.

Там сказано «с изменениями или без». Соответственно автор имеет право создать производную работу. И ничего не сказано об ограничениях на лицензию производной работы.

Dobriy_i_Prostoy ()
Ответ на: комментарий от qnikst

Итог, BSD не является GPL совместимой, если есть другая информация, то пруфлинк на официальное подтверждение приветствуется.

Статья в Википедии пойдет?

Dobriy_i_Prostoy ()
Ответ на: комментарий от Dobriy_i_Prostoy

Если в производной работе автор этой производной работы укажет авторов оригинальной работы, то и лицензия должна быть оригинальной работы («с изменениями или без»). Если не укажет - то хоть EULA пусть ставит, однако, если авторы оригинальной работы докажут в суде, что производная работа - есть ни что иное, как оригинальная с изменениями, то автору производной грозит нарушение законодательства о копирайте.

GateKeeper ★★ ()
Ответ на: комментарий от Dobriy_i_Prostoy

BSDL позволяет заменять лицензию

Нет, такого права она не передаёт.

автор разрешил на основе своей работы создать производную работу и ее распространять под какой угодно лицензией

Да, производная работа в целом может распространяться как угодно, если не нарушаются условия BSDL. Но оригинальный исходный код в её составе, с модификациями или без, лицензию не меняет, и распространяться может только на условиях BSDL.

baka-kun ★★★★★ ()
Ответ на: комментарий от Dobriy_i_Prostoy

согласен BSD-3/2 совместима с GPL. Но при этом лицензию на распространяемые файлы нельзя изменить.

Why is the original BSD license incompatible with the GPL?

Because it imposes a specific requirement that is not in the GPL; namely, the requirement on advertisements of the program. Section 6 of GPLv2 states:

You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

GPLv3 says something similar in section 10. The advertising clause provides just such a further restriction, and thus is GPL-incompatible.

The revised BSD license does not have the advertising clause, which eliminates the problem.

qnikst ★★★★★ ()
Ответ на: комментарий от qnikst

GPL запрещает накладывать…

Не тупи. Указывать автора цитаты или оригинальной работы требует закон и элементарная порядочность. Вообще не понимаю, откуда малообразованные апологеты GPL взяли возможность форкнуть чужой код и вымарать из него имена авторов и их копирайты? GPL вообще требует «(the) work must carry prominent notices stating that you modified it, and giving a relevant date».

baka-kun ★★★★★ ()

У копирайтов обычно год стоит. Часто видел, как ниже дописывают еще строчку, уже с текущим годом и другими данными.

Но лучше с авторами связаться, скорее всего большинство вопросов решатся намного проще, чем вы предполагаете.

Vit ★★★★★ ()
Ответ на: комментарий от Vit

Да, по-моему можно после его строчки «Copyright...» дописать свою такую же «Copyright...» с указанием года. И кажется, все на этом.

dave ★★★★★ ()
Ответ на: комментарий от baka-kun

реально затупил, там другой пункт несовместимым делал.

qnikst ★★★★★ ()

А вот название проекта - другая вещь. Тут по-моему другие правила. Наверное, лучше изменить.

dave ★★★★★ ()
Ответ на: комментарий от Evgueni

GPL требует, но другое.

GPL нигде не требует выкидывать авторство — это параллельная вселенная.

Я за другое говорил. GPL не требует выкидывать авторство, равно не требует его указывать. Однако BSD требует указывать авторство, то есть накладывает дополнительное требование которого в GPL нет.

Camel ★★★★★ ()
Ответ на: GPL требует, но другое. от Camel

проблема в пункте

3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <organization>.

он есть только в BSD-4.

qnikst ★★★★★ ()
Ответ на: GPL требует, но другое. от Camel

Нельзя присваивать себе авторство чужого продукта — это условие не лицензии, это закон такой. За списывание в цивилизованных странах (в частности в России начались попытки сделать правильно) смертным боем бьют канделябром.

Evgueni ★★★★★ ()
Ответ на: O'Rly? от Camel

На fsf.org в разделе gpl-faq

Evgueni ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.