Уведомление об авторских правах GPL при добавлении новых файлов

Как мне написать уведомление об авторских правах GPL при добавлении новых файлов, а не при изменении файла? В проекте все файлы начинаются с:

/**
 * Some open source application
 * Component Foo
 * (C) 20?? by Scruffy H. Hacker ([email protected])
 * Released under the GPL
 *
 * Awesome description here.
 */

Должен ли я указывать только свое имя в уведомлении об авторских правах, например:

/**
 * Some open source application
 * Component Bar
 * (C) 20?? by Tobier Hackerson <[email protected])
 * Released under the GPL
 *
 * Awesome description here.
 */

Или я должен включить оригинального создателя проекта:

/**
 * Some open source application
 * Component Bar
 * (C) 20?? by Scruffy H. Hacker ([email protected])
 * (C) 20?? by Tobier Hackerson ([email protected])
 * Released under the GPL
 *
 * Awesome description here.
 */

person tobier    schedule 26.07.2012    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он касается лицензирования и юридических вопросов, а не программирования или разработки программного обеспечения. Подробности см. здесь, а справочный центр, чтобы узнать больше.   -  person Pang    schedule 06.06.2015
comment
Аналогичный вопрос на сайтеprogramrs.stackexchange.com: Как управлять уведомлением об авторских правах в проекте с открытым исходным кодом? Примечание: этот вопрос был опубликован всего за два дня до текущего!   -  person oHo    schedule 24.01.2016
comment
Я только что проголосовал за повторное открытие этого вопроса, чтобы переместить его на opensource.stackexchange.com   -  person oHo    schedule 24.01.2016
comment
@olibre: Можно его переместить? Разве это не слишком старо?   -  person Tom Zych    schedule 24.01.2016
comment
@TomZych Возможно, вы правы ... Я не знаю правил перемещения вопросов по веб-сайтам SE ... Но некоторая очистка будет приветствоваться :) Ура   -  person oHo    schedule 28.01.2016


Ответы (2)


ИАНАЛ

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

Вы должны соответствовать шаблону проекта, но обычно вы включаете что-то вроде:

* Released under the GNU General Public License

«GPL» на самом деле не так точна, как должна быть. Возможно, вам также потребуется указать версию. См. лицензию (Версия 2 или Версия 3) для получения подробной информации. В нынешнем виде теоретически он может быть выпущен под GPL версии 1, хотя вряд ли кто-то имел это в виду (но юристы не сочтут никаких проблем с таким предположением).

GNU GPL версии 2 предлагает (в конце, в разделе «Как применять эти условия к вашим новым программам»):

one line to give the program's name and an idea of what it does.
Copyright (C) yyyy  name of author

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

(и еще два абзаца).

person Jonathan Leffler    schedule 26.07.2012

GPL — это не лицензия на файл с авторским левом, а лицензия на весь пакет.

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

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

В соответствии с авторскими правами вы объединяете несколько работ нескольких авторов. Вы создаете совместную работу. Для каждой работы в смысле авторского права у вас есть авторы и правообладатели.

Таким образом, для комбинированной работы у вас также есть это авторское право.

Итак, для одного файла, если вы написали его самостоятельно, скажем, в 2012 году, поскольку вы являетесь автором, вы можете написать свой собственный заголовок об авторских правах:

/**
 * My Extension to some open source application
 *
 *  Copyright 2012 by Tobias Eriksson <[email protected]>
 */

Это было бы совершенно нормально для этого файла, если бы он находился на вашем жестком диске. Затем вы хотите распространять его, поэтому благоразумно сделать лицензию понятной. Допустим, вы выбрали GPL-3.0+. Следуя рекомендациям

и некоторые рекомендации по тегированию комментариев/докблоков:

вы можете расширить это с помощью номерного знака, как в следующем примере:

/**
 * My Extension to some open source application
 *
 *  Copyright 2012 by Tobias Eriksson <[email protected]>
 *
 * This file is part of some open source application.
 * 
 * Some open source application is free software: you can redistribute 
 * it and/or modify it under the terms of the GNU General Public 
 * License as published by the Free Software Foundation, either 
 * version 3 of the License, or (at your option) any later version.
 * 
 * Some open source application is distributed in the hope that it will 
 * be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
 */

