linuxpub.pl
Powrót Powrót 
 
Wyślij znajomemu Drukuj


Często zadawane pytania na temat GNU GPL

Po przeczytaniu tego dokumentu możecie sprawdzić swoją wiedzę na temat licencjonowania wolnego oprogramowania rozwiązując nasz quiz (w języku angielskim).

Spis treści

Podstawowe pytania o GPL, Projekt GNU i Fundację Wolnego Oprogramowania

Ogólna orientacja w GPL

Stosowanie GPL do własnych programów

Dystrybucja programów wydanych na GPL

Wykorzystywanie programów wydanych na GPL przy pisaniu innych programów

Łączenie pracy z kodem wydanym na GPL

Pytania o naruszenia GPL


Co to znaczy „GPL”?
„GPL” oznacza „General Public License”, „Powszechna Licencja Publiczna”. Najbardziej rozpowszechnioną licencją tego rodzaju jest Powszechna Licencja Publiczna GNU, lub krótko: GNU GPL. Można to potem skracać do „GPL”, gdy wiadomo, że chodzi o GNU GPL.

Czy wolne oprogramowanie oznacza programy stosujące GPL?
Niekoniecznie – istnieje wiele innych licencji wolnego oprogramowania. Mamy niepełną ich listę. Każda z licencji, która zapewnia użytkownikowi pewne szczególne wolności jest licencją wolnego oprogramowania.

Dlaczego powinienem stosować GNU GPL, a nie inne licencje wolnego oprogramowania?
Korzystanie z GNU GPL wymaga, by wszystkie wydane ulepszone wersje były wolnym oprogramowaniem. To znaczy, że unikasz ryzyka konieczności konkurowania z prawnie zastrzeżoną zmienioną wersją swojej własnej pracy. Jednakże, w pewnych specjalnych okolicznościach, może być lepsze użycie licencji zezwalającej na więcej.

Czy wszystkie programy GNU stosują GNU GPL jako swoją licencję?
Większość pakietów programowych GNU stosuje GNU GPL, ale jest kilka programów GNU (i części programów), które korzystają z mniej rygorystycznych licencji, jak Lesser GPL. Kiedy się to dzieje, jest kwestią strategii.

Czy użycie GPL dla programu czyni z niego oprogramowanie GNU?
Każdy może opublikować program na warunkach GNU GPL, ale to nie robi z tego programu pakietu GNU.

Uczynienie programu pakietem programowym GNU oznacza jawny wkład do Projektu GNU. Dzieje się tak wtedy, gdy konstruktorzy programu i Projekt GNU się na to zgodzą. Jeśli jesteś zainteresowany wniesieniem programu do Projektu GNU, napisz prosimy do <maintainers@gnu.org>.

Co powinienem zrobić, jeśli wykryję możliwe naruszenie GPL?
Powinieneś to zgłosić. Po pierwsze, możliwie najlepiej sprawdź ten fakt. Następnie powiadom wydawcę lub posiadacza praw autorskich danego programu, wydanego na GPL. Jeśli jest to Free Software Foundation, pisz na adres <license-violation@gnu.org>. W przeciwnym razie, możliwe, że opiekun programu jest posiadaczem praw autorskich albo też może wskazać Ci, jak się z tą osobą skontaktować, więc zgłoś to jemu.

Dlaczego GPL pozwala użytkownikom na publikację własnych zmodyfikowanych wersji?
Decydującym aspektem wolnych programów jest swoboda współpracy użytkowników. Pozwolenie użytkownikom, którzy chcą pomagać innym, na dzielenie się własnymi poprawkami błędów i udoskonaleniami jest absolutnie kluczowe.

Niektórzy proponowali alternatywy dla GPL, które wymagały aby zmienione wersje przechodziły przez pierwotnego autora. W praktyce, póki dbałby on o potrzeby konserwacji programu, mogłoby to działać dobrze. Jednak jeśli autor przestaje, mniej czy bardziej, zajmować się konserwacją, by robić coś innego, lub gdy nie zwraca uwagi na wszystkie potrzeby użytkowników, ten plan zawodzi. Pomijając problemy praktyczne, taka metoda nie pozwala użytkownikom na wzajemną pomoc.

Czasem proponuje się kontrolę nad zmodyfikowanymi wersjami jako środek zapobiegający kłopotliwemu pomieszaniu między rozmaitymi wersjami utworzonymi przez użytkowników. Wedle naszego doświadczenia, to pomieszanie nie stanowi większego kłopotu. Wiele wersji Emacsa wykonano poza Projektem GNU, ale użytkownicy potrafią je odróżnić. GPL wymaga umieszczania w wersji nazwiska producenta, by odróżnić ją od innych wersji i chronić reputację pozostałych opiekunów.

