Licencja GNU GPL with "Classpath exception to the GPL" (for JAVA) - ComputerLawComputerLaw

ComputerLaw

Prawo, internet, komputer i code.

Licencja GNU GPL with „Classpath exception to the GPL” (for JAVA)

Biblioteki udostępniane w Internecie na licencji GNU GPL nie zawsze  muszą „zarażać wirusem”1 Odstępstwem od tej zasady są uwzględnione w ramach licencji GPL wyjątki z ang. „exception”. Klasycznym przykładem takiego wyjątku licencji GPL jest po prostu LGPL2.
Uprawnieni z tytułu majątkowych praw autorskich3 mogą tworzyć własne wyjątki w ramach tzw. „Classpath exception to the GPL”. Tak zrobił ORACLE w aspekcie wielu bibliotek JAVA.Omawiany w tym artykule wyjątek jest istotny dla programistów, którzy na podstawie biblioteki rozpowszechnianej na licencji GPL pragną stworzyć produkt oparty o własną licencję lub bez konieczności udostępniania źródła (open source). Wyjątek ten pozwala na łączenie kodu źródłowego biblioteki opartej na licencji GNU GPL z „classpath exception”, bez konieczności obejmowania tą licencją całości finalnego programu. Uprawnieni z tytułu majątkowych praw autorskich do tej biblioteki uprawniają do łączenia biblioteki opartej na tej licencji4 z niezależnymi modułami wytwarzającymi plik wykonywalny bez konieczności rozpowszechniania modułów niezależnych na licencji tej samej, co biblioteka. W związku z tym to twórca nowego oprogramowania bazującego na bibliotekach z licencją GPL with classpath exception to the GPL, może licencjonować na własnych zasadach owe niezależne moduły5. Ten wyjątek może zostać także rozszerzony na modyfikacje samej biblioteki.

Reasumując: Można używać biblioteki opartej o licencję GPL z „classpath exception to the GPL” do tworzenia i rozpowszechniania apletów lub dużej klasy aplikacji. Używanie GNU Classpath jako biblioteki klas podstawowych dla maszyny wirtualnej java lub na program napisany w java, to nie ma to znaczenia dla rozpowszechnianie bezpośrednio tych programów.  Zatem jest to rozwiązanie mocno zbliżone do LGPL. Jednak z pewnymi odmiennościami, co oczywiście w innym artykule.

Przykład:

Mamy aplet Biblioteka.java, który jest udostępniony na licencji GNU GPL with Classpath exception. Poniżej prosty (banalny) przykład:

import java.awt.*;
import java.applet.*;

public class BibliotekaJ extends Applet
{
public void paint (Graphics gDC)
	{
	gDC.drawString("obiekt", 200, 300);
	}
}

Następnie aplet ten dołączamy do naszego portalu internetowego wykonanego na zlecenie klienta.

<applet code="BibliotekaJ.java" width="200" height="300"></applet>

Jak można sprzedać portal?

Są dwa sposoby: Albo przeniesiesz majątkowe prawa autorskie do niezależnych części portalu internetowego, a resztę (biblioteki) przekażesz wraz ze wskazaniem licencji lub na wszystko udzielisz licencji (uwzględniając licencje GPL na oddzielne komponenty).

Show 5 footnotes

  1. Na tym polega idea GNU GPL – korzystamy z dobrodziejstwa GPL zatem wszystko co dzięki temu powstanie również w GPL  obrócić się musi.
  2. Licencja będzie omówiona przy okazji innego wpisu
  3. np. programiści, podmioty które kupiły oprogramowanie od autorów wraz z przeniesieniem majątkowych praw autorskich
  4. tj. Licencja GNU GPL with „Classpath exception to the GPL”
  5. tj. należy udzielić licencji np. odpłatnej ale z poszanowaniem licencji poszczególnych bibliotek dołączanych do oprogramowania

3 Responses so far.

  1. Rafał pisze:

    Pani Agato, super strona. Bardzo Pani dziękuję za ten artykuł, bo chciałem właśnie wykorzystać bibliotekę z „Classpath exception” i nie wiedziałem jak to interpretować. Ślicznie dziękuję.

  2. Marek pisze:

    Super, właśnie tego szukałem.

Leave a Reply