Jak mogę stworzyć własną licencję na oprogramowanie? [Zamknięte]

17

Widziałem wiele licencji na wszelkiego rodzaju oprogramowanie, takie jak GNU GPL, licencja BSD, licencja MIT i LGPL. Jak wygląda proces tworzenia nowej licencji na oprogramowanie, takiej jak „ogólna licencja Johna Doe”?

Rrjrjtlokrthjji
źródło
8
@Nacięcie. Możesz pisać własne. Ale prawdopodobieństwo, że dostaniesz to, czego naprawdę chciałeś, określone w licencji, jest niewielkie lub nie istnieje (chyba że jesteś prawnikiem). Język prawniczy nie jest trywialny i skomplikowany, a prawnicy mają również doświadczenie w zapętleniach (przepraszam za szczególne warunki), które poprzednio wstrzymywały się przed sądem. Wszystkie wymienione licencje zostały starannie opracowane przez zespoły doświadczonych prawników (nawet jeśli nie były to pierwsze wersje).
Martin York
4
Radzę tylko, że nie udzielam
porady
2
To świetne pytanie. Szkoda, że ​​to nie na temat.
Jeroen
1
@MartinYork Język prawniczy nie jest jakimś specjalnym językiem. W języku angielskim używają angielskiego w umowach. Czy są słowa, które nie są powszechnie używane, gdy idziesz do Starbucks, które pojawiają się w umowach? Jasne, ale tak jest w przypadku „żargonu” na stacji benzynowej. Możesz jednak iść do starbucks i poprosić ich o napełnienie dużego podręcznego zbiornika zwykłym czarnym paliwem energetycznym do 3,5 $ (zakładając, że to cena za dużą kawę), a będziesz doskonale zrozumiany, bez użycia „żargonu kawowego”
Andrei
1
@Andrei Nie zgadzam się. Język prawny jest podzbiorem języka angielskiego. Angielski może być bardzo nieprecyzyjny. Tak więc język prawny w umowach zwykle używa słów o bardzo specyficznym znaczeniu, aby upewnić się, że nie ma dwuznaczności. W związku z tym dobrym pomysłem jest pozyskanie eksperta w pisaniu we właściwym stylu.
Martin York

Odpowiedzi:

29
  1. Otwórz edytor.
  2. Napisz warunki licencji.
  3. Zapisz plik.
  4. Uwzględnij w projekcie.

Ogólnie rzecz biorąc, to wszystko. Poważnie.

Nie wierzysz mi? Sprawdź licencję Phila Sturgeona na Don't Be A Dick (a także WTFPL, która ją zainspirowała).

To powiedziawszy, nie wiadomo, czy licencje na oprogramowanie są prawnie wykonalne , nawet jeśli prawnik je napisał (przynajmniej w Stanach Zjednoczonych i zależy to niemal wyłącznie od kaprysu sędziego lub organu odpowiedzialnego za prawa autorskie). Mówiąc bardziej ogólnie, jako autor oprogramowania, jesteś już objęty prawem autorskim swojego kraju (zakładając, że podjąłeś kroki, aby twoje dzieło podlegało prawu autorskiemu; w USA to po prostu wykonanie dzieła).

Sprowadza się to do tego, co chcesz osiągnąć dzięki swojej licencji, wykraczając poza (lub zamiast) prawa autorskie. W przypadku takich licencji, jak licencja DBaD Phila, jest to w dużej mierze kwestia zasady honoru i wzajemnego szacunku.

Jeśli chcesz, aby było to prawnie wykonalne (lub przynajmniej masz taką szansę), na przykład wypuszczenie produktu z zamkniętych źródeł, najprawdopodobniej zechcesz porozmawiać z prawnikiem. W ten sposób możesz upewnić się, że nie ma żadnych rażących luk i możesz napisać to w taki sposób, aby sędzia / partia rządząca częściej decydowała na twoją korzyść w przypadku, gdy ktoś ją naruszy.

EllisLab (firma stojąca za CodeIgniter) doskonale wyjaśnia licencjonowanie oprogramowania (i cały tydzień blogów na ten temat), zarówno z prawnego punktu widzenia, jak i z punktu widzenia twórcy FLOSS oraz zasady honoru, o której wspomniałem powyżej.

