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

60

Обычной практикой является размещение уведомлений об авторских правах, различных юридических оговорок и иногда даже полных лицензионных соглашений в каждом исходном файле проекта с открытым исходным кодом. Действительно ли это необходимо для (1) проекта с открытым исходным кодом и (2) проекта с закрытым исходным кодом? Что вы пытаетесь достичь или предотвратить, поместив эти уведомления в исходные файлы?

Я понимаю, что это юридический вопрос, и я сомневаюсь, что мы можем получить полностью компетентный ответ здесь, на сайте programmers.SO Это потому, что "все так делают" или у вас есть юридическая консультация? В чем была причина?

mojuba
источник

Ответы:

41

Это действительно необходимо?

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


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

Этот файл является частью <project>, которая выпущена под <license>.
Смотрите файл <filename> или перейдите на <url> для полной информации о лицензии.


Для чего-то еще, вы можете просто поместить текстовый файл LICENSE в корень проекта и любые соответствующие детали / credits / etc в файл README - это все еще защищено авторским правом (автоматически), так что это просто вопрос ясности лицензии в файл readme.

Питер Боутон
источник
1
+1 за то, что не выложил весь лицензионный образец. Я просто использую одну строку:Copyright YYYY First Last. Subject to the XYZ license.
mk12
1
Многим компаниям нравится иметь линию авторского права, потому что они хотят "управлять лицензией". Другими словами: проверьте, не скопировано ли что-нибудь из Интернета. По сути, они сканируют исходный код на наличие строки об авторских правах, которая на самом деле является первой строкой, содержащей «Copyright» / «(c)». Таким образом, эта строка должна содержать правообладателя (автора или компании) и подсказку, если это свободное программное обеспечение или нет. Следовательно, @ mk12 - это то, на что должен быть похож минимум. Потому что истина -> любая вторая или третья строка никогда не будет известна нигде, кроме как в исходном коде.
Гвидо У. Драхейм
12
Я хочу, чтобы Google "IANAL", но я немного боюсь это сделать.
Питер де Би
1
@PieterDeBie Это сокращение от «я не юрист»
Адам Линдберг
Было бы хорошо, если бы для <license> вы указали номер версии. LGPL 2.1 был хорошим защитным экраном для разработчиков с открытым исходным кодом. GPL 3.0 - это вирус, который пытается уничтожить все.
user922020
22

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

Вот почему важно иметь как минимум следующее в каждом исходном файле:

/* Copyright (C) 1883 Thomas Edison - All Rights Reserved
 * You may use, distribute and modify this code under the
 * terms of the XYZ license, which unfortunately won't be
 * written for another century.
 *
 * You should have received a copy of the XYZ license with
 * this file. If not, please write to: , or visit :
 */

Вы делаете две вещи, делая это:

  • Ваше право защищено независимо от того, как ваш код распадается и рассеивается в будущем.
  • Вы четко разъясняете условия использования, распространения и изменения, даже если кто-то получил только небольшую часть написанной вами библиотеки.

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

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

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

Тим Пост
источник
2
«Условия лицензии XYZ, которая, к сожалению, не будет написана в течение следующего столетия». Прошло 130 лет и считается. : P
Джо З.
Многим компаниям нравится иметь линию авторского права, потому что они хотят "управлять лицензией". Другими словами: проверьте, не скопировано ли что-нибудь из Интернета. По сути, они сканируют исходный код на наличие строки об авторских правах, которая на самом деле является первой строкой, содержащей «Copyright» / «(c)». В примере говорится, что это не бесплатное программное обеспечение, потому что это «Все права защищены», что подразумевает, что в третьем месте должен быть какой-то лист лицензии, может быть файл LICENSE.TXT или настоящая бумага. Из-за этого вы не нуждаетесь в стандартном тексте лицензии .
Гвидо У. Драхейм
4

Просто хотел отметить Open Source! = Нет авторских прав.

Open Source полагается на то, что кто-то заявляет об авторском праве, а затем принимает конкретный юридический документ (например, GPL), чтобы предоставить другим права на этот код.

То, что вы решили, подходит для закрытого исходного кода, также подходит и для открытого исходного кода.

Джеймс
источник
1
Хотя есть больше шансов, что один файл будет взят в другом месте из проекта с открытым исходным кодом, чем из закрытого источника, поэтому, возможно, уведомления об авторских правах в заголовках файлов имеют больше смысла в проекте с открытым исходным кодом ...
Джеймс
1
Лицензия не «отдает это авторское право». Он дает разрешения на использование и / или изменение и / или распространение.
Гленн Рандерс-Персон
@ GlennRanders-Pehrson Хороший вопрос, под редакцией.
Джеймс
2

Для любого проекта с открытым исходным кодом

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

По крайней мере, лицензия может отвечать на такие вопросы, как:

  • Присвоение: может ли кто-нибудь взять код и превратить его в другой проект? Хорошим примером такого явления является Google Chrome, основанный на открытом проекте Chromium.
    • Должны ли они дать вам кредит, получить разрешение и т.д ...
  • Коммерческое использование: может ли ваш код использоваться в коммерческих целях, например в Photoshop, в качестве сторонней библиотеки DLL? Если да, применяются ли другие условия?
  • Распространение: Должны ли какие-либо виды использования вашего кода использоваться в программном обеспечении с аналогичной / идентичной лицензией? Такие лицензии, как GPL, которые требуют этого, называются вирусными лицензиями (и я не знаю, является ли это отрицательным термином или просто констатацией факта).

И т. Д. Это ни в коем случае не исчерпывающий список, он просто дает вам представление о вопросах, которые будут четко указаны в лицензии.

doppelgreener
источник
1
Я думаю, что понимаю это, но почему юридические уведомления должны быть помещены в каждый исходный файл? Или если они не должны тогда, почему люди делают это?
Моджуба
Похоже, безопасный способ гарантировать, что лицензия не будет потеряна, если она отделена от исходного кода.
двойник
-1

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

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