Informacje o prawach autorskich / wyłączenia odpowiedzialności w plikach źródłowych

60

Powszechną praktyką jest umieszczanie informacji o prawach autorskich, różnych prawnych wyłączeń prawnych, a czasem nawet pełnych umów licencyjnych w każdym pliku źródłowym projektu typu open source. Czy jest to naprawdę konieczne w przypadku (1) projektu typu open source i (2) projektu typu open source? Co próbujesz osiągnąć lub zapobiec, umieszczając te powiadomienia w plikach źródłowych?

Rozumiem, że jest to pytanie prawne i wątpię, abyśmy mogli uzyskać w pełni kompetentną odpowiedź tutaj w programistach. SO (to dla programistów, prawda?) Ciekawe jest również, gdy umieścisz legalne treści w plikach źródłowych , czy to dlatego, że „wszyscy to robią”, czy otrzymaliście porady prawne? Jakie było uzasadnienie?

mojuba
źródło

Odpowiedzi:

41

Czy to naprawdę konieczne

Nie. Nie jest to wymagane prawnie. (Nie jestem prawnikiem, ale widziałem to stwierdzone przez jednego).


Jeśli masz projekt, w którym pojedyncze pliki mogą być wyjęte z kontekstu, może to być rozsądne - ale wymaga tylko kilku linii, aby powiedzieć coś takiego:

Ten plik jest częścią <projektu> wydanego na licencji <license>.
Zobacz plik <nazwa pliku> lub przejdź do <url>, aby uzyskać szczegółowe informacje na temat licencji.


W każdym innym przypadku możesz po prostu umieścić plik tekstowy LICENCJA w katalogu głównym projektu, a wszelkie istotne szczegóły / kredyty / itp. W pliku README - nadal jest chroniony prawami autorskimi (automatycznie), więc jest to tylko kwestia jasności licencji plik readme.

Peter Boughton
źródło
1
+1 za nie umieszczenie całej tablicy rejestracyjnej licencji. Używam tylko jednego wiersza:Copyright YYYY First Last. Subject to the XYZ license.
mk12
1
Wiele firm lubi mieć linię praw autorskich, ponieważ chcą „zarządzać licencjami”. Innymi słowy: sprawdź, czy GPL'ish nie skopiował z Internetu. Zasadniczo skanują kod źródłowy w poszukiwaniu linii praw autorskich - która tak naprawdę jest tylko pierwszą linią zawierającą „Copyright” / „(c)”. Tak więc wiersz ten powinien zawierać właściciela praw autorskich (autora lub firmę) oraz wskazówkę, czy jest to wolne oprogramowanie, czy nie. Dlatego @ mk12 ma rację, jak powinno wyglądać minimum. Ponieważ prawda jest taka -> każda druga lub trzecia linia nigdy nie będzie znana nigdzie indziej niż w kodzie źródłowym.
Guido U. Draheim
12
Chcę google „IANAL”, ale trochę się boję.
Pieter De Bie,
1
@PieterDeBie Krótko mówiąc „Nie jestem prawnikiem”
Adam Lindberg
Byłoby miło, gdybyś dla <license> podał numer wersji. LGPL 2.1 była przyjemną tarczą ochronną dla programisty open source. GPL 3.0 to wirus, który próbuje konsumować wszystko.
user922020
21

Można po prostu umieścić informację o prawach autorskich, która wspomina o pliku LICENCJI, jednak nie ma gwarancji, że po wydaniu kod pozostanie atomowy. W rzeczywistości jest całkiem prawdopodobne, że fragmenty zostaną zremiksowane w co najmniej kilku innych projektach.

Dlatego ważne jest, aby w każdym pliku źródłowym były przynajmniej następujące elementy:

/* 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 :
 */

W ten sposób osiągasz dwie rzeczy:

  • Twoje prawa autorskie są dochodzone bez względu na to, jak Twój kod się rozpadnie i rozproszy w przyszłości.
  • Warunki korzystania, dystrybucji i modyfikacji są dość jasne, nawet jeśli ktoś otrzymał tylko niewielką część napisanej przez ciebie biblioteki.

Wiele osób podaje również swój adres e-mail objęty prawem autorskim, co jest pomocne w otrzymywaniu łat w przyszłości. W zeszłym miesiącu otrzymałem łatkę na kod, który napisałem pięć lat temu i od dawna o niej zapomniałem. Oczywiście oznacza to utrzymanie adresu e-mail i pogodzenie się z odrobiną spamu.