(Oświadczenie: Nie jestem prawnikiem, to nie jest prawnie wiążąca rada, bla, bla, bla. Jestem tylko programistą, który musiał przechylić palcami wokół legalnego pola minowego, jakim jest tworzenie oprogramowania i licencjonowanie. W razie wątpliwości , porozmawiaj z kimś, kto jest prawnikiem, najlepiej z prawami autorskimi, patentami i / lub licencją).

Shauna
źródło
1
+1 za udzielenie odpowiedzi na aktualne pytanie, a następnie zapewnienie prawidłowego działania
David Peterman
1
Podoba mi się licencja „Don't be a Dick”. Jest nawet lepszy niż WTFPL.
Robert Harvey
Warto zauważyć, że „Don't be a Dick License” w żadnym wypadku nie jest licencją darmową / libre / „open source”.
Dmitrij Aleksandrow
16

Odpowiedz użytkownikowi na następujące pytanie:

  1. Czy Twój produkt jest oprogramowaniem typu open source, tzn. Czy mogę otrzymać kopię kodu źródłowego?

    • Jak mogę użyć twojego kodu źródłowego? Czy mogę swobodnie skopiować go do własnych aplikacji, czy też muszę połączyć się z Twoim plikiem binarnym? Jeśli używam twojego kodu we własnej aplikacji, czy istnieje limit ilości twojego kodu, którego mogę użyć? Czy muszę umieszczać nagłówek licencji lub atrybucji u góry każdego pliku źródłowego, który redystrybuuję, zawierającego Twój kod, lub w polu Pomoc / Informacje o moim pliku binarnym?
  2. Co mogę zrobić z twoim produktem? Czy mogę korzystać z jednego komputera? Czy mogę go używać na więcej niż jednym komputerze? Czy mogę go redystrybuować lub odsprzedawać?

  3. Jeśli używam twojego produktu jako części innej aplikacji, którą piszę, czy muszę być również open source?

  4. Jak gwarantujesz swój produkt? Czy jesteś prawnie odpowiedzialny, jeśli mam problemy?

  5. Jakie są warunki redystrybucji? Czy mogę redystrybuować twój produkt jako część produktu, który piszę? Jeśli podasz źródło, czy mogę zmodyfikować bibliotekę i rozpowszechnić modyfikacje, a jeśli tak, to jakie warunki muszę spełnić?

Sprawdź inne licencje i zobacz, w jaki sposób odpowiedzieli na te pytania.

Robert Harvey
źródło
6

Jest zaskakująco podobny do tego, co robią programiści:

Dajesz prawnikowi (lub działowi prawnemu dużej korporacji) listę wymagań dotyczących tego, na co zezwala licencja i na co nie zezwala (np. Licencja jest tylko dla jednego użytkownika, jest tymczasowa, nie możesz używać oprogramowania do niektórych celów itd.) i „tłumaczą” to na prawników, podobnie jak tłumaczymy wymagania na kod.

Na przykład „licencja jest tylko dla jednego użytkownika” jest zwykle tłumaczone na coś podobnego do tego: „FooCorp Inc. udziela ci jednej, niewyłącznej, nieprzenoszalnej licencji na instalację i używanie FooSoftware do…”.

Możesz myśleć, że nie dotyczy to licencji F / OSS, ale jest mniej więcej taki sam, z wyjątkiem wymagań, które są różne: najprostszą wersję tych wymagań można znaleźć na stronie http://opensource.org/docs/OSD .

Ale część prawnicza jest niezbędna i nie ma sensu próbować pisać licencji samodzielnie (chyba że jesteś prawnikiem z dużym doświadczeniem w zakresie prawa własności intelektualnej i prawa międzynarodowego). Ktoś znajdzie po prostu dogodną lukę, która pozwoli mu korzystać z twojego produktu w sposób, który mu się podoba (posunę się tak daleko, aby porównać to z exploitami).

Oczywiście nie twierdzę, że to wyjaśnienie jest kompletne lub nawet poprawne, ale jest to przybliżony szkic procesu, o ile zaangażowani są twórcy oprogramowania (dlatego porównuję go do pracy programisty).

K.Steff
źródło
Więc to w zasadzie praca zorientowana na prawników?
Rrjrjtlokrthjji
1
@Nick Z pewnością programiści na ogół nie powinni tam iść.
K.Steff
4

