Pracuję nad prototypem systemu oprogramowania, który (przynajmniej na początku) będzie źródłem zamkniętym.
Aby zaoszczędzić czas, zastanawiam się nad użyciem (czyli statycznym łączeniem) biblioteki, która jest licencjonowana na licencji GPLv3 , dzięki czemu mogę szybko przetestować swój projekt. Gdybym rozpowszechniał oprogramowanie na tym etapie, musiałbym wraz z nim rozpowszechniać kod źródłowy.
Co jeśli nie, ale upewnię się, że mój system działa, a następnie zastąpię bibliotekę GPL własnym kodem przed rozpowszechnieniem? Czy wynik byłby „zanieczyszczony” przez GPL?
Mam wrażenie, że zachowanie biblioteki GPL w mojej historii Git, czy nie, może mieć znaczenie.
licensing
version-control
gpl
closed-source
Laurent S.
źródło
źródło
Odpowiedzi:
GPL pisze :
Zatem ten warunek ma zastosowanie tylko wtedy, gdy twoja praca jest „oparta na” bibliotece, którą licencja definiuje w następujący sposób:
Oznacza to, że Twój program jest „oparty” na bibliotece, tylko wtedy, gdy jest dziełem pochodnym zgodnie z prawem autorskim. Prawna definicja tego terminu różni się nieco w zależności od jurysdykcji i zwykle nie dotyczy bezpośrednio oprogramowania. Na przykład amerykańska ustawa o prawie autorskim pisze:
To, co to oznacza dla oprogramowania, musi być interpretowane przez sądy na podstawie wcześniejszych podobnych orzeczeń. Nie znam wystarczającego orzecznictwa w twojej jurysdykcji, aby z całą pewnością stwierdzić, w jaki sposób sąd rozstrzygnie twoją sprawę. Można argumentować, że „zastąpienie biblioteki GPL własnym kodem” jest aktem tłumaczenia, szczególnie jeśli Twój kod jest silnie zainspirowany implementacją GPL. Nawet ponowne użycie interfejsu API biblioteki GPL może wylądować w gorącej wodzie (patrz Oracle vs. Google ).
Jeśli odpowiedź jest dla Ciebie ważna, zalecam szukanie kompetentnej porady prawnej zamiast pytać nieznajomych w Internecie.
źródło
Tak długo, jak nie udostępniasz oprogramowania nikomu podczas łączenia się z bibliotekami GPL, jesteś bezpieczny. Wirusowy aspekt GPL pojawia się tylko wtedy, gdy rozpowszechniasz swoje oprogramowanie.
Byłoby lepiej, gdybyś mógł znaleźć bibliotekę z bardziej liberalną licencją, oczywiście, taką jak LGPL, APL2 lub MIT.
źródło
Nie sądzę, aby twoje pytanie dotyczyło GPL. Chodzi o prototyp i to, czy będzie on używany w przyszłości jako podstawa dostarczanego systemu oprogramowania.
Jeśli tworzysz prototyp, którego nie chcesz używać, i nie zamierzasz ponownie wykorzystywać żadnego kodu w systemie dostarczalnym, skorzystaj z biblioteki GPL.
Trzy podejścia, które możesz podjąć
Jeśli jednak zamierzasz rozwinąć prototyp (coś, do czego dąży wielu menedżerów!), Możesz zastosować trzy podejścia:
Sugeruję, aby przejść na pierwsze podejście, ponieważ wtedy masz pracę o otwartym kodzie źródłowym, którą możesz wykorzystać w przyszłości jako część swojego profesjonalnego portfolio.
Drugie podejście jest również dobre, ponieważ i tak powinieneś projektować system, tworząc dokładnie potrzebne funkcje / klasy i usuwając je, dopóki nie będziesz mieć biblioteki lub niestandardowego kodu, który wypełni tę funkcjonalność.
źródło
Mogę wymyślić dwa aspekty, które należy rozważyć przy twoim podejściu. Pierwszy jest prosty, ponieważ nie rozpowszechniasz swojego projektu lub (ponieważ jest to GPLv3 , udostępniając go do użytku publicznego), gdy korzystasz z kodu wydanego na licencji GPL, trudno jest zobaczyć, w jaki sposób będziesz musiał rozpowszechniać swój kod na licencji GPL również na warunkach redystrybucji.
Drugi aspekt może być dla ciebie bardziej znaczący. Tworząc własną implementację w celu zastąpienia biblioteki GPL, należy uważać, aby nie utworzyć pracy pochodnej. Chociaż jestem pewien, że masz dobre intencje, nie kopiuj bezpośrednio kodu źródłowego - bardziej prawdopodobne jest, że nie skopiujesz znacznej części interfejsu API biblioteki.
Jeśli jest to produkt komercyjny, ryzyko to należy wziąć pod uwagę i ocenić, uważnie czytając licencję GPLv3, aw razie wątpliwości, prosząc o profesjonalną opinię prawną.
źródło
Jeśli planujesz napisać własny kod, aby zastąpić kod GPL, będziesz mieć potencjalny problem, ponieważ nie piszesz kodu w czystym pomieszczeniu. Naprawdę chciałbyś, aby ktoś, kto nigdy nie spojrzał na kod GPL, napisałby bibliotekę zastępczą. Z drugiej strony, jeśli chcesz po prostu zamienić bibliotekę GPL na bibliotekę już opublikowaną, która jest objęta inną licencją, nie stanowi to problemu, druga biblioteka prawdopodobnie została już napisana w środowisku czystego pokoju.
źródło
Jeśli zapewnisz dostęp do wersji za pomocą kodu GPL, będą one całkowicie objęte GPL. Ale nie chcesz, bo to nie byłoby zamknięte źródło ...
Dla jakiegokolwiek późniejszego stanu, który nie używa już kodu GPL, że użyłeś kodu GPL wcześniej, jest po prostu nieistotny.
źródło
GPL jest uruchamiana tylko podczas dystrybucji ... możesz zrobić, co chcesz, jeśli nie wydasz zmodyfikowanej wersji lub pracy pochodnej.
Jeśli masz na myśli opublikowanie swojego źródła w publicznym repozytorium, takim jak GitHub , to tak, możesz mieć problem. Samo używanie git nie ma znaczenia, jeśli jest prywatne.
źródło