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
- JGraphT
- logback
qooxdoo . Planują „uprościć i zmodernizować warunki licencyjne qooxdoo”, a tym samym przestawią się z podwójnego licencjonowania na MIT.