Aby odpowiedzieć na twoje pytanie, każdy może napisać licencję - i to pokazuje!

Ci z nas, którzy używają oprogramowania do tworzenia rzeczy i faktycznie starają się uszanować każdą licencję, są gotowi wyrwać nasze oczy gorącym pokerem za każdym razem, gdy ktoś mówi o tworzeniu nowej. Na świecie istnieje już niezliczona liczba licencji na oprogramowanie. 99% z nich to prawie duplikaty istniejących, bardziej popularnych licencji, z wyjątkiem niezbyt przemyślanych.

Jedna strona, do której przyczyniam się, ma rodzimą, niekomercyjną, komercyjną licencję typu uznanie autorstwa, z tym wyjątkiem, że nie mówi nic o dziełach pochodnych. Czy są dozwolone? Czy mogą być dystrybuowane na tej samej licencji? Bije mnie!

Jeśli inne osoby wnoszą swój wkład w projekt i kiedykolwiek chcesz lub musisz zmienić licencję, musisz zmusić ich wszystkich do wyrażenia zgody na zmianę licencji lub w większym lub mniejszym stopniu utkniesz z nią na zawsze. Niektóre z nich mogą stać się nieosiągalne lub nawet umrzeć. Nie jestem prawnikiem, ale jeśli nie masz podpisanej umowy o współautorstwie od wszystkich, która pozwala ci podejmować decyzje dotyczące twojej licencji, myślę, że jesteś SOL.

Naprawdę trudno jest napisać dobrą licencję. Nawet najlepsze licencje na oprogramowanie są pełne dziur. Okresowo pojawiają się nowe wersje licencji Apache i GPL. Sprawdź, czy możesz znaleźć licencję, która zaspokoi 90% Twoich potrzeb, i skorzystaj z niej. GPL Linking Wyjątek lub „Classpath Exception” jest doskonałym tego przykładem. Jestem trochę zaniepokojony stwierdzeniem, które ludzie Hibernacji mieli na swojej stronie przez kilka lat, w zasadzie publicznie źle interpretując GPLv2, aby brzmiało to tak, jakby zawierało wyjątek Classpath. Czy to wyjątek od ścieżki klas? Nie będziemy wiedzieć, chyba że ktoś ich pozwie.

Wydaje mi się, że pozwanie jest najbardziej bolesnym sposobem na debugowanie twojej licencji. Jeśli korzystasz z licencji, którą ludzie już złożyli pozew, istnieje pewna pewność, że działa, a także wyczucie, jak to działa. Jeszcze lepiej, wybierz licencję, która została wniesiona do sądu w różnych krajach. Czy zastanawiałeś się, w jaki sposób twoja licencja byłaby interpretowana w innych częściach świata?

Jeśli oprzesz swoją licencję na istniejącej, osoby, którym zależy na spełnieniu warunków licencji, mogą nie musieć studiować jej przez lata, aby dowiedzieć się dokładnie, co to znaczy.

Jeśli to w ogóle możliwe, zachęcam was do poświęcenia energii i talentów na ulepszenie istniejącej licencji zamiast pisania nowej.

Przepraszam, że jestem taką zabójczą radością. Jeśli jestem zgorzkniały, to dlatego, że naprawdę czytam i próbuję szanować ludzkie licencje, zanim skorzystam z ich dzieł.

GlenPeterson
źródło
3

Zapisz warunki, opublikuj je ze swoim oprogramowaniem. Otóż ​​to.

Jedno pytanie brzmi jednak, dlaczego chcesz? Nie jest wykluczone, że jakiekolwiek warunki, które chcesz dodać, są już obecne w innej powszechnie używanej licencji.

Dodaje to wstępny krok - sprawdź, czy faktycznie musisz utworzyć licencję.

Jest również prawdopodobne, że niektóre z warunków, które chcesz egzekwować, są w jakiś sposób wadliwe; dodając kolejny wstępny krok - przeczytaj o „unikalnych” warunkach, które chcesz zastosować. Ktoś inny prawdopodobnie próbował takich warunków i stwierdził, że są one niewykonalne lub w jakiś sposób przynoszą efekt przeciwny do zamierzonego.

Paul Butcher
źródło