Uważam, że jest to niepotrzebnie duplikowane, aby mieć go w każdym pliku kodu, ale widzę to w większości projektów open source. Powinienem zrobić to samo, czy po prostu dołączyć pojedynczą licencję poza kodem?
Uważam, że jest to niepotrzebnie duplikowane, aby mieć go w każdym pliku kodu, ale widzę to w większości projektów open source. Powinienem zrobić to samo, czy po prostu dołączyć pojedynczą licencję poza kodem?
Odpowiedzi:
Poproszę jeden poza kodem! Nie wiem o innych, ale nienawidzę widzieć tego samego w każdym pliku.
Wydaje mi się, że przeczytałem to kilka razy, po prostu przeglądając to page_down.
evidence for the legal situation
. Perhaps a lawyer can add a link to a court decision
.
EULA to niewłaściwy termin, ponieważ osoby oglądające kod źródłowy zwykle nie są użytkownikami końcowymi.
Z prawnego punktu widzenia to też nie ma znaczenia; prawa autorskie nie muszą być wyraźnie deklarowane.
Zasadniczo wszystko, co osiągasz, to mniejsze ryzyko przypadkowego naruszenia warunków licencji przez ludzi . Musisz zdecydować, jak ważne jest to dla Ciebie.
Powiedziałbym, że najlepszym kompromisem jest umieszczenie bardzo krótkiego nagłówka zawierającego odsyłacz (bezwzględny adres URL oraz względny w projekcie) do pełnego tekstu licencji w każdym pliku kodu źródłowego. W ten sposób każdy, komu zależy na licencji, wie, gdzie ją znaleźć (najlepiej ludzie, którzy są gotowi zapłacić ogromne opłaty licencyjne; z pewnością chcesz, aby ci ludzie mogli się z tobą skontaktować!)
Nie, nie musisz umieszczać licencji w każdym pliku kodu źródłowego.
Jeśli przyjrzysz się bliżej, większość aplikacji FOSS też tego nie robi. Umieszczają oświadczenie o prawach autorskich na górze każdego pliku i krótkie zdanie informujące, na jakiej licencji znajduje się plik i gdzie można znaleźć pełny tekst licencji. Zwykle kierują do pliku KOPIOWANIE lub LICENCJI zawierającego pełny tekst licencji i / lub strony internetowej zawierającej pełny tekst (na wypadek, gdyby pliku COPYING już tam nie ma).
Jak powiedział Michael Borgwardt w swoich odpowiedziach, zgodnie z prawem nie musisz tego robić. Jednak w przypadku kodu źródłowego, który zamierzasz rozpowszechniać, zaleca się natychmiastowe sprawdzenie, kto ma prawa autorskie i jaka jest licencja.
Może to zależeć od licencji. GPL rozróżnia preamble
ilicense
. Wyraźnie stwierdza się, że (irytująca) preambuła musi być częścią kodu :
Czy mogę pominąć preambułę GPL lub instrukcje, jak jej używać we własnych programach, aby zaoszczędzić miejsce?
Preambuła i instrukcje są integralnymi częściami GNU GPL i nie można ich pominąć. W rzeczywistości GPL jest objęta prawem autorskim, a jej licencja zezwala tylko na dosłowne kopiowanie całej GPL. (Możesz użyć warunków prawnych, aby stworzyć kolejną licencję, ale nie będzie to GNU GPL.) (1)
Źródło: 1) http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Zobacz także http://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
ZA Darmowy ebook z ifrOSS wyjaśnia i komentuje GPL 2 w języku niemieckim. Jest jeszcze jeden dla GPL 3
Aby uzyskać dobrze uzasadnioną odpowiedź, poproś o poradę prawną, która nie jest dostępna na sx. Jeśli nie możesz znaleźć prawnika dla swojego (open source) projektu, zajrzyj do sieci prawniczej FSFE .
[...] attach the following notices to the program.
- poniższe uwagi to tylko niewielka część pełnej licencji. safest to attach them to the start of each source file
- najbezpieczniejszy, ale nie wymagany. each file should have at least the "copyright" line and a pointer to where the full notice is found.
- jedynym wymaganiem jest wiersz dotyczący praw autorskich ze wskaźnikiem do reszty. Pełną licencję można umieścić w oddzielnym pliku.
Myślę, że powód umieszczenia go w każdym pliku jest uzasadniony prawem. Jeśli umowa jest w każdym pliku, nie ma szans, by ktoś natknął się na fragment kodu bez ujawnienia licencji.
Może nie jest dobry, ale wszyscy duzi chłopcy go używają, więc jeśli to tylko ból wizualny, szukałbym lepszego powodu, aby nie robić tego samego.
Jeśli używasz GPL, jest to większy problem, ale jeśli używasz licencji domeny publicznej, takich jak BSD lub MIT, nie sądzę, żeby tak naprawdę obchodziło cię, co ludzie robią z kodem. Przypuszczam, że zależy to od tego, jak surowe jest twoje prawo jazdy.
IANAL,
Zakładając, że mówisz o licencji, a nie o umowie licencyjnej, możesz umieścić licencję na zewnątrz. Prawie zawsze odbywa się to w przypadku naprawdę długich licencji, takich jak GPL. Byłoby głupio umieszczać całą licencję GPL w każdym pliku. Zwykle masz po prostu jakieś powiadomienie z informacją, gdzie można znaleźć właściwą licencję. Jest to całkowicie legalne. Jednak przy naprawdę krótkich licencjach, takich jak BSD / Apache / MIT / cokolwiek, łatwiej jest po prostu dołączyć licencję do każdego pliku, ponieważ informacja o tym, gdzie znaleźć licencję, byłaby prawie tak długa, jak sama licencja.
Zależy to od warunków licencji. Na przykład GPL nakazuje umieszczenie krótkiego powiadomienia w każdym pliku źródłowym, umieszczenie całej licencji w jakimś miejscu dystrybucji źródłowej i udostępnienie dystrybucji źródłowej każdemu, kto otrzyma kopię dystrybucji binarnej.
Jeśli się z tym nie zgadzasz, a to jest TWÓJ kod, możesz wybrać bardziej dogodną licencję lub stworzyć własną.
Jeśli twój kod ma zostać skompilowany, więc po prostu rozprowadzasz plik binarny, to naprawdę nie ma to znaczenia. Ponieważ podczas tworzenia pliku binarnego komentarze są usuwane przed rozpoczęciem procesu kompilacji. Ma to znaczenie tylko wtedy, gdy będziesz rozprowadzać rzeczywisty kod źródłowy w wersji open source lub zamkniętej. Jest to typowe, jeśli będziesz dystrybuować aplikację w języku skryptowym, który się nie kompiluje.
Nie potrzebujesz tego do licencji, pojedynczy plik zewnętrzny wystarczy, o ile jest jasne, jakie pliki obejmuje.
Jednak w przypadku praw autorskich należy umieścić informację o prawach autorskich na każdym fragmencie tekstu.
To, co robię, to umieszczenie dwuwierszowego komentarza na górze pliku, podającego nazwę mojej firmy, datę ostatniej zmiany i nazwę licencji, którą ma plik źródłowy, a następnie na samym dole pliku krótką wersję licencja.
Oczywiście pełna licencja (wszystkie w przypadku wielu licencji) jest zawsze dołączona do pliku źródłowego i katalogu wydań.