Czy GPL wymaga, by kod źródłowy zmodyfikowanej wersji został udostępniony publicznie?
GPL nie wymaga rozpowszechniania zmodyfikowanego przez Ciebie programu. Wolno Ci wprowadzać zmiany i korzystać z nich prywatnie, w ogóle bez ich wydawania. Odnosi się to także do organizacji (łącznie z firmami); organizacja może utworzyć zmienioną wersję i używać jej wewnętrznie nigdy nie wydając tej wersji na zewnątrz.

Ale jeśli w jakiś sposób publicznie wypuszczasz zmienioną wersję, GPL wymaga byś udostępnił użytkownikom programu zmodyfikowany kod źródłowy, na warunkach GPL.

Tak więc, GPL zezwala na pewne sposoby rozpowszechniania zmienionego programu, a na inne nie, ale decyzja o samym wypuszczeniu należy do Ciebie.

Czy mogę w tym samym komputerze mieć program objęty licencją GPL i niezwiązany z nim inny, nie-wolny program?
Tak. Zezwolenie na takie działanie zostało w GPL wyrażone wprost, w punkcie mówiącym o „zwyczajnym gromadzeniu” („mere aggregation”). Choć ten zapis tylko akcentuje to, co naszym zdaniem i tak by zachodziło.

Jeśli znam kogoś, kto ma kopię programu wydanego na GPL, to czy mogę domagać się od niego, żeby dał mi kopię?
Nie. Dzięki GPL otrzymał pozwolenie na wykonywanie i rozprowadzanie kopii programu jeśli zechce to robić. Ale ma on też prawo nie rozprowadzać programu, jeśli tak woli.

Co oznacza „pisemna oferta ważna dla każdej strony trzeciej”? Czy to znaczy, że każdy na świecie może dostać źródła dowolnego programu na GPL, wszystko jedno jakiego?
„Ważna dla każdej strony trzeciej” („valid for any third party”) oznacza, że każdy, to ma tę ofertę ma jest uprawiony do jej przyjęcia.

Jeśli komercyjnie rozpowszechniasz pliki binarne bez towarzyszącego kodu źródłowego, GPL stanowi, że musisz złożyć pisemną ofertę dostarczenia kodu źródłowego później. Kiedy użytkownicy niekomercyjnie redystrybuują otrzymane od Ciebie binaria, muszą przekazać wraz z nimi kopię tej pisemnej oferty. To znaczy, że ludzie, którzy nie uzyskali binariów wprost od Ciebie, mimo to mogą otrzymać kopie kodów źródłowych, zgodnie z ofertą.

Wymagamy, żeby oferta była ważna dla każdej strony trzeciej, po to, by osoby, które otrzymały binaria pośrednio mogły w ten sposób zażądać kodu źródłowego od Ciebie.

W GPL powiedziano, że zmodyfikowane wersje, jeśli są publikowane, muszą być „licencjonowane...dla wszelkich stron trzecich”. Kim są te trzecie strony?
Sekcja 2 mówi, że zmienione wersje, które rozpowszechniasz muszą być licencjonowane dla wszelkich stron trzecich na warunkach GPL. „Wszelkie strony trzecie” oznacza dosłownie każdego – ale nie wymaga to, byś musiał mieć z nimi fizycznie do czynienia. Oznacza tylko, że mają od Ciebie licencję, na GPL, dla Twojej wersji.

Czy jestem zobowiązany do jawnego ogłoszenia praw autorskich (copyright) do własnych modyfikacji programu objętego GPL?
Nie jesteś zobowiązany do zgłaszania praw autorskich do własnych zmian. Jednak w większości krajów [także w Polsce] domyślnie dzieje się to automatycznie, więc jeśli nie chcesz, by dzieło było objęte prawami autorskimi, powinieneś jawnie uczynić swoje zmiany dobrem publicznym (wydać je jako public domain).

Niezależnie od tego, czy będziesz sobie rościł prawa autorskie do własnych zmian czy nie, musisz wydać zmodyfikowaną wersję, jako całość, na GPL (jeżeli w ogóle wydasz zmodyfikowaną przez siebie wersję).

Jeśli program łączy w sobie kod należący do domeny publicznej (public domain) z kodem objętym GPL, to czy mogę wziąć tę część, która jest dobrem publicznym i korzystać z niej tak jak z kodu z domeny publicznej?
Możesz to zrobić, jeśli potrafisz odróżnić, która z części jest dobrem publicznym i oddzielić ją od reszty. Jeśli kod został przez jego konstruktora umieszczony w domenie publicznej, to pozostaje dobrem publicznym bez względu na to, gdzie się znajduje.

Czy GPL pozwala mi na sprzedaż kopii programu za pieniądze?
Tak, GPL pozwala na to wszystkim. Prawo do sprzedaży kopii jest częścią definicji wolnego oprogramowania. Z wyjątkiem jednej, specyficznej sytuacji nie ma żadnych ograniczeń co opłat, jakie zechcesz pobierać. (Tym wyjątkiem jest wymagana w GPL pisemna oferta dostarczenia źródeł, jaka musi być dołączona do oprogramowania, jeśli jest ono rozprowadzane w postaci samych binariów).

