Jak poprawnie licencjonować oprogramowanie open source

14

Mam projekt, nad którym pracowałem, i chciałbym wprowadzić go do nowego, publicznego repozytorium Github jako open source. Po wyszukaniu na StackExchange odpowiedniej licencji do użycia zdecydowałem się na licencję BSD.

Moje pytanie brzmi: co teraz? Czy muszę tylko skopiować tekst licencji BSD do pliku o nazwie LICENCJA w katalogu głównym mojego repozytorium i nazwać go dobrym? Czy to ogólna zasada działania wszystkich licencji typu open source? Czy też muszę powiadomić inną organizację, że korzystam z tej licencji, aby w razie potrzeby „ją wyegzekwować”?

Chris Smith
źródło
3
To pytanie zawiera potencjalnie przydatne podobne informacje o licencji. (Szczególnie przyjęta odpowiedź) programmers.stackexchange.com/questions/26761/…
John
@John - „shurely some mylić”. Pytanie, do którego się odnosisz, dotyczy warunków usługi, a nie licencji oprogramowania.
Stephen C
3
@John - przydatne, ale nie związane z tym pytaniem. Mógłbym „pożytecznie” opowiedzieć mu o alternatywach dla github, że ten open source to „spawn diabła” lub że powinien myć zęby każdego ranka. Ale ja nie ... ponieważ nie ma to znaczenia dla zadanego pytania.
Stephen C
@Stephen: W jaki sposób „Jeśli martwisz się o to, że zostaniesz pozwany, zwróć się do prawnika” nie ma znaczenia? Żeby było jasne, nie mówię, że pytanie jest duplikatem. IMHO, to nie jest.
John,
1
@gnat: Nie, to pytanie dotyczy sposobu zastosowania licencji po dokonaniu wyboru.
Martijn Pieters

Odpowiedzi:

7

Wystarczy dołączyć plik licencji do swojej pracy. Zwykle jednak zaleca się dodanie małego komentarza, który mówi, kto jest właścicielem praw autorskich i gdzie znaleźć pełny tekst licencji na górze każdego pliku źródłowego.

Nie musisz powiadamiać żadnej organizacji o wyegzekwowaniu licencji, jeśli ktoś złamie warunki, choć będzie to wymagało wniesienia sprawy do sądu.

david4dev
źródło
Nie zapomnij podać swojego imienia i nazwiska (nazwy podmiotu, który posiada prawa autorskie) i roku praw autorskich. (W przeciwieństwie do tego, na przykład: github.com/MikaelEliasson/EntityFramework.Utilities/blob/master/… )
John B. Lambe
4

Jeśli zdecydowałeś się na konkretną licencję odpowiadającą twoim potrzebom, wystarczy umieścić plik License.txt w widocznym miejscu w dystrybucji. Ponadto powinieneś upewnić się, że metadane github dla twojego projektu, pliki Maven POM itd. Również deklarują licencję w odpowiedni sposób.

Czy też muszę powiadomić inną organizację, że korzystam z tej licencji, aby w razie potrzeby „ją wyegzekwować”?

To nie jest konieczne. Egzekucja licencji jest całkowicie twoją odpowiedzialnością. (Nie chodzi o to, że trzeba dużo egzekwować ... z licencją BSD.)

Jeśli jednak byłeś przygotowany do korzystania z licencji GNU i przypisania praw autorskich do FSF (a twój projekt jest wart ochrony), zajmą się one egzekwowaniem licencji.

Stephen C.
źródło
Z drugiej strony, w ten sposób utracisz swoje prawa autorskie, a jeśli kiedykolwiek zdecydujesz się na korzystanie z własnego oprogramowania, nad którym ciężko pracowałeś w sposób zastrzeżony, zostaniesz przeniesiony. Gdy podpiszesz swoje prawa autorskie, możesz je egzekwować także wobec ciebie.
gnasher729,
To prawda. Jeśli masz ambicje używania swojego kodu w sposób zastrzeżony, powinieneś poświęcić znacznie więcej czasu na badanie wpływu różnych możliwości wyboru na wydanie i licencjonowanie kodu oraz egzekwowanie swoich praw własności intelektualnej.
Stephen C