Licencja GNU GPL

0

Cześc !
Czy mogę sprzedać (lub ew. oddać) zamknięte oprogramowanie wykorzystujące binarki programów napisanych na licencji gnu gpl. Na przykład czy mogę użyć w programie polecenia system("gcc program.c"), nie otwierając jednocześnie źródeł. Ten projekt byłby wykorzystywany w pewnej większej firmie do przeprowadzania szkoleń, testów, konkursów.

1

Nie możesz rozpowszechniać zmienionego oprogramowania na licencji GPL bez udostępnienia źródeł. Nie możesz też używać bibliotek na licencji GPL jeśli Twój kod również nie jest na tej licencji.

Licencja nie zabrania sprzedaży oprogramowania na licencji GPL, ale wymusza na Tobie udostępnienie jego źródeł (również w każdej zmienionej formie).


Co do Twojego, to jeśli tylko odpalasz zewnętrzny program, to musisz udostępnić źródła tego zewnętrznego programu, Twój kod może być na licencji jaką chcesz, z racji, że Ty nie używasz bezpośrednio jego kodu. Gdyby było inaczej, to używanie oprogramowania GPL na Windowsie było by nielegalne. Byłby to skończony absurd.

0

Jeśli binarka na GPL, którą dostarczasz, jest niezbędna do pracy Twojego programu, to niestety musisz udostępnić źródła Twojego programu na GPL. Nie ma znaczenia jak linkujesz się z kodem tej binarki i czy ładujesz jej kod do tego samego, czy osobnego procesu - liczy się natomiast jak "zażyła" jest komunikacja z nim i do czego jest wykorzystywany.

http://www.gnu.org/licenses/gpl-faq.html#TOCMereAggregation

Można to obejść nie dostarczając binarek na GPL i przenosząc konieczność ich instalacji na użytkownika. Jeśli użytkownik instaluje je we własnym zakresie, to będzie ok.

@winerfresh od kiedy to z Windows jest dostarczany jakiś kod na GPL, który byłby kluczowym komponentem Windows? O kodzie na BSD słyszałem, ale na GPL?

0

Byłby to skończony absurd

Absurdem jest też to co robi GOG, czyli instaluje u każdego gracza źródła DOSBoksa razem z używającą go gierką.
Tego licencja GPL nie wymaga. Źródła mają być dostępne dla każdego kto ich zażąda, ale to nie znaczy że muszą być instalowane razem z programem.

Jeśli binarka na GPL, którą dostarczasz, jest niezbędna do pracy Twojego programu, to niestety musisz udostępnić źródła Twojego programu na GPL. Nie ma znaczenia jak linkujesz się z kodem tej binarki i czy ładujesz jej kod do tego samego, czy osobnego procesu - liczy się natomiast jak "zażyła" jest komunikacja z nim i do czego jest wykorzystywany.

Z licencją GPL łączą się różne mity szerzone przez stallmanistów - gdzie konkretnie w tekście licencji jest o tym mowa?

0

Z licencją GPL łączą się różne mity szerzone przez stallmanistów - gdzie konkretnie w tekście licencji jest o tym mowa?

Żaden mit. Przecież podałem źródło tej informacji.
Ale jak ktoś nie chce się przeklikać przez 2 linki, to proszę, wklejam tu kawałek oficjalnego FAQ z gnu.org. Podkreślenia moje:

Czym się różnią „zwyczajne gromadzenie” i „połączenie dwu modułów w jeden program”?

Zwyczajne zgromadzenie dwu programów oznacza umieszczenie ich obok siebie na tym samym CD-ROM-ie lub dysku twardym. Stosujemy to określenie w przypadku, <b>gdy stanowią one odrębne programy, a nie części jednego programu</b>. W tym przypadku, jeśli jeden z programów jest objęty GPL, nie ma to żadnego wpływu na drugi.

<b>Połączenie dwu modułów oznacza złączenie ich tak, że tworzą pojedynczy większy program. Jeśli któraś z części jest objęta GPL, to całe połączenie musi być również wydane na GPL. Jeśli nie możesz lub nie chcesz tego zrobić, nie możesz ich połączyć.</b>

Co stanowi o połączeniu dwu części w jeden program? Jest to kwestia prawna, o której ostatecznie zadecydują sędziowie. Uważamy, że poprawne kryterium zależy zarówno od mechanizmu komunikacji (exec, potoki, rpc, wywołania funkcyjne wewnątrz wspólnej przestrzeni adresowej, itd.), <b>jak i od jej semantyki (jakie rodzaje informacji są wymieniane).</b>

Jeśli moduły są zawarte w tym samym pliku wykonywalnym, bez wątpienia są połączone w jeden program. Jeśli są zaprojektowane do działania we wzajemnym połączeniu we wspólnej przestrzeni adresowej, to niemal na pewno oznacza połączenie w jeden program.

W przeciwieństwie do tego, potoki, gniazda i argumenty wiersza poleceń to mechanizmy komunikacyjne normalnie używane między dwoma odrębnymi programami. <b>Jeśli jednak semantyka tej komunikacji jest wystarczająco zażyła, występuje wymiana złożonych wewnętrznych struktur danych, to to również może być podstawą do uważania tych dwu części za połączone w większy program.</b>

Dla mnie intencja Twórcy licencji GPL jest bardzo czytelna - jeśli używasz oprogramowania na GPL jako biblioteki, to Twój kod musi wyjść na GPL. Jeśli dołączyłeś program na GPL tylko jako opcjonalny dodatek (np. wydajesz płytkę ze zbiorem różnych programów), to wtedy taki dodatek jest niezależny i nie ma wpływu na licencje innych programów.

0

Czyli de facto wystarczy, że użyje albo cc albo doda możliwość ustalenia własnej ścieżki do programu i działa. Nic nadzwyczajnego. Poza tym gcc file.c IMHO nie kwalifikuje się w słowach "semantyka tej komunikacji jest wystarczająco zażyła" ani "występuje wymiana złożonych wewnętrznych struktur danych".

0

wiążąca jest licencja, nie FAQ. twórca oprogramowania (czyli w wielu przypadkach nie FSF) udostępnia je na pewnej licencji, posługując się gotowcem opublikowanym przez FSF. sąd będzie analizował licencję po swojemu, nie patrząc na żadne FAQ

W takim razie tekst licencji:

Zasady i warunki kopiowania, rozpowszechniania i modyfikowania
(...)
2. Możesz modyfikować swoją kopię czy kopie Programu oraz dowolne jego części, tworząc przez to pracę opartą na Programie, jak również kopiować i rozprowadzać takie modyfikacje i pracę na warunkach podanych w pkt.1 powyżej - pod warunkiem przestrzegania całości poniższych wymogów:

(...)
b.
Musisz doprowadzić do tego, aby każda rozpowszechniana lub publikowana przez ciebie praca, która w całości lub części zawiera Program, albo pochodzi od niego lub jego części, była w całości i bezpłatnie licencjonowana dla wszelkich stron trzecich na warunkach niniejszej Licencji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1