Czy GPL pozwala mi na pobieranie opłaty za pobranie programu z mojego serwera internetowego?
Tak. Za przekazanie kopii programu (rozpowszechnianie) możesz pobierać dowolną opłatę. Jeżeli binaria rozpowszechniasz udostępniając pliki do ściągnięcia, musisz zapewnić „równoważny dostęp” do pobierania źródeł – zatem opłata za ściągnięcie źródeł nie może być większa niż opłata za ściągnięcie binariów.

Czy GPL pozwala mi żądać od każdego, kto otrzyma program wniesienia opłaty i/lub powiadomienia mnie?
Nie. W rzeczywistości, taki wymóg spowodowałby, że program nie byłby wolny. Jeśli ludzie muszą płacić za otrzymanie kopii programu lub jeśli muszą specjalnie kogoś powiadamiać, to program nie jest wolny. Zobacz definicję wolnego oprogramowania.

GPL jest licencją wolnego oprogramowania i dlatego zezwala ludziom na wykorzystywanie, a nawet redystrybucję oprogramowania bez obowiązku płacenia za to komukolwiek.

Czy jeśli dystrybuuję za odpłatnością oprogramowanie na GPL, muszę je również udostępnić ogółowi bez opłat?
Nie. Jednakże, jeśli ktoś uiścił opłatę i otrzymał od Ciebie kopię, GPL daje mu swobodę przekazania jej ogółowi, za opłatą lub bez niej. Na przykład, ktoś mógłby Ci zapłacić, po czym umieścić swoją kopię na serwerze internetowym, udostępniając ogółowi.

Czy GPL pozwala mi na dystrybucję zmodyfikowanej wersji lub wersji beta na warunkach umowy o nieujawnianiu (nondisclosure agreement)?
Nie. GPL stanowi, że każdy, kto otrzyma od Ciebie kopię Twojej wersji ma prawo rozprowadzać dalej kopie tej wersji (zmodyfikowane lub nie). Nie pozwala na rozpowszechnianie prac na bardziej restrykcyjnych warunkach.

Czy GPL pozwala mi na rozwijanie zmodyfikowanej wersji w ramach umowy o nieujawnianiu?
Tak. Na przykład, możesz przyjąć umowę na wykonanie zmian wvprogramie i zgodzić się na niewypuszczanie swoich zmian póki klient się na to nie zgodzi. Jest to dozwolone, gdyż w tym przypadku żaden objęty GPL kod nie jest rozprowadzany na zasadach zakazujących ujawniania.

Możesz także przekazać klientowi swoje modyfikacje na zasadach GPL, ale przystać na warunek nieudostępniania ich komu innemu, chyba że za jego zgodą. Również w tym przypadku żaden kod objęty GPL nie jest rozprowadzany z zakazem ujawniania czy innymi dodatkowymi ograniczeniami.

GPL dałaby Twojemu klientowi prawo do redystrybucji zmienionej przez Ciebie wersji. W rozpatrywanej sytuacji zapewne zdecyduje się z niego nie skorzystać, ale ma prawo.

Chcę uznania za moją pracę. Chcę, żeby ludzie wiedzieli, co napisałem. Czy praca będzie mi nadal przypisywana jeśli stosuję GPL?
Z pewnością uzyskasz należne uznanie dla swojej pracy. Częścią procesu wypuszczania programu na warunkach GPL jest napisanie informacji o prawach autorskich w twoim własnym imieniu (zakładając, że jesteś posiadaczem praw autorskich). GPL żąda, by wszystkie kopie były opatrzone odpowiednią informacją o prawach autorskich.

Dlaczego GPL wymaga dołączania kopii GPL do każdego egzemplarza programu?
Dołączanie kopii licencji do dzieła jest istotne, gdyż dzięki temu każdy otrzymujący kopię programu może się dowiedzieć, jakie ma prawa.

Może być kuszące zamieszczanie URL-a, który wskazuje na licencję, zamiast samej licencji. Ale nie możesz być pewien, że za pięć czy dziesięć lat ten odnośnik będzie nadal prawidłowy. Za dwadzieścia lat mogą już nie istnieć URL-e w postaci jaką znamy dzisiaj.

Jedyną metodą upewnienia się, że, pomimo wszelkich zmian, jakie zajdą w sieci, ludzie, którzy mają kopie programu będą mogli przeczytać licencję, jest dołączenie jej kopii do programu.

A co jeśli dzieło jest niewiele dłuższe niż sama licencja?
Jeśli pojedynczy program jest tak krótki, można zamiast GNU GPL równie dobrze użyć prostej licencji zezwalającej na wszystko.

Czy dla zaoszczędzenia miejsca mogę pominąć preambułę GPL lub wskazówki, jak stosować tę licencję do własnych programów?
Preambuła i wskazówki są integralnymi częściami GNU GPL i nie wolno ich pomijać. Faktycznie GPL [jako tekst] jest objęta prawem autorskim, a jej licencja zezwala wyłącznie na dosłowne kopiowanie całości GPL. (Można wykorzystać warunki prawne z GPL do skonstruowania innej licencji, ale nie będzie to GNU GPL).

