Tłumaczenia tej strony
Ta strona zawiera odpowiedzi na zwykle zadawane pytania o Powszechną Licencję Publiczną GNU (GPL). O innych licencjach Fundacji Wolnego Oprogramowania możecie dowiedzieć się więcej na naszej stronie poświęconej licencjom.
Po przeczytaniu tego dokumentu możecie sprawdzić swoją wiedzę na temat licencjonowania wolnego oprogramowania rozwiązując nasz quiz (w języku angielskim).
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>.
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.
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.
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.
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ę).
GPL jest licencją wolnego oprogramowania i dlatego zezwala ludziom na wykorzystywanie, a nawet redystrybucję oprogramowania bez obowiązku płacenia za to komukolwiek.
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.
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.
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.
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.
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.
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.
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
Linking ABC statically or dynamically with other modules is making a combined work based on ABC. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
In addition, as a special exception, the copyright holders of ABC give you permission to combine ABC program with free software programs or libraries that are released under the GNU LGPL and with code included in the standard release of DEF under the XYZ license (or modified versions of such code, with unchanged license). You may copy and distribute such a system following the terms of the GNU GPL for ABC and the licenses of the other code concerned, provided that you include the source code of that other code when and as the GNU GPL requires distribution of source code.
Note that people who make modified versions of ABC are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.
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
Konsolidacja statyczna lub dynamiczna ABC z innymi modułami jest tworzeniem pracy złożonej, opartej na ABC. Dlatego warunki Powszechnej Licencji Publicznej GNU obowiązują w stosunku do całości tak powstałej kombinacji.
Dodatkowo, w ramach wyjątku specjalnego, posiadacz praw autorskich do ABC udziela zezwolenia na konsolidację tego programu z wolnymi programami lub bibliotekami wydanymi na licencji GNU LGPL oraz z kodem zawartym w standardowym wydaniu DEF na licencji XYZ (lub ze zmodyfikowanymi wersjami takiego kodu na niezmienionej licencji). Możesz kopiować i dystrybuować tak powstały system przestrzegając warunków GNU GPL dla ABC oraz odpowiednich licencji dla reszty kodu, pod warunkiem, że dołączysz kod źródłowy tego kodu w przypadkach, kiedy w GNU GPL wymaga się dystrybucji kodu źródłowego, i we wskazany w niej sposób.
Zauważ, że osoby, które utworzą zmodyfikowane wersje ABC, nie są zobowiązane przyznawać do nich niniejszego wyjątku; zależy to wyłącznie od nich. W Powszechnej Licencji Publicznej GNU pozwala się na wydawanie wersji bez tego wyjątku; niniejszy wyjątek umożliwia także wydanie takiej zmodyfikowanej wersji, w której zostanie zachowany.
Powinieneś umieścić ten tekst w każdym pliku, którego dotyczy wyjątek.
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.
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).
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”.
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.
Jednak, jeśli uczyni coś, co naruszałoby GPL, gdyby zrobił to ktoś inny, z pewnością straci reputację w społeczności.
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.
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.
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.
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.
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.
Co nie oznacza, że pisanie programu, który będzie działać tylko w środowisku Windows jest dobrym pomysłem. W efekcie powstanie program wolny, lecz ”w okowach„ (w tym przypadku schwytany w pułapkę przez Windows, a nie Javę, ale skutek jest ten sam).
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 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.
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ć wolne oprogramowanie korzystające z bibliotek, które nie są wolne?
Jeżeli program dołącza wtyczki dynamicznie, 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. Program główny, żeby mógł korzystać z wtyczek objętych GPL, musi zostać wydany na GPL lub na licencji wolnego oprogramowania zgodnej z GPL, a przy rozprowadzaniu programu do użytku z tymi wtyczkami 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.
Zobacz także odpowiedź na pytanie Czy mogę pisać wolne oprogramowanie korzystające z bibliotek, które nie są wolne?
Zawsze masz zgodne z prawem wyjście: nie korzystać z naszego kodu.
Linking ABC statically or dynamically with other modules is making a combined work based on ABC. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
In addition, as a special exception, the copyright holders of ABC give you permission to combine ABC program with free software programs or libraries that are released under the GNU LGPL and with independent modules that communicate with ABC solely through the ABCDEF interface. You may copy and distribute such a system following the terms of the GNU GPL for ABC and the licenses of the other code concerned, provided that you include the source code of that other code when and as the GNU GPL requires distribution of source code.
Note that people who make modified versions of ABC are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which caries forward this exception.
Konsolidacja statyczna lub dynamiczna ABC z innymi modułami jest tworzeniem pracy złożonej, opartej na ABC. Dlatego warunki Powszechnej Licencji Publicznej GNU obowiązują w stosunku do całości tak powstałej kombinacji.
Dodatkowo, w ramach wyjątku specjalnego, posiadacz praw autorskich do ABC udziela zezwolenia na konsolidację tego programu z wolnymi programami lub bibliotekami wydanymi na licencji GNU LGPL oraz z niezależnymi modułami, które komunikują się z ABC wyłącznie przez interfejs ABCDEF. Możesz kopiować i dystrybuować tak powstały system przestrzegając warunków GNU GPL dla ABC oraz odpowiednich licencji dla reszty kodu, pod warunkiem, że dołączysz kod źródłowy tego kodu w przypadkach, kiedy w GNU GPL wymaga się dystrybucji kodu źródłowego, i we wskazany w niej sposób.
Zauważ, że osoby, które utworzą zmodyfikowane wersje ABC, nie są zobowiązane przyznawać do nich niniejszego wyjątku; zależy to wyłącznie od nich. W Powszechnej Licencji Publicznej GNU pozwala się na wydawanie wersji bez tego wyjątku; niniejszy wyjątek umożliwia także wydanie takiej zmodyfikowanej wersji, w której zostanie zachowany. Konsolidacja statyczna lub dynamiczna z innymi modułami jest tworzeniem pracy złożonej, opartej na FOO. Stąd też, całość pracy jest objęta warunkami Powszechnej Licencji Publicznej GNU.
W ramach wyjątku specjalnego, posiadacze praw autorskich do FOO udzielają Ci zezwolenia na konsolidację FOO z niezależnymi modułami, komunikującymi się z FOO wyłącznie za pośrednictwem interfejsu FOOBAR, niezależnie od warunków licencyjnych tych modułów, oraz na kopiowanie i dystrybucję powstałej pracy złożonej na dowolnie wybranych warunkach, pod warunkiem, że każdej kopii takiej pracy towarzyszyć będzie pełna kopia kodu źródłowego FOO (wersji FOO użytej do utworzenia pracy złożonej), rozprowadzanej na warunkach Powszechnej Licencji Publicznej GNU z dodanym niniejszym wyjątkiem. Moduł niezależny to moduł, który nie pochodzi od FOO ani nie jest na nim oparty.
Zwróć uwagę, że osoby tworzące zmodyfikowane wersje FOO nie są zobowiązane do przyznawania tego wyjątku specjalnego dla swoich wersji, decyzja należy do nich. Powszechna Licencja Publiczna GNU zezwala na wydawanie zmodyfikowanych wersji bez tego wyjątku; sam wyjątek umożliwia wydawanie także takich zmienionych wersji, które go sobie kolejno przekazują.
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ć.
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.), jak i od jej semantyki (jakie rodzaje informacji są wymieniane).
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. 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.
Osoby prywatne prosimy również o uzyskanie od pracodawców (jeśli ich mają) pisemnego zrzeczenia się praw autorskich. Dzięki temu możemy być pewni, że pracodawcy Ci nie będą sobie rościć pretensji do przekazanych prac.
Oczywiście, jeśli wszyscy współpracownicy udostępnili swój kod jako public domain, to nie ma takiego prawa autorskiego, za pomocą którego można byłoby narzucić GPL. Dlatego zachęcamy ludzi do przypisywania praw autorskich do dużego wkładu w kod, a przekazywania jako public domain tylko niewielkich zmian.
Jeśli chcesz podjąć wysiłek egzekwowania GPL w przypadku własnego programu, zapewne byłoby dobrze, gdybyś przestrzegał podobnej polityki. Jeśli potrzebujesz więcej informacji, skontaktuj się, prosimy, z <licensing@gnu.org>.
Jeśli w zmodyfikowanej licencji chciałbyś użyć naszej preambuły, napisz, prosimy do <licensing@gnu.org> o pozwolenie. Przed jego udzieleniem będziemy chcieli zapoznać się z faktycznymi wymaganiami tej licencji, żeby sprawdzić, czy je aprobujemy.
Mimo że nie będziemy zgłaszać prawnych sprzeciwów wobec licencji, którą utworzysz w opisany sposób, mamy nadzieję, że dobrze się zastanowisz i nie zrobisz tego. Tak zmieniona licencja jest niemal na pewno niezgodna z GNU GPL, co blokuje przydatną możliwość łączenia modułów. Samo mnożenie się różnych licencji wolnego oprogramowania jest już uciążliwe.
Spełnienie tych wymagań jest warunkiem włączenia do własnego programu kodu objętego GPL, który otrzymałeś.
Jednak dla dokumentacji i podręczników, czy bardziej ogólnie wszelkiego rodzaju pracy, której celem jest nauczanie jakiegoś tematu, zalecamy użycie raczej GFDL niż GPL.
Szczegóły wyjaśniono w tym artykule. Działa tak, jak to zaprojektowano, zamierzono, zgodnie z oczekiwaniami.
System włączający program na GPL jest rozszerzoną wersją tego programu. GPL stanowi, że wszelkie rozszerzone wersje programu muszą być wydane na GPL, jeśli mają być w ogóle wydane. Jest tak z dwu powodów: aby zapewnić, że użytkownicy, którzy otrzymują oprogramowanie, otrzymują też wolność, którą powinni mieć, oraz by zachęcić ludzi do zwracania ulepszeń, które poczynili.
Jednakże, w wielu przypadkach możesz rozpowszechniać oprogramowanie objęte GPL razem z prawnie zastrzeżonym systemem. Chcąc to zrobić w sposób ważny, musisz zapewnić, by programy wolne i nie będące wolnymi komunikowały się ze sobą na dystans, by nie były połączone w sposób, który faktycznie czyniłby z nich jeden program.
Różnica pomiędzy tym a „wcielaniem” programów objętych GPL jest częściowo kwestią treści, a częściowo formy. Część dotycząca treści jest taka: jeśli dwa programy są połączone w taki sposób, że stają się faktycznie dwoma częściami jednego programu, to nie możesz traktować ich jako dwu osobnych programów. A zatem GPL musi obejmować całość.
Jeśli oba programy pozostają dobrze odseparowane, jak kompilator i jądro, czy jak edytor i powłoka, to możesz traktować je jako dwa odrębne programy — ale musisz to robić poprawnie. Kwestia dotyczy właśnie formy: jak opisujesz to, co robisz. Dlaczego zwracamy na to uwagę? Ponieważ chcemy mieć pewność, że użytkownicy jasno rozumieją wolny status umieszczonego w kolekcji oprogramowania objętego GPL.
Jeśli ktoś rozpowszechniałby programy objęte GPL nazywając je „częścią” systemu, o którym wiadomo, że jest częściowo prawnie zastrzeżony, użytkownicy mogliby być niepewni swoich praw dotyczących oprogramowania objętego GPL. Jednak jeśli będą wiedzieć, że to, co otrzymali to wolny program plus inny program, obok siebie, ich prawa będą jasne.
Tak. Ten wyjątek utworzono, żeby pozwolić ludziom na używanie gcc do kompilacji programów prawnie zastrzeżonych.
Pierwszy, ogólny. Jeśli pozwolilibyśmy firmie A na zrobienie prawnie zastrzeżonego pliku, a firmie B na dystrybucję oprogramowania objętego GPL połączonego z tym plikiem, to konsekwencją byłaby dziura w GPL, przez którą wjechałaby ciężarówka. Byłoby to wystawienie carte blanche dla odmawiania kodu źródłowego do wszelkiego rodzaju zmian i rozszerzeń programów objętych GPL.
Zapewnienie wszystkim użytkownikom dostępu do kodu źródłowego jest jednym z naszych głównych celów, zatem ten skutek jest bez wątpienia czymś, czego chcielibyśmy uniknąć.
A wracając do konkretów: wersje programów skonsolidowane z bibliotekami Money Guzzler nie byłyby naprawdę wolnym oprogramowaniem w sposób, w jaki rozumiemy ten termin. Nie byłyby dostarczane z pełnym kodem źródłowym, który umożliwia użytkownikom zmianę i rekompilację programu.
Jeżeli licencja modułu Q pozwala na takie działanie, wówczas jest zgodna z GPL. W przeciwnym razie — nie jest zgodna.
Jeśli w licencji Q jednoznacznie zapisano, że gdy rozprowadzasz samo Q, to musisz zrobić pewne rzeczy (które nie są zgodne z GPL), to nie pozwala ona na dystrybucję Q na GPL. Z czego wynika, że na GPL nie można także wydać P+Q. Nie można więc skonsolidować lub połączyć P z Q.
Kiedy użytkownik zamawia źródła, musisz się upewnić, że je otrzyma. Jeśli jakaś konkretna osoba może w dogodny sposób uzyskać od Ciebie źródła korzystając z anonimowego FTP, to świetnie — wystarczy. Jednak nie każdy użytkownik może to zrobić. Pozostali są po prostu upoważnieni do uzyskania kodu źródłowego od Ciebie. Zatem musisz być przygotowany na wysłanie im go zwykłą pocztą.
Jeśli dostęp przez FTP okaże się wystarczająco wygodny, być może nikt nie zdecyduje się na zamówienie kopii pocztą. Wówczas nigdy nie będziesz musiał ich wysyłać. Ale nie możesz tego z góry zakładać.
Oczywiście, przede wszystkim najłatwiej jest po prostu wysłać źródła razem z binariami.
Jeśli rozprowadzasz binaria przez FTP, to powinieneś przez FTP rozprowadzać źródła.
Zauważ, jednak, że nie wystarczy znaleźć jakieś miejsce, teraz akurat ma odpowiedni kod źródłowy i wskazać ludziom, by tam sięgnęli. Jutro w tym ośrodku może zostać skasowany lub po prostu zastąpiony nowszą wersją tego samego programu. Wówczas nie będziesz już spełniał wymagań GPL. Chcąc podjąć rozsądny wysiłek, by się do nich zastosować, powinieneś zawrzeć skuteczną umowę z tym ośrodkiem, i w ten sposób zapewnić, że źródła będą tam dostępne tak długo, jak długo będziesz udostępniał binaria.
Częścią idei wolnego oprogramowania jest to, iż użytkownicy powinni mieć dostęp do kodu źródłowego *programów, które używają*. Używający Twojej wersji powinni mieć dostęp do kodu źródłowego Twojej wersji.
Głównym celem GPL jest zbudowanie Wolnego Świata dzięki zagwarantowaniu, że udoskonalenia wolnego programu same są wolne. Jeśli wypuszczasz udoskonaloną wersję programu objętego GPL, musisz wypuścić na GPL udoskonalony kod źródłowy.
Użytkownik, który zechce kodu źródłowego za rok może wówczas nie być w stanie uzyskać właściwej wersji podstawowej z innego miejsca. Na serwerze prowadzącym standardową dystrybucję może wtedy znajdować się już nowsza wersja, a te same pliki różnicowe prawdopodobnie nie będą do niej pasowały.
Tak więc z binariami powinieneś dostarczyć pełne źródła, nie tylko pliki różnic.
Kod źródłowy, który dostarczasz musi dokładnie odpowiadać binariom. W szczególności, musisz upewnić się, że są to źródła tej samej wersji programu — nie wersji starszej ani nowszej.
Możesz udostępnić źródła i binaria na różnych maszynach, po warunkiem, że dostęp do nich jest równie łatwy, i że obok binariów pozostawisz informację, gdzie znaleźć źródła.
Intencją naszych wymagań dotyczących redystrybutorów jest zapewnienie użytkownikom możliwości uzyskania kodu źródłowego, a nie zmuszanie ich do ściągania kodu nawet jeśli go nie chcą.
Najistotniejsze, żeby ludzie mieli swobodę dokonywania zmian i korzystania ze zmienionych wersji prywatnie, bez konieczności ich publikowania. Jednak umieszczenie programu na komputerze służącym jako serwer, żeby ogół mógł się z nim porozumiewać, trudno uznać za „prywatny” użytek, więc w tym szczególnym przypadku uprawnione byłoby żądać wypuszczenia kodu źródłowego. Myślimy o zrobieniu czegoś podobnego w trzeciej wersji GPL, ale jeszcze nie mamy wymyślonych precyzyjnych sformułowań.
Na razie, jeśli chcecie, możecie dla programów przeznaczonych do użytku na serwerach sieciowych zastosować Affero GPL.
Jednak kiedy przekazuje kopie innej instytucji, firmie, organizacji czy osobom prywatnym, wówczas mamy do czynienia z rozprowadzaniem. W szczególności, rozprowadzaniem jest rozdawanie kopii wykonawcom kontraktu do użytku poza firmą.
Jeżeli wersji, o której mowa, nie publikowano a firma uważa ją za swoją tajemnicę handlową, to upublicznienie może, zależnie od innych okoliczności, stanowić naruszenie prawa o tajemnicy handlowej. GPL tego nie zmienia. Gdyby firma próbowała wydać swoją wersję i nadal traktować ją jak tajemnicę handlową, naruszałaby GPL, ale jeśli jej nie wydała, takie naruszenie nie nastąpiło.
Czasami lokalny odwrót jest dobrą taktyką. Czasem, stosując LGPL do jakiejś biblioteki może prowadzić do szerszego jej użytkowania, a zatem do większych możliwości jej usprawniania, szerszego wspomagania wolnego oprogramowania, i tak dalej. Jeśli to zachodzi w znacznym natężeniu, może być dobre dla wolnego oprogramowania. Ale w jak dużym stopniu wystąpi? Możemy tylko spekulować.
Byłoby miło wypróbować na chwilę GPL dla każdej biblioteki, zobaczyć czy to pomaga, i zmienić z powrotem na GPL jeśli LGPL nie pomoże. Jednak coś takiego jest niewykonalne. Kiedy już zastosowalibyśmy LGPL do konkretnej biblioteki, odwrócenie zmiany byłoby trudne.
Dlatego też o tym, jakiej licencji użyć dla każdej z bibliotek decydujemy w zależności od konkretnego przypadku. Można zapoznać się z obszernym wyjaśnieniem, w jaki sposób rozstrzygamy tę kwestię.
Maksymalizacja liczby użytkowników nie jest naszym celem. Właściwie, usiłujemy dać decydujące wolności możliwie wielu użytkownikom. Na ogół projekty programów prawnie zastrzeżonych raczej przeszkadzają niż pomagają sprawie wolności.
Niekiedy zdarza się, że czynimy wyjątki licencyjne, by wesprzeć projekt rozwijający wolne oprogramowanie na licencji innej niż GPL. Jednak musimy mieć przedstawione dobre uzasadnienie tego, dlaczego poparłoby to sprawę wolnego oprogramowania.
Czasami zmieniamy też warunki dystrybucji pakietu, gdy jasno wygląda to na słuszny sposób przysłużenia się sprawie wolnego oprogramowania, lecz jesteśmy przy tym bardzo ostrożni i będziesz nam musiał przedstawić bardzo przekonujące powody.
Jednakże, gdy któraś z federalnych agencji rządowych USA wykonanie oprogramowania powierza zleceniobiorcom, sprawy wyglądają inaczej. Jednym z wymogów kontraktu może być wydanie programu przez wykonawcę na warunkach GNU GPL (w ten sposób opracowano GNU Adę). Albo też kontrakt może ustalać, że autorskie prawa majątkowe będą przysługiwać agencji rządowej, która potem może wydać oprogramowanie na GNU GPL.
Jeśli rząd USA zleca tę pracę kontrahentom, to również same ulepszenia mogą zostać objęte GPL.
Gdyby w każdym programie brakowało tego pośredniego wskazania, bylibyśmy zmuszeni szczegółowo przedyskutowywać zmiany GPL z licznymi posiadaczami praw autorskich, co byłoby właściwie niemożliwe. W praktyce, szanse uzyskania jednolitych warunków rozpowszechniania dla oprogramowania GNU byłyby zerowe.
Załóżmy, że w programie napisano „GPL w wersji 2 lub dowolnej późniejszej” i została wydana nowa wersja GPL. Jeśli ta nowa wersja daje dodatkowe uprawnienie, to będzie ono natychmiast dostępne dla wszystkich użytkowników programu. Ale jeśli w nowej wersji GPL jest jakieś bardziej rygorystyczne wymaganie, to nie ograniczy ono użytkowania aktualnej wersji programu, gdyż nadal można z niego korzystać na warunkach GPL wersji 2. Kiedy program zawiera klauzulę „GPL w wersji 2 lub dowolnej późniejszej”, użytkownicy będą zawsze mogli go użyć, a nawet zmienić, zgodnie z warunkami GPL w wersji 2 — nawet po udostępnieniu późniejszych wersji GPL.
Jeśli mocniejsze wymaganie w nowej wersji GPL nie musi być przestrzegane, to jaki z niego pożytek? Od momentu wydania wersji 3 GPL, autorzy większości programów objętych GPL będą wypuszczać kolejne wersje swoich programów podając „GPL w wersji 3 lub dowolnej późniejszej”. Wówczas, dla następnych wersji programu, użytkownicy będą musieli przestrzegać mocniejszych wymagań z GPL wersji 3.
Jednakże autorzy nie są zobligowani, by tak postąpić. Jeśli wolą, mogą nadal zezwalać na korzystanie z poprzedniej wersji GPL.
GPL zaprojektowano do programów: zawiera wiele skomplikowanych klauzul o decydującym znaczeniu w przypadku programów, ale które byłyby nieporęczne, zawikłane i zbędne w przypadku książki czy podręcznika. Na przykład, każdy wydający książkę w postaci papierowej musiałby albo do każdego wydrukowanego egzemplarza dołączać możliwy do odczytania przez urządzenia cyfrowe „kod źródłowy” książki, albo dołączać pisemną ofertę przesłania „kodu źródłowego” później.
Z drugiej strony, GFDL zawiera klauzule, które pomagają wydawcom wolnych podręczników zarabiać na sprzedaży kopii — na przykład odnoszące się do tekstów na okładce. Specjalne zasady dotyczące części z Adnotacjami umożliwiają stosowanie GFDL do oficjalnych standardów. Zezwalają na tworzenie zmienionych wersji, które jednak nie mogą być oznakowane jako „standard”.
Używając GFDL, zezwalamy na zmiany w tekście podręcznika dotyczącym spraw technicznych. Możliwość dokonywania takich zmian jest ważna, ponieważ ci, którzy zmieniają program powinni zmienić dokumentację, aby była zgodna. Swoboda dokonywania zmian w tekście technicznym to imperatyw moralny.
Nasze podręczniki zawierają także części wyrażające nasze stanowisko polityczne na temat wolnego oprogramowania. Oznaczamy je jako „niezmienne”, dzięki czemu nie mogą być zmieniane ani usuwane. GFDL zawiera odpowiednie postanowienia dla takich „sekcji niezmiennych”.
Chcąc użyć takiego wyjątku, do informacji licencyjnej każdego pliku pakietu (na ile to możliwe), po fragmencie mówiącym o tym, że plik jest rozprowadzany na warunkach GNU GPL, powinieneś dodać tekst:
As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
W ramach specjalnego wyjątku, jeśli tworzysz dokument, który korzysta z tego fontu i osadzasz ten font lub jego niezmienione części w dokumencie, to sam font nie powoduje objęcia powstałego dokumentu Powszechną Licencją Publiczną GNU. Wyjątek ten nie unieważnia jednakże innych powodów, dla których dokument może być objęty Powszechną Licencją Publiczną GNU. Jeżeli zmodyfikujesz ten font, możesz rozszerzyć niniejszy wyjątek na swoją wersję fontu, ale nie masz takiego obowiązku. Jeśli nie tego chcesz, usuń niniejsze oświadczenie ze swojej wersji.
Niektóre szablony wywołują funkcje Javascriptu. Skoro kod w języku Javascripyt jest często niebanalny, to warto go objąć licencją typu copyleft. Ponieważ szablony będą połączone z danymi pochodzącymi od użytkowników, niewykluczone, że połączenie szablon + dane użytkownika + Javascript zostałoby według prawa autorskiego uznane za pojedyncze dzieło. Trzeba wykreślić granicę pomiędzy danym kodem Javascriptu (objętym warunkami typu copyleft), a kodem użytkownika (zwykle udostępnianym na warunkach niezgodnych z warunkami copyleft).
Oto wyjątek licencyjny dla kodu Javascript, dzięki któremu można to uzyskać:
As a special exception to GPL, any HTML file which merely makes function calls to this code, and for that purpose includes it by reference shall be deemed a separate work for copyright law purposes. In addition, the copyright holders of this code give you permission to combine this code with free software libraries that are released under the GNU LGPL. You may copy and distribute such a system following the terms of the GNU GPL for this code and the LGPL for the libraries. If you modify this code, you may extend this exception to your version of the code, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
W ramach specjalnego wyjątku w GPL, każdy plik HTML, który tylko wywołuje funkcje z tego kodu, i w tym celu dołącza go przez wskazanie, powinien być z punktu widzenia prawa autorskiego uważany za odrębne dzieło. Dodatkowo posiadacze praw autorskich do tego kodu udzielają zezwolenia na łączenie go z bibliotekami wolnego oprogramowania wydanymi na licencji GNU LGPL. Możesz kopiować i dystrybuować tak powstały system przestrzegając warunków GNU GPL dla tego kodu oraz LGPL dla bibliotek. Jeśli zmodyfikujesz ten kod, możesz rozszerzyć niniejszy wyjątek na swoją wersję kodu, ale nie masz takiego obowiązku. Jeśli nie tego chcesz, usuń niniejsze oświadczenie ze swojej wersji.
Dokument prawny do pewnego stopnia przypomina program. Tłumaczenie go jest jak przełożenie programu z jednego języka i systemu operacyjnego na inny. Potrafi to zrobić tylko prawnik bardzo dobrze znający oba języki, a nawet wówczas istnieje ryzyku wprowadzenia błędu.
jeśli mielibyśmy zatwierdzić, oficjalnie, jakieś tłumaczenie GPL, dalibyśmy każdemu uprawnienie do zrobienia czegokolwiek, na co pozwalałoby tłumaczenie. Jeśli byłoby całkowicie wierne, to świetnie. Ale jeśli byłby w nim błąd, to skutki mogłyby być katastrofą nie do naprawienia.
Jeśli jakiś program ma błąd, możemy wypuścić nową wersję, i ostatecznie stara mniej czy bardziej zniknie. Jednak kiedy już damy komuś zezwolenie na działanie zgodnie z jakimś konkretnym tłumaczeniem, nie mamy żadnych możliwości odwołania tego pozwolenia jeśli później znajdziemy w nim błąd.
Pomocni ludzie czasem oferują się, że zrobią dla nas tłumaczenie. Gdyby kłopot polegał na znalezieniu kogoś, kto miałby to zrobić, to byłby rozwiązany. Jednak faktycznym problemem jest ryzyko błędu, a propozycja wykonania prac nie oddala tego ryzyka. W żaden sposób nie moglibyśmy zatwierdzić tłumaczenia napisanego przez kogoś, kto nie jest prawnikiem.
Z tego powodu, na razie, nie zatwierdzamy tłumaczeń GPL jako ogólnie ważnych i wiążących. Natomiast robimy dwie rzeczy:
To znaczy, że pozwalamy na pisanie tłumaczeń GPL, ale nie zatwierdzamy ich jako prawnie ważnych i wiążących.
Tłumaczenie niezatwierdzone nie ma mocy prawnej i powinno to być w nim stwierdzone wprost. Powinno być oznaczone jak niżej:
This translation of the GPL is informal, and not officially approved by the Free Software Foundation as valid. To be completely sure of what is permitted, refer the original GPL (in English).
To tłumaczenie GPL jest nieformalne i nie jest oficjalnie zatwierdzone przez Free Software Foundation jako wiążące. Pełną pewność, co do tego, co jest dozwolone, uzyskasz odwołując się do oryginalnej GPL (w języku angielskim).
Ale niezatwierdzone tłumaczenie może służyć jako wskazówka, co do rozumienia angielskiej GPL. Dla wielu użytkowników to wystarcza.
Jednakże firmy korzystające z oprogramowania GNU w działalności komercyjnej i osoby publicznie rozpowszechniające je przez ftp powinny sprawdzić prawdziwą angielską GPL, by upewnić się, na co pozwala.
Rozważamy pomysł publikacji tłumaczeń, które byłyby oficjalnie ważne tylko w jednym kraju. W ten sposób, jeśli popełniono by pomyłkę, byłaby ograniczona do jednego kraju, a szkoda nie byłaby nazbyt wielka.
Mimo to, nadal do wykonania tłumaczenia potrzebne będą spore umiejętności i wysiłek ze strony życzliwego i uzdolnionego prawnika, więc nie możemy obiecać żadnych takich tłumaczeń w najbliższym czasie.
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 łączony z mechanizmami, z jakich korzysta za pośrednictwem tych powiązań. Przykładem takiego mechanizmu jest JNI, czyli Java Native Interface: biblioteki, do których sięga się tą metodą, są dynamicznie konsolidowane z programami Javy, które je wywołują.
Zatem jeśli te mechanizmy wspomagające są wydane na licencji niezgodnej z GPL, to sytuacja jest taka, jak w przypadku każdego innego sposobu połączenia z biblioteką niezgodną z GPL. Skąd wynika, że:
Część bibliotek wydana jest na samej licencji GNU GPL — by z nich korzystać musisz użyć licencji zgodnej z GPL. Zwykle są to jednak biblioteki bardziej specjalizowane i podobnych nie miałeś na poprzedniej platformie, więc zapewne nie będziesz ich chciał ich użyć przy zwykłym przeniesieniu programu.
Oczywiście, Twoje oprogramowanie nie jest wkładem na rzecz naszej społeczności jeśli nie jest wolne, a ludzie ceniący sobie wolność odmówią używania go. Będą go używać tylko ci, którzy decydują się na rezygnację ze swej wolności, co znaczy, że skutkiem tego będzie ono funkcjonować jako pokusa, by ludzie porzucili wolność.
Jeśli masz nadzieję pewnego dnia spojrzeć wstecz na swoją karierę i mieć poczucie, że przyczyniłeś się do rozwoju dobrego i wolnego społeczeństwa, powinieneś swe programy uczynić wolnymi.
Wymaganie jest inne: musi on mieć swobodę przekazania Ci kopii jeśli tego zechce. Po tym, gdy posiadacz praw autorskich przekaże kopię programu komuś innemu, ten ktoś może potem przekazać go Tobie czy komukolwiek innemu, jak uważa za stosowne.
Załóżmy, że zaczynam od oryginalnej wersji (nazwijmy ją wersją A), dokładam trochę kodu (powiedzmy, 1000 wierszy) i wypuszczam taką zmodyfikowaną wersję (nazwijmy ją B) na GPL. Według GPL każdy może ponownie zmienić wersję B i wypuścić wynik na warunkach GPL. Zatem ja sam (czy ktokolwiek inny) mogę usunąć te 1000 wierszy, tworząc wersję C, która będzie mieć ten sam kod, co wersja A, ale będzie objęta GPL.
Mógłbyś usiłować zablokować tę drogę, pisząc wprost w licencji, że nie wolno mi, przez usunięcie wierszy z wersji B, odtworzyć niczego identycznego z wersją A na warunkach GPL. Wówczas jednak będzie to oznaczać, że nie mogę w pełni wykorzystywać wersji B w każdy sposób, na jaki zezwala GPL. Inaczej mówiąc, tak utworzona licencja w rzeczywistości nie pozwalałaby użytkownikowi na wypuszczanie zmienionych wersji, takich jak B, na GPL.
Jeśli w jakimś państwie uważa się to za rozprowadzanie i spółka zależna musi uzyskać prawo do redystrybuowania danego programu, to i tak nie ma praktycznej różnicy. Spółka zależna jest kontrolowana przez macierzystą — z prawami czy bez, nie będzie redystrybuować programu, póki jej firma macierzysta o tym nie zdecyduje.
Samo wyrażenie zgody na GPL nie nakłada na Ciebie żadnych zobowiązań. Nie musisz się na nic zgadzać, jeśli chcesz tylko używać programu, który wydano na licencji GNU GPL. Obowiązki masz wyłącznie wtedy, kiedy modyfikujesz lub rozprowadzasz taki program. Jeśli naprawdę przeszkadza Ci akceptowanie GPL kliknięciem, nic nie stoi na przeszkodzie, możesz zhakować program, żeby pomijał ten krok.
Powrót do strony głównej Projektu GNU.
Pytania dotyczące GNU i FSF prosimy kierować na adres
gnu@gnu.org.
Istnieją także
inne sposoby skontaktowania się z FSF.
Uwagi dotyczące naszych stron internetowych prosimy wysyłać na adres webmasters@www.gnu.org, natomiast inne pytania na adres gnu@gnu.org.
Copyright (C) 2001 Free Software Foundation, Inc., 59
Temple Place - Fifth Floor, Boston, MA 02110, USA
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
Zezwala się na wykonywanie i dystrybucję wiernych kopii tego tekstu,
niezależnie od nośnika, pod warunkiem zachowania niniejszego zezwolenia.
Tłumaczenie:
Grupa tłumaczy witryny Projektu GNU
(web-translators-pl@gnu.org).
Aktualizowane: $Date: 2006/10/17 12:18:23 $ $Author: wkotwica $