Jeśli kiedykolwiek rzeczywiście trzeba egzekwować swoje prawo, to jest krytyczna , że druga strona nie może powiedzieć, że warunki były niejednoznaczne lub ich brakuje, wszystkie żarty na bok.

Ponadto fajnie jest patrzeć, jak fragmenty kodu trafiają do innych bitów i kawałków kodu w czasie. Większość ludzi gra uczciwie i szanuje prawa autorskie i warunki licencji.

Tim Post
źródło
2
„warunki licencji XYZ, która niestety nie zostanie napisana na kolejny wiek”. Minęło 130 lat i wciąż rośnie. : P
Joe Z.
Wiele firm lubi mieć linię praw autorskich, ponieważ chcą „zarządzać licencjami”. Innymi słowy: sprawdź, czy GPL'ish nie skopiował z Internetu. Zasadniczo skanują kod źródłowy w poszukiwaniu linii praw autorskich - która tak naprawdę jest tylko pierwszą linią zawierającą „Copyright” / „(c)”. Przykład mówi, że nie jest to wolne oprogramowanie, ponieważ jest „Wszelkie prawa zastrzeżone” - co oznacza, że ​​musi być jakiś arkusz licencyjny na trzecim miejscu, może to być plik LICENSE.TXT lub prawdziwy papier. Z tego powodu nie potrzebujesz tekstu licencji na szablon .
Guido U. Draheim
4

Chciałem tylko zauważyć, że Open Source! = Brak praw autorskich.

Open Source polega na tym, że ktoś dochodzi praw autorskich, a następnie przyjmuje określony dokument prawny (taki jak GPL), aby dać innym prawa do tego kodu.

Zatem wszystko, co zdecydujesz, jest odpowiednie dla zamkniętego kodu źródłowego, jest również odpowiednie dla kodu otwartego.

James
źródło
1
Chociaż istnieje większe prawdopodobieństwo, że pojedynczy plik zostanie pobrany w innym miejscu z projektu open source niż projekt zamknięty, więc może uwagi o prawach autorskich w nagłówkach plików mają większy sens w projekcie open source ...
James
1
Licencja nie „ujawnia tego prawa autorskiego”. Daje to uprawnienia do używania i / lub modyfikowania i / lub redystrybucji.
Glenn Randers-Pehrson
@ GlennRanders-Pehrson Good point, edytowany.
James
2

Dla każdego projektu typu open source

Definiujesz warunki, w których kod ma być używany i rozpowszechniany (lub nie, w zależności od tych warunków).

Licencja może przynajmniej odpowiadać na pytania takie jak:

  • Przywłaszczenie: Czy ktoś może wziąć kod i przekształcić go w inny projekt? Dobrym przykładem takiego zjawiska jest Google Chrome oparty na projekcie Chromium typu open source.
    • Czy muszą dać ci kredyt, poprosić o pozwolenie itp.
  • Zastosowanie komercyjne: czy Twój kod może być wykorzystywany komercyjnie, na przykład w Photoshopie jako biblioteka DLL innej firmy? Jeśli tak, czy mają zastosowanie inne warunki?
  • Redystrybucja: Czy jakiekolwiek użycie twojego kodu musi być w oprogramowaniu z podobną / identyczną licencją? Licencje takie jak GPL, które tego wymagają, nazywane są licencjami wirusowymi (i nie wiem, czy to negatywny warunek, czy tylko stwierdzenie faktu).

Itd. To wcale nie jest wyczerpująca lista, tylko po to, aby dać ci wyobrażenie o pytaniach, które licencja jasno by określała.

doppelgreener
źródło
1
Myślę, że to rozumiem, ale dlaczego w każdym pliku źródłowym należy umieszczać uwagi prawne? A jeśli nie, to dlaczego ludzie to robią?
mojuba,
Brzmi jak bezpieczny sposób zagwarantowania, że ​​licencja nie zostanie utracona, jeśli zostanie oddzielona od kodu źródłowego.
doppelgreener
-1

Innym powodem umieszczenia praw autorskich do Twojego kodu jest to, że informuje on innych, kto go napisał. Lubię widzieć, skąd pochodzi kod i jak długo on istniał. Ciekawe i przydatne jest zobaczenie, jak kod został wykorzystany w innych projektach. Więc nawet jeśli z prawnego punktu widzenia nie musisz umieszczać na nich swoich praw autorskich, dodaj je ze względów informacyjnych. - Thornton

Thornton
źródło
1
To nie odpowiada na pytanie. Pytanie nie dotyczyło tego, czy umieścić informację o prawach autorskich, ale czy umieścić cały tekst licencji w każdym pliku źródłowym.
Brandin