Preambuła i wskazówki dodają około 5000 znaków, mniej niż 1/3 całkowitej wielkości GPL. Nie powodują znaczącej procentowo zmiany w rozmiarze pakietu oprogramowania, chyba że sam pakiet jest całkiem mały. W takim wypadku, zamiast stosować GPL możesz równie dobrze skorzystać z jakiejś prostej, zezwalającej na wszystko licencji.

Co to oznacza, że dwie licencje są "zgodne"?
Chcąc połączyć dwa programy (lub ich znaczne części) w większą pracę, musisz mieć zezwolenie na użycie w ten sposób obu programów. Jeśli licencje obu programów na to pozwalają, to są one zgodne. Jeśli nie da się jednocześnie spełnić obu licencji, to są niezgodne.

W przypadku niektórych licencji, sposób, w jaki wykonywane łączone są programy może wpływać na to, czy są one zgodne. Może być, na przykład, dopuszczalna wspólna konsolidacja dwu modułów, ale nie być dozwolone połączenie ich kodu w jednym module.

Co znaczy, że licencja jest „zgodna z GPL”?
To znaczy, że ta licencja i GPL są zgodne: możesz łączyć kod wypuszczony na tej licencji z kodem wydanym na GPL w jeden większy program.

GPL zezwala na takie połączenie pod warunkiem, że wynik zostanie wydany na warunkach GNU GPL. Inna licencja jest zgodna z GPL jeśli zezwala także na to.

Czy mogę pisać wolne oprogramowanie korzystające z bibliotek, które nie są wolne?
Jeśli to zrobisz, to Twój program nie będzie w pełni użyteczny w wolnym środowisku. Jeżeli twemu programowi do wykonania pewnego zadania konieczna jest biblioteka, która nie jest wolna, to nie może on wykonać tego zadania w Wolnym Świecie. Jeśli do tego, by w ogóle się uruchomić zależy od biblioteki, która nie jest wolna, nie może być częścią wolnego systemu operacyjnego, takiego jak GNU. Jest całkowicie poza granicami Wolnego Świata.

Więc zastanów się, prosimy: czy możesz znaleźć sposób wykonania zadania bez użycia tej biblioteki? Czy możesz napisać wolny zastępnik tej biblioteki?

Jeśli program jest już napisany z wykorzystaniem biblioteki, która nie jest wolna, być może jest już za późno na zmianę decyzji. Równie dobrze możesz wypuścić program, jaki jest, zamiast nie wypuszczać go wcale. Wspomnij jednak, prosimy, w pliku README, że wadą jest potrzeba użycia biblioteki, która nie jest wolna, i zasugeruj pracę nad zmianą programu tak, aby wykonywał to samo zadanie bez niej. Prosimy, podpowiadaj każdemu, kto zastanawia się nad zaangażowaniem się w poważniejszą pracę nad tym programem, żeby najpierw uwolnił go od zależności od niewolnej biblioteki.

Zwróć uwagę, że łączenie niektórych niewolnych bibliotek z Wolnym Oprogramowaniem objętym GPL może rodzić również problemy prawne. Więcej szczegółów na ten temat znajdziesz w odpowiedzi na pytanie o programy GPL z bibliotekami niezgodnymi z GPL.

Jakie kwestie prawne pojawią się, jeśli z oprogramowaniem GPL zastosuję biblioteki niezgodne z GPL?
Jeśli biblioteki, które dołączasz zalicza się do poniższego wyjątku wymienionego w GPL:

However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

Niemniej jednak, jako wyjątek specjalny, dystrybuowany (w formie źródłowej albo binarnej) kod źródłowy nie musi obejmować niczego, co jest normalnie rozprowadzane z głównymi komponentami (kompilator, jądro itd.) systemu operacyjnego, na którym pracuje część wykonywalna, o ile sam taki komponent towarzyszy tej części.

to nie musisz robić niczego specjalnego, żeby ich używać – wymóg dystrybucji kodu źródłowego całego programu nie obejmuje tych bibliotek, nawet jeśli rozprowadzasz skonsolidowaną wersję wykonywalną, która je zawiera. Zatem, jeżeli biblioteki, których potrzebujesz są dostarczane z głównymi składowymi prawnie zastrzeżonego systemu operacyjnego, to według GPL ludzie mogą konsolidować z nimi Twój program bez żadnych warunków.

Jeśli chcesz, by Twój program był konsolidowany z bibliotekami, które nie spełniają tego wyjątku, powinieneś dodać własny wyjątek, całkowicie poza GPL. Informacja o prawach autorskich i nota licencyjna zezwalające na konsolidację z programem FOO:

Copyright (C) yyyy <name of copyright holder>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
In addition, as a special exception, <name of copyright holder> gives permission to link the code of this program with the FOO library (or with modified versions of FOO that use the same license as FOO), and distribute linked combinations including the two. You must obey the GNU General Public License in all respects for all of the code used other than FOO. If you modify this file, you may extend this exception to your version of the file, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

