Szukam licencji typu open source dla biblioteki, którą chcę opublikować. Idealnie byłoby, gdyby można było korzystać z tej biblioteki w aplikacjach bezpłatnych lub komercyjnych bez uiszczania mi opłaty, ale jeśli powstanie jakakolwiek praca pochodna z biblioteki (na przykład dowolne ulepszenie biblioteki), powinna być dostępna dla wszystkich w ramach tego ta sama licencja.
Innymi słowy, chcę wprowadzić następującą etykę: „Korzystasz z tej pracy za darmo, a jeśli ją ulepszysz, mogę również skorzystać z twojej poprawy za darmo”. To licencja typu copyleft, której szukam.
Licencja MIT wygląda na możliwe rozwiązanie, ale nie jest dla mnie jasne, czy dzieła pochodne kodu objętego tą licencją MUSZĄ zostać udostępnione PUBLICZNIE wszystkim. Czy ktoś może to wyjaśnić / potwierdzić? Jeśli istnieje inna, bardziej odpowiednia licencja typu open source pokrywająca moje potrzeby, jestem również zainteresowany. Dzięki.
źródło
Odpowiedzi:
Licencja MIT nie wymaga, aby prace pochodne były otwarte. Szukasz GPL .
źródło
Krótka odpowiedź
Połączenie licencji publicznej Eclipse i licencji LGPL zapewnia dokładnie to, czego chcesz: Modyfikacje kodu muszą być udostępnione, ale użycie kodu w większym produkcie nie zmusza do licencjonowania większego produktu. Połączenie jest konieczne, aby umożliwić stosowanie kodu zarówno w projektach GPL, jak i innych niż GPL.
Tak właśnie zrobiły projekty takie jak JGraphT. Licencjonowali swój projekt na podstawie EPL i LGPL. Motywacja i procedura są opisane na ich wiki .
Długa odpowiedź
Myślę, że Licencja publiczna Mozilla ( MPL ) lub Licencja publiczna Eclipse ( EPL ) to licencja, której szukasz, ponieważ „jeśli zostanie utworzona jakakolwiek praca pochodna z biblioteki (na przykład dowolne ulepszenie biblioteki), to [IS ] udostępnione wszystkim na tej samej licencji ”.
Licencja MPL i EPL jest zawarta między GPL a MIT.
MIT pozwala użytkownikowi robić z nim wszystko, w tym modyfikować, sprzedawać i nie oddawać zmodyfikowanego kodu społeczności.
GPL zmusza użytkownika do przekazania całego kodu społeczności, nawet jeśli twoja biblioteka stanowi tylko 1% całego produktu.
LGPL zmusza użytkownika do ujawnienia modyfikacji części kodu LGPL.
MPL i EPL są podobne do LGPL: Zmusza to również użytkownika do udostępnienia zmodyfikowanego źródła. „Zmodyfikowane źródło” obejmuje tylko część kodu objętego MPL- / EPL. Oznacza to, że użytkownik może zbudować nowy produkt ze swojej biblioteki. Jeśli dokona modyfikacji części MPL / EPL, musi ją opublikować. Nowe rzeczy przez niego nie muszą być publikowane.
Uważam, że MPL / EPL jest bardziej odpowiednie, ponieważ LGPL wyraźnie mówi o „bibliotekach”, a MPL po prostu mówi o „oprogramowaniu objętym usługą” (co jest szerszym zakresem).
Jednak wybór EPL powoduje problemy z czesaniem oprogramowania z oprogramowaniem GPL: EPL nie jest kompatybilny z GPL . Nie dzieje się tak w przypadku korzystania z MPL .
Jeśli chcesz mieć pewność, że Twój kod może być używany zarówno w projektach GPL, jak i innych niż GPL, podwój licencję na kod zgodnie z LGPL i EPL, jak opisano w krótkiej odpowiedzi.
Przykłady
qooxdoo. Planują „uprościć i zmodernizować warunki licencyjne qooxdoo”, a tym samym przestawią się z podwójnego licencjonowania na MIT.źródło