Znalezienie odpowiedniej licencji do obsługi wyłącznie społeczności open source. GPLv3 zbyt restrykcyjna, LGPLv3 zbyt liberalne
Stworzyłem bibliotekę open source ( https://github.com/pitschr/knx-link), który jest przeznaczony do użytku w innych projektach open source; nie przez użytkowników końcowych. Obecnie jest na licencji GPLv3.
Moim głównym celem jest to, aby każdy projekt wykorzystujący moją bibliotekę był open source . Dla mnie osobiście nie ma znaczenia, czy inny projekt, który korzysta z mojej biblioteki jest licencjonowany np. Na Apache-2.0 lub MIT, o ile projekt używany przez użytkownika końcowego jest open source, np. GitHub.
Na podstawie różnych licencji widzę, że:
- LGPLv3 nie byłby właściwym wyborem, ponieważ umożliwia połączenie za pomocą zastrzeżonego oprogramowania
- Wydaje mi się, że GPLv3 jest dla mnie zbyt restrykcyjny, ponieważ wymusza, aby inne oprogramowanie również było licencjonowane jako GPLv3. Co więcej, GPLv3 nie pozwala na użycie przez projekt, który jest licencjonowany w ramach Apache-2.0 / MIT
- Wydaje się, że licencje Apache-2.0 i MIT nie są dla mnie opcją, ponieważ mogą być używane bezpośrednio przez oprogramowanie własnościowe
Nie mogłem znaleźć odpowiedniej licencji do mojego celu. Ponownie, korzystanie z mojej biblioteki jest całkowicie w porządku, o ile sam projekt / oprogramowanie użytkownika końcowego jest open source bez wymuszania, że również musi być licencjonowany w ramach GPLv3 ? Moim głównym celem jest wspieranie wyłącznie społeczności open source!
Czy jestem sam z pomysłem? Jaki jest najlepszy sposób na osiągnięcie tego celu? Która licencja byłaby dla mnie najbardziej odpowiednia?
Dziękuję Christoph (który jest nieco zdezorientowany)
Odpowiedzi
Istnieją dwa zasadniczo różne spojrzenia na licencje open source:
a) liberalne, takie jak MIT, Apache itp., które - z grubsza mówiąc - nie dbają o to, co dzieje się z ich źródłami, o ile kredyty są utrzymywane i przekazywane.
b) I są bardziej restrykcyjne licencje open source, licencje z prawem do kopiowania, które chcą mieć pewność, że każdy instrument pochodny pozostanie również otwartym kodem źródłowym, w szczególności licencją GPL.
Licencja jest zwykle wybierana przez (początkowych) autorów z tego powodu, że chcą oni mieć pierwszą lub drugą licencję.
W związku z tym taka licencja, której szukasz, może zostać stworzona, ale ma niewielkie zastosowanie: projekt objęty licencją permisywną nie chciałby korzystać z licencji, która może być używana tylko w projektach open source; jego licencja została wybrana szczególnie w taki sposób, aby możliwe było użytkowanie własnościowe.
Projekt już z licencją typu copy-left również nie potrzebuje takiej licencji - równie dobrze mógłby korzystać z GPL, która zapewnia, że: być otwartym źródłem i pozostać otwartym kodem źródłowym.
W związku z tym można by nawet argumentować, że istnieje już licencja, której można używać tylko w projekcie typu open source: GPL. Większość licencji open source jest zgodnych z GPL w tym sensie, że można ich używać w projekcie objętym licencją GPL (po prostu zmieniając licencję na GPL dla oprogramowania pochodnego / łączonego - nawet jeśli istnieją godne uwagi wyjątki, takie jak niekompatybilność z Apache lub MPL ).
Załóżmy, że ktoś używa Twojego projektu (licencjonowanego na podstawie Twojej licencji niestandardowej) w aplikacji na licencji MIT. Ponieważ licencja MIT wyraźnie zezwala na rozpowszechnianie oprogramowania w postaci zamkniętego źródła, Twoja licencja niestandardowa byłaby nieskuteczna i nie miałaby sensu.
Jeśli nie chcesz, aby Twoja biblioteka była używana w oprogramowaniu prawnie zastrzeżonym, najlepszym wyborem będzie GNU GPL.
Istnieją licencje zgodne z GNU GPL. Oprogramowanie na licencji GNU GPL może zawierać kod w ramach dowolnej zgodnej licencji.