Copyright (C) rrrr <nazwa posiadacza praw autorskich>
Niniejszy program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania - według wersji 2 tej Licencji lub (według Twojego wyboru) którejś z późniejszych wersji.
Niniejszy program rozpowszechniany jest z nadzieją, iż będzie on użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania bliższych informacji sięgnij do Powszechnej Licencji Publicznej GNU.
Z pewnością wraz z niniejszym programem otrzymałeś też egzemplarz Powszechnej Licencji Publicznej GNU (GNU General Public License); jeśli nie - napisz do Free Software Foundation, Inc., 59 Temple Place, Fifth Floor, Boston, MA 02110-1301 USA
Dodatkowo, w ramach wyjątku specjalnego, <nazwa posiadacza praw autorskich> udziela zezwolenia na konsolidację tego programu z biblioteką FOO (lub zmodyfikowanymi wersjami FOO, używającymi tej samej co FOO licencji) i dystrybucję połączonych kombinacji zawierających oba te składniki. W stosunku do wszelkiego innego niż FOO kodu musi być we wszystkich aspektach przestrzegana Powszechna Licencja Publiczna GNU. Jeżeli zmodyfikujesz ten plik, możesz rozszerzyć niniejszy wyjątek na swoją wersję pliku, ale nie masz takiego obowiązku. Jeśli nie tego chcesz, usuń niniejsze oświadczenie ze swojej wersji.

Wyjątek ten może być prawnie upełnomocniony wyłącznie przez posiadaczy praw autorskich. Jeśli sam napisałeś cały program, to, zakładając, że ani Twój pracodawca ani szkoła nie roszczą sobie pretensji do praw autorskich, sam jesteś ich posiadaczem – zatem możesz autoryzować taki wyjątek. Jeśli jednak chciałbyś wykorzystać w swoim kodzie części innych programów objętych GPL, napisanych przez innych autorów, nie możesz za nich uprawomocnić wyjątku. Musisz uzyskać zgodę posiadaczy praw autorskich tych programów.

Gdy inne osoby modyfikują program, nie muszą robić tego samego wyjątku dla własnego kodu – wybór należy do nich.

Jeśli program jest już napisany z wykorzystaniem biblioteki, która nie jest wolna, być może jest już za późno na zmianę decyzji. Możesz też wypuścić program, jaki jest, zamiast nie wypuszczać go wcale. Wspomnij jednak, prosimy, w pliku README, że wadą jest potrzeba użycia biblioteki, która nie jest wolna, i zasugeruj pracę nad zmianą programu tak, by wykonywał to samo zadanie bez niej.

Jeśli biblioteki, z jakimi zamierzasz połączyć program, nie są wolne, przeczytaj, prosimy, część o pisaniu wolnego oprogramowania korzystającego z bibliotek, które nie są wolne.

Jak mogę uzyskać prawa autorskie do swojego programu, by wydać go na GPL?
Zgodnie z Konwencją Berneńską, wszystko co się napisze jest automatycznie objęte prawami autorskimi od momentu utrwalenia dzieła. Nie musisz więc niczego robić, by „uzyskać” prawa autorskie do tego, co napisałeś – pod warunkiem, że nikt inny nie może sobie rościć praw własności do Twojej pracy.

Jednak w USA zarejestrowanie praw autorskich jest bardzo dobrym pomysłem. Daje większą siłę przebicia w postępowaniu z naruszającymi je w USA.

Przypadek, gdy ktoś inny może prawdopodobnie rościć sobie pretensje do praw autorskich zachodzi, gdy jesteś pracownikiem lub studentem. Wówczas pracodawca lub szkoła może twierdzić, że wykonałeś pracę dla nich i że prawa autorskie do nich należą. Czy ich roszczenia są słuszne czy nie zależy od okoliczności takich jak miejscowe prawo, Twoja umowa o pracę i rodzaj pracy, jaką wykonujesz. W przypadku jakichkolwiek możliwych wątpliwości najlepiej poradzić się prawnika.

Jeżeli sądzisz, że pracodawca lub szkoła mogłaby mieć takie roszczenia, możesz rozwiązać bezspornie problem uzyskując zrzeczenie się praw autorskich podpisane przez odpowiednio upoważnionego urzędnika firmy czy szkoły. (Twój bezpośredni szef czy nauczyciel zwykle NIE jest upoważniony do podpisywania takich dokumentów).

Co jeśli moja szkoła zechce włączyć mój program do swego własnego produktu oprogramowania prawnie zastrzeżonego?
Obecnie wiele uniwersytetów próbuje zwiększyć swoje fundusze ograniczając dostęp do wiedzy i informacji, które opracowują, w efekcie zachowując się niewiele inaczej niż przedsiębiorstwa komercyjne. (Zobacz „The Kept University”, Atlantic Monthly, marzec 2000, gdzie zamieszczono ogólne omówienie tego problemu i jego skutków).

Jeśli widzisz jakąkolwiek możliwość, że Twoja szkoła mogłaby odmówić pozwolenia na wypuszczenie Twojego programu jako wolnego oprogramowania, najlepiej podnieść tę kwestię na możliwie najwcześniejszym etapie. Im bliżej do użytecznego działania programu, tym większą może odczuwać pokusę administracja, by Ci go zabrać i ukończyć go bez Ciebie. Na wczesnym etapie masz dużo większy wpływ.

Dlatego też zalecamy, byś zwrócił się do nich wtedy gdy program jest tylko w połowie gotowy, mówiąc, „Jeśli zgodzicie się na wypuszczenie go jako wolnego oprogramowania, skończę go”. Nie traktuj tego jak blef. Aby wygrać musisz mieć odwagę powiedzieć: „mój program będzie wolny albo nigdy się nie narodzi”.

Czy moglibyście podać szczegółowe instrukcje, jak zastosować GPL do mojego programu?
Zobacz stronę z instrukcjami GPL.

Słyszałem, że ktoś ma kopię programu wydanego na GPL, ale z inną licencją. Czy to możliwe?
GNU GPL nie zezwala użytkownikom na dołączanie innych licencji do programu. Jednak posiadacz praw autorskich może wypuścić program pod kilkoma różnymi licencjami równolegle. Jedną z nich może być GNU GPL.

Ta licencja, która jest dołączona do Twojej kopii, zakładając, że została tam umieszczona przez posiadacza praw autorskich i że uzyskałeś kopię zgodnie z prawem, jest licencją mającą zastosowanie do Twojej kopii.

Chciałbym wydać napisany przez siebie program na GNU GPL, ale chciałbym wykorzystać ten sam kod w programach, które nie będą wolne.
Wypuszczenie programu, który nie jest wolny jest zawsze skażone etycznie, ale z punktu widzenia prawa nie ma przeszkód, byś to zrobił. Jeśli masz prawa autorskie do kodu, możesz wypuszczać go kilkakrotnie na rozmaitych różniących się niewyłącznych licencjach.

Czy konstruktor programu objętego GPL jest nią związany? Czy jego działania mogą kiedykolwiek naruszać GPL?
Mówiąc ściśle, GPL jest licencją na użytkowanie, dystrybucję i zmianę programu, którą jego konstruktor udziela innym. Sam nie jest nią związany, więc bez względu na to, co zrobi, nie jest to „naruszenie” GPL.

Jednak, jeśli uczyni coś, co naruszałoby GPL, gdyby zrobił to ktoś inny, z pewnością straci reputację w społeczności.

Czy konstruktor programu, który wypuścił go na GPL może później licencjonować go innej stronie na zasadzie wyłączności?
Nie, gdyż społeczeństwo ma już prawo do używania programu na zasadach GPL, a nie może ono zostać odwołane.

Czy mogę korzystać z edytorów objętych GPL do pisania programów, które nie są wolne? Czy do ich kompilacji mogę wykorzystywać narzędzia objęte GPL, takie jak GCC?
Tak, gdyż prawa autorskie związane z edytorami czy narzędziami nie obejmują kodu, który piszesz. Zgodnie z prawem, korzystanie z nich nie nakłada żadnych ograniczeń na licencję, jakiej zechcesz użyć dla swojego kodu.

Niektóre z programów z powodów technicznych kopiują części samych siebie na wyjście – na przykład, Bison do generowanego pliku wynikowego kopiuje standardowy program analizy składni. W takich przypadkach, skopiowany na wyjście tekst jest objęty tą samą licencją, która obejmuje kod źródłowy. Z kolei część wyjścia, która pochodzi od wejścia programu dziedziczy status prawny wejścia.

Skoro tak, to także i Bison może być używany do budowania programów, które nie są wolne. Jest tak dlatego, że zdecydowaliśmy jawnie zezwolić na użycie bez ograniczeń standardowego programu analizy składni z Bisona w generowanych przezeń plikach wyjściowych. Podjęliśmy tę decyzję, ponieważ są inne narzędzia porównywalne z Bisonem, które już pozwalały na ich zastosowanie do programów, które nie są wolne.

Czy mam prawo "dozwolonego użytku" w korzystaniu z kodu źródłowego programu objętego GPL?
Tak, masz. "Dozwolony użytek" ("fair use") to użytek, który jest dopuszczalny bez żadnych specjalnych zezwoleń. Ponieważ nie potrzebujesz zezwolenia autorów na takie użytkowanie, możesz z niego korzystać bez względu na to, co o tym powiedzieli autorzy – w licencji czy gdzieś indziej, czy będzie to GNU GPL czy jakakolwiek inna licencja wolnego oprogramowania.

Zauważ jednak, że nie ma ogólnie przyjętej na świecie zasady dozwolonego użytku; jakie rodzaje wykorzystywania są uważane za „dozwolone” zależy od konkretnego kraju.

