LINUX.ORG.RU

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

 , ,


0

2

Сабж. Допустим, я утащил некую давно не развивающеюся библиотеку к себе в проект и внёс довольно много изменений. Как правильно в header-ах указать, что это именно форк, а не оригинальная библиотека? Лицензия - MIT.

★★

Последнее исправление: CYB3R (всего исправлений: 1)

Наверное для начала стоит сменить название проекта.

fat_angel ★★★★★
()

А что, MIT этого требует? Нужно только сохранить имена старых разрабов и изменить имя проекта.

x0r ★★★★★
()

После любых внесенных в нее изменений формально эта библиотека превращается в новый «объект авторского права» (с наследованием ограничений из исходных лицензий). Пишешь в readme новое имя форка, лицензию со своим именем + что он основан на таких-то проектах да под такими-то лицензиями (и текст этих лицензий прикладываешь). С переписыванием хедеров файлов вроде никто обычно не заморачивается (кроме измененных файлов, где IDE их сама может сменить).

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

а ежели хедеры в два экрана раздражают?

в нормальных IDE/редакторах есть возможность их сворачивать

wota ★★
()

Меняешь файл — дописываешь себя к списку авторов в шапке.

Существенно меняешь — пишешь себя, остальных убираешь.

Про форк напиши в README.

k_andy ★★★
()

Так и напиши.

This code (function, class) is derived from code of the Blah-blah.

Дальше список авторов и себя вписываешь. Если изменений очень много, то вписывай себя в начало этого списка.

gatsu
()
Ответ на: комментарий от post-factum

ОК.

Кстати, вот нифига не въезжаю я в эту GPL: можно ли, если ты взял что-то чужое, поспихивать оригиналы в один/N файл[ов] с полным сохранением шапки (имеется в виду: оригиналы нужных функций + функции, которые ты подправил), а все свое — запихать в свои файлы, соответственно, со своей шапкой?

Eddy_Em ☆☆☆☆☆
()
Последнее исправление: Eddy_Em (всего исправлений: 1)
Ответ на: комментарий от post-factum

1. Я имею в виду: изменить структуру оригинала. Допустим, было там 10 файлов, а тебе из них нужны по 3-5 функций с каждого. Ты их ctrlc-ctrlv в отдельный файл, к нему добавляешь GPL-шапку с копилефтом авторов, а все свое уже по-своему делаешь, со своими копилефтами.

А то не хочется разводить мусорку...


2. Да, а еще мне иной раз бывает нужно выдрать, скажем, из проекта A пару-тройку функций, из проекта B пару-тройку и т.п. Как в этом случае быть? Не фигачить же все целиком?

// кстати, вспоминаю, как использовал что-то чужое с дурацкой лицензией, запрещающей модификацию, но разрешающей распространение. И пришлось в дополнительном файле делать всякий бред вроде #define main(...) notmain(__VA_ARG__), чтобы все работало, как надо…

Eddy_Em ☆☆☆☆☆
()
Последнее исправление: Eddy_Em (всего исправлений: 1)
Ответ на: комментарий от post-factum

Это когда такое стало можно делать?

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

k_andy ★★★
()
Ответ на: комментарий от post-factum

Это когда такое стало можно делать?

У меня вот затесались копирайты одного автора, который лицензировал код как GPLv2 only, а проект в целом лицензирован по GPLv2+. Видимо, предыдущие разрабы не обратили внимания на конфликт лицензий. Я просмотрел сорцы, обнаружил, что от его кода остались только тела пары функций, которые один черт давно надо рефакторить. Отрефакторил, копирайт выкинул.

Где я не прав?

geekless ★★
()
Ответ на: комментарий от post-factum

Ну вытаскиваешь функцию, а в хедере пишешь её название и её же автора.

Кстати, а что делать, если автор функции неочевиден. Например, понравилась мне реализация /lib/md5.c из исходников linux, и я её целиком станул в свой GPL-проект. Лицензия, очевидно, GPLv2, а автор — кто-то из списка в файле CREDITS. Я теперь обязан у себя в шапке перечислить весь CREDITS?

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

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

post-factum ★★★★★
()
Ответ на: комментарий от mm3

а ежели хедеры в два экрана раздражают? их можно удалить к чёртовой бабушке?

Если в лицензии указано, что из стерать нельзя, то нет, их стерать нельзя.

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

Я просмотрел сорцы, обнаружил, что от его кода остались только тела пары функций, которые один черт давно надо рефакторить. Отрефакторил, копирайт выкинул.

Всё равно это derived work, даже если и рефакторино. Т.ч. неправ.

Единственное исключение IMHO, если этот рефакторинг был сделан как clean-room. Тогда да, автор только ты.

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

Всё равно это derived work, даже если и рефакторинг.

Так можно почти любую контору принудить открыть код под GPL.

1. Находим программиста, который читал (или коммитил в проект) под GPL.

2. Доказываем, что не прочитав того кода, он вряд ли написал бы именно так.

Или второй вариант: Иванов пишет код для FreeBSD и выкладывает на своей домашней страничке под GPL. Петров его копипастит и коммитит в FreeBSD как свой. Ждёт пока на этот код завяжется код остальной части проекта. Объявляет что этот код GPL. Далее выкинуть не выйдет, потому что «всё равно это derived work, даже если и рефакторинг»

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

Я теперь обязан у себя в шапке перечислить весь CREDITS?

Просто указываешь, что функция из такого-то файла такого-то проекта под такой-то лицензией.

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

Всё равно это derived work, даже если и рефакторино.

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

geekless ★★
()
24 марта 2014 г.
Ответ на: комментарий от monk

2. Доказываем, что не прочитав того кода, он вряд ли написал бы именно так.

Задолбаешься доказывать. А вобще чтение GPL кода не везе приветствуется.

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