Этот номерной знак гарантирует, что те, кто получит файл, смогут увидеть, под какой лицензией этот файл, какие права у них есть с кодом. Также они могут видеть оригинального автора с вашим заявлением об авторских правах. На мой взгляд, наиболее важной частью здесь является прояснение: а) кто является автором/владельцем авторских прав и б) что такое лицензия. Чтобы эта информация не потерялась, видна. Если вы хотите следовать рекомендациям, это зависит от вас. Чтобы не урезать свои собственные авторские права, я настоятельно рекомендую, по крайней мере, оставить указание на ваше имя, даже если по закону это не требуется (но у вас будут проблемы с документированием вашего авторства позже, если вы этого не сделаете, а кто-то другой поставит ее имя там).

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

Вы можете заранее спросить, как это управляется внутри проекта, обычно есть несколько способов сделать что-то, два распространенных:

  • Управление лицензированием и авторскими правами для каждого файла
  • Централизованно управляйте лицензированием и авторскими правами.

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

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

При централизованном подходе общепринятой процедурой является наличие так называемого файла АВТОРОВ (и, возможно, дополнительно УЧАСТНИКОВ), в котором перечислены авторы программного обеспечения, и файла КОПИРОВАНИЯ, содержащего лицензию (если он один для всего пакета, в противном случае основная плюс дополнительные лицензии).

Также может случиться так, что у вас смешаны оба понятия, например. весь пакет находится под лицензией GPL, но внутри кодовой базы также есть код под лицензиями типа MIT или BSD. Затем вы должны сохранить информацию о лицензии для этих частей, чтобы позволить вернуть изменения обратно в восходящую ветвь для этих частей. Кроме того, авторы, которые вносят свой вклад в эти части, должны знать, что им необходимо лицензировать свои изменения в соответствии с MIT / BSD, а также сохранить лицензирование этой части. Если вы хотите узнать больше об этом, а также некоторые подробности о том, как и где документировать лицензирование, рекомендуем прочитать следующее:

Затем центральный подход позволяет уменьшить заголовки авторских прав и номерные знаки поверх каждого файла:

/**
 * Some open source application
 *
 *  Copyright 2010, 2012 by it's authors. 
 *  Some rights reserved. See COPYING, AUTHORS.
 */

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

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

/**
 * Some open source application
 *
 *  Copyright 2012 by Tobias Eriksson <[email protected]>
 *  Copyright 2010, 2011 by Scruffy H. Hacker <[email protected]>
 *
 *  Licensed under GNU General Public License 3.0 or later. 
 *  Some rights reserved. See COPYING, AUTHORS.
 *
 * @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
 */

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

Смотрите также:

person hakre    schedule 05.08.2012
comment
Могу ли я добавить авторское право на этот файл (C) Myname в лицензию GPL? См.: programmers.stackexchange.com/questions/317749/ - person Mr_and_Mrs_D; 10.05.2016
comment
Я не ваш юрист, а просто разработчик программного обеспечения: не в тексте лицензии GPL, а для программного обеспечения. Однако, если программное обеспечение выпущено под лицензией GPL, вы должны четко указать, что оно выпущено под лицензией GPL (что, если вы являетесь владельцем авторских прав, решаете сами). - person hakre; 11.05.2016
comment
Да, это то, что я имел в виду, извините, если неясно (не в тексте GPL, а в файлах, это проект авторского права на файл, см. связанный вопрос). Спасибо :) - person Mr_and_Mrs_D; 11.05.2016
comment
Боюсь, это не совсем правильно с точки зрения лучших практик. В фондах Gnu говорится, что при лицензировании программы по лицензии GPL gnu.org/licenses /gpl-howto.en.html вы должны включить в КАЖДЫЙ исходный файл уведомление об авторских правах и заявление о том, что он находится под лицензией GPL. Идея состоит в том, что важно иметь эту информацию, даже если файл отделяется от остальной части программы. IMO, это важно, поскольку, если вы копируете файл из другого проекта и через несколько лет хотите изменить лицензии, вам нужно отследить всех авторов или переписать. - person Peter Gerdes; 04.06.2020
comment
@PeterGerdes: Да, такое предложение очень заметно в моем ответе, но, учитывая длину ответа и мой ограниченный английский, приятно видеть, что вы комментируете его важность. +1 - person hakre; 06.08.2020
comment
@hakre Я видел вашу ссылку на руководящие принципы, я просто подумал, что стоит прямо отметить, что GPL предлагает не отказываться от уведомления для каждого файла и просто использовать центральную систему, поскольку это не было ясно из вашего ответа (но, может быть, я я просто слепой). Не было критики. Тот факт, что GNU придерживается такой точки зрения, вряд ли можно назвать диспозитивным. RMS верит в какое-то абсолютно безумное дерьмо (вы видели его защиту стрелка Кеноши?). Пока не - person Peter Gerdes; 05.09.2020