Czy jest jakiś sposób, w jaki mogę objąć przez GPL wyniki, uzyskiwane z mojego programu? Na przykład, jeśli program służy do opracowywania projektów sprzętu, to czy mogę wymagać, by te projekty musiały być wolne?
Ogólnie rzecz biorąc jest to prawnie niemożliwe. Prawo autorskie nie daje Ci prawa głosu co do tego, w jaki sposób ktoś wykorzysta wyniki uzyskane przez niego ze swoich danych przy użyciu Twojego programu. Jeśli użytkownik korzysta z Twojego programu do wprowadzania i przetwarzania własnych danych, to prawa autorskie do wyniku należą do niego, nie do Ciebie. Ogólniej: gdy program przekształca otrzymane dane wejściowe w jakąś inną postać, to status prawny wyniku jest taki sam, jak wejścia, z którego go utworzono.

Zatem jedyna sytuacja, w której możesz mieć coś do powiedzenia, co do użycia wyników, zachodzi wówczas, gdy w znaczne części wyniku skopiowane są (mniej czy bardziej dokładnie) z tekstu Twojego programu. Na przykład, część wyniku generowanego przez program Bison (zobacz wyżej) byłaby objęta przez GNU GPL, gdybyśmy nie zrobili wyjątku w tym konkretnego przypadku.

Mógłbyś sztucznie spowodować, by program kopiował pewien tekst do generowanego wyjścia, nawet gdyby nie było do tego żadnego technicznego powodu. Jednak, jeśli tak skopiowany tekst nie miałby praktycznego znaczenia, użytkownik po prostu usunąłby go z uzyskanego wyniku i wykorzystał tylko resztę. W ten sposób nie musiałby przestrzegać warunków redystrybucji skopiowanego tekstu.

W jakich przypadkach wynik programu na GPL jest również objęty GPL?
Tylko wówczas, gdy program kopiuje do wyniku część samego siebie.

Jeśli dołożę moduł do programu objętego GPL, to czy muszę użyć GPL jako licencji dla swojego modułu?
W GPL stwierdza się, że cały połączony program musi być wydany na warunkach GPL. Zatem Twój moduł musi być dostępny do wykorzystania na GPL.

Możesz jednak udzielić dodatkowego zezwolenia na użycie swojego kodu. Możesz, jeśli chcesz, wypuścić program na licencji swobodniejszej niż GPL, ale z nią zgodnej. Na stronie z listą licencji znajduje się częściowy wykaz licencji zgodnych z GPL.

Czy jeśli bibliotekę wydano na warunkach GPL (nie LGPL), to znaczy, że każdy program, który jej używa musi być objęty GPL?
Tak, gdyż podczas działania faktycznie wykonywany program obejmuje także bibliotekę.

Czy jeśli interpreter jakiegoś języka programowania jest wydany na GPL, to programy napisane do interpretowania przez niego muszą być na licencji zgodnej z GPL?
Jeśli ten interpreter tylko interpretuje język, to nie muszą. Interpretowany program to, dla interpretera, tylko dane – licencje wolnego oprogramowania, jak GPL, oparte na systemie praw autorskich, nie mogą ograniczać Cię w tym, z jakimi danych używasz interpretera. Możesz uruchamiać dla dowolnych danych (interpretowanego programu), w jaki zechcesz sposób, i nie istnieją żadne wymagania dotyczące licencjonowania tych danych na rzecz kogokolwiek.

Jednakże, gdy interpreter jest rozszerzony tak, by udostępniać „powiązania” z innymi mechanizmami wspomagającymi (często, choć niekoniecznie, z bibliotekami), interpretowany program, praktycznie rzecz biorąc, jest połączony z mechanizmami, z jakich korzysta za pośrednictwem tych powiązań. Stąd też, jeśli mechanizmy wydano na GPL, to interpretowany program, który ich używa, musi być wydany w sposób zgodny z GPL. Przykładem takiego mechanizmu wiązania jest JNI, czyli Java Native Interface: biblioteki, do których sięga się tą metodą, są dynamicznie łączone z programami Javy, które je wywołują. Biblioteki te są łączone również z interpreterem. Jeśli interpreter został skonsolidowany statycznie z tymi bibliotekami lub jeśli zaprojektowano go do łączenia dynamicznego z tymi konkretnymi bibliotekami, to również on powinien zostać wydany w sposób zgodny z wymogami GPL.

Innym podobnym i bardzo często spotykanym przypadkiem jest dostarczanie wraz z interpreterem bibliotek, które same są interpretowane. Na przykład, Perl rozprowadzany jest z wieloma modułami perlowymi, a implementacje Javy z wieloma klasami Javy. Te biblioteki i programy, które je wywołują są zawsze dynamicznie łączone.

Wskutek tego, jeśli zdecydowałeś się na użycie w swoim programie wydanych na GPL modułów Perla czy klas Javy, musisz wydać go zgodnie z GPL, bez względu na to jakiej licencji użyto dla interpretera Perla czy Javy, przez który będzie wykonywany.

Piszę w Microsoft Visual C++ (lub w Visual Basicu) aplikację do Windows i chcę ją wydać na GPL. Czy zgodnie z GPL dozwolone jest dynamiczna konsolidacja programu z biblioteką wykonawczą (run-time) Visual C++ (Visual Basica)?
Tak, gdyż ta biblioteka wykonawcza zwykle jest dostarczana z kompilatorem lub interpreterem, którego używasz.

Dlaczego pierwotna licencja BSD jest niezgodna z GPL?
Ponieważ nakłada pewne specyficzne wymaganie, którego nie ma w GPL. Konkretnie, chodzi o wymóg związany z reklamowaniem programu [wymaga się zamieszczenia podziękowań w ogłoszeniach lub dokumentacji związanej z pakietem]. GPL stanowi:

You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

Na korzystanie przez odbiorcę z udzielonych w niniejszej Licencji praw nie możesz narzucać już dalszych ograniczeń.

Klauzula ogłoszeniowa stanowi takie właśnie dalsze ograniczenie, zatem jest niezgodna z GPL.

Poprawiona licencja BSD nie zawiera klauzuli ogłoszeniowej, co rozwiązuje problem.

Jeśli w programie wydanym na GPL używane są wtyczki (plug-ins), to jakie są dla nich wymagania licencyjne?
To zależy od tego, w jaki sposób program wywołuje wtyczki. Jeśli używa do tego fork i exec, to wtyczki są odrębnymi programami, więc licencja, którą objęty jest główny program nie nakłada na nie żadnych wymagań.

Jeśli program dynamicznie dołącza wtyczki, wykonują one wzajemne wywołania funkcyjne i mają wspólne struktury danych, to uważamy, że tworzą one jeden program, który musi być traktowany jako rozszerzenie zarówno programu głównego, jak i wtyczek. To znaczy, że wtyczki muszą zostać wydane na GPL lub na licencji wolnego oprogramowania zgodnej z GPL, a przy ich rozprowadzaniu muszą być przestrzegane warunki GPL.

Jeśli program dynamicznie dołącza wtyczki, ale komunikacja pomiędzy nimi ogranicza się do wywoływania funkcji `main' wtyczki z jakimiś opcjami i oczekiwania na powrót sterowania, to jest to przypadek graniczny.

Czy mogę zastosować GPL pisząc wtyczkę do programu, który nie jest wolny?
Jeśli program do wywoływania wtyczek stosuje fork i exec, to wtyczki są odrębnymi programami, zatem licencja, którą objęty jest główny program, nie nakłada na nie żadnych wymagań. Możesz więc użyć GPL do wtyczki, i nie ma tu żadnych specjalnych wymagań.

Jeśli program dynamicznie dołącza wtyczki, wykonują one wzajemne wywołania funkcyjne i mają wspólne struktury danych, to uważamy, że tworzą one jeden program, który musi być traktowany jako rozszerzenie zarówno programu głównego, jak i wtyczek. To znaczy, że połączenie objętej GPL wtyczki z niewolnym programem głównym naruszałoby GPL. Można jednak rozwiązać ten problem prawny, dodając do licencji swojej wtyczki wyjątek, zezwalający na łączenie wtyczki z konkretnym programem głównym, mimo że nie jest on wolny.

Zobacz także odpowiedź na pytanie Czy mogę pisa


 


Do góry Do góry 
 
Powrót Powrót 
Wyślij znajomemu Drukuj
Komenarze
Czy mogę wykorzystać program oparty na GNU/GPL w moim programie?
08.06.2006 10:07    Autor: TI 
Czy mogę wykorzystać program oparty na GNU/GPL w moim programie? Chodzi mi o taką sutyacje że program oparty na GNU/GPL jest integralną i nie rozerwalną częścią programu komercyjnego.

Dodaj komentarz
Temat: *
Treść: *
Podpis: *
Adres e-mail: Nie publikuj adresu na stronie
Powiadom mnie
jeżeli ktoś doda komentarz:
(Musisz podać adres emial aby skorzytsać z tej opcji)
 
* - pola obowiązkowe

Komentarze powinny być zgodne ogólnie przyjętymi normami moralnymi oraz zasadami netykiety.
Zabronione jest umieszczanie obraźliwych, niecenzuralnych wypowiedzi. Niedozwolone jest również
wykorzystywanie serwisu do celów komercyjnych bez wiedzy i zgody administratora.
Komentarze które naruszą powyższe warunki będą usuwane.

Za treści pozostawione przez osoby odwiedzające nasze serwisy, zespół linuxpub.pl nie ponosi odpowiedzialności.
 
Wiadomości | Archiwalne wiadomości | Faq | Felietony | Podstawy | Konfiguracja | Administracja | Programowanie | Licencja GNU/GPL
2000 - 2008 Copyright (c) linuxpub.pl, epub.pl | Zgłoś błąd