Czy możemy używać Javy do celów komercyjnych?


49

Java jest licencją GPL (odnośnik z wikipedii). Nie jestem pewien, czy mogę go wykorzystać w projektach komercyjnych. Mam już stronę internetową napisaną w Javie i planuję wykorzystać ją do celów komercyjnych. Czy to nielegalne?



2
@Sathya To pytanie dotyczy używania wtyczki GPL w aplikacji Java. To pytanie wydaje się dotyczyć legalności korzystania z samej Javy.
Adam Lear

6
@Shisoft Biorąc pod uwagę liczbę komercyjnych aplikacji Java, nie sądzę, że masz się czym martwić. Zobaczyłbyś co najmniej kilka procesów sądowych, gdyby nie było w porządku.
Adam Lear

Java SE nie jest już GPL, ale BCL. Oracle może dowolnie zmieniać licencję. (FAQ nr 8 oracle.com/technetwork/java/javase/overview/… ). Biorąc to pod uwagę, Oracle nie może renagować starszych wersji Javy wydanych na licencji GPL.
snmcdonald

3
@snmcdonald OpenJDK 6 i 7 są nadal licencjonowane jako GPL z wyjątkiem Classpath. „Sun” JDK 6 i wcześniejsze nigdy nie były GPL. (IANAL)
Tom Hawtin - tackline

Odpowiedzi:


80

Licencja GPL dotyczy samego źródła Java, a nie aplikacji tworzonych przy użyciu Java. Należy się martwić tylko wtedy, gdy rozszerzasz / modyfikujesz sam język Java i odsprzedajesz wynik jako produkt komercyjny (lub inną licencję inną niż GPL).


8
Jest to w najlepszym razie mroczne, dlatego istnieje GPL z wyjątkiem Classpath. Kod działający na JDK jest powiązany z biblioteką Java. Kod powiązany z kodem GPL ma być GPLed (z zastrzeżeniem interpretacji odpowiednich jurysdykcji). (Nie jestem warstwą!)
Tom Hawtin - hals

3
@tom - nazywa się to standardowym wyjątkiem biblioteki - w przeciwnym razie cały kod, który wywołałby jądro Linuksa GPL, musiałby być GPL
Martin Beckett

4
@Tom: właśnie dlatego istnieje wyjątek classpath, aby zapewnić, że skompilowany kod Java (wszystkie zależą od standardowych bibliotek, które są GPL, jeśli pobrałeś wersję OpenJDK, a nie jeśli masz wersję komercyjną), nie musi być GPL.
jwenting

ta odpowiedź jest poprawna tylko poprawna, ponieważ została wydana na licencji GPL z wyjątkiem ścieżki klas, a nie surowa GPL
ihebiheb

19

OpenJDK jest licencjonowany na licencji GPL z wyjątkiem Classpath . Ważna jest część dotycząca wyjątku Classpath. Pozwala korzystać z OpenJDK z oprogramowaniem dowolnej licencji, nie tylko GPL. W szczególności możesz używać OpenJDK z zastrzeżonym oprogramowaniem.


2
Wdrożenia @Shisoft „Sun” Java SE 6 i wcześniejszych są licencjonowane na różnych licencjach, niektóre z nich są bezpłatne jak w piwie, ale [jak dotąd] nie ma smaku GPL. OpenJDK 6 i 7 (6 to tylny port 7), są GPLv2 z wyjątkiem Classpath. Ma również na celu wydanie „Sun” JDK7.
Tom Hawtin - tackline

17

Plik binarny Java JDK NIE jest GPL, to jest BCL. Oracle może dowolnie zmieniać licencję. ( FAQ # 8 ) Biorąc to pod uwagę, Oracle nie może zrezygnować ze starszych wersji Javy wydanych na licencji GPL.

Zawsze sprawdzaj licencję, aby uzyskać aktualne informacje. Na dzień dzisiejszy licencja stanowi :

Zastosowanie wewnętrzne / wewnętrzne: Pliki binarne platformy Java SE (JDK i JRE) są licencjonowane na podstawie licencji Sun Code Binary Code (BCL) z dodatkowymi warunkami. Dla większości programistów i użytkowników końcowych binarny JDK i binarny JRE to wszystko, czego potrzeba, aby poznać świat technologii Java. UŻYTKOWANIE: Binarny JDK i JRE są dostępne bezpłatnie w firmie Sun (zgodnie z warunkami BCL) do użytku z komputerami stacjonarnymi. Korzystanie z JDK lub JRE dla urządzeń wbudowanych i innych środowisk komputerowych może wymagać opłaty licencyjnej od firmy Sun. Dowiedz się więcej o wbudowanym korzystaniu z Java SE lub skontaktuj się z lokalnym biurem Sun w celu uzyskania licencji.

Pamiętaj, że nie możesz wypuścić Java SE na urządzeniu wbudowanym (pomyśl Google Android), jak podano w FAQ.

Źródło Java SDK jest dostępne na licencji SCSL i JPL.

Kod źródłowy: Kod źródłowy JDK jest dostępny dla badaczy i innych osób zainteresowanych zbadaniem szczegółów JDK. Każde wydanie ma własną licencję lub zestaw licencji, które często zawierają warunki licencji Sun Community Source License (SCSL). Firma Sun rozpoczęła niedawno oferowanie uproszczonego dostępu do kodu źródłowego JDK w ramach nowej licencji Java Research License (JRL). Pamiętaj, że w obu przypadkach (SCSL lub JRL), jeśli zdecydujesz się wykorzystać projekt wewnętrznie do produktywnego użytku lub rozpowszechniać swój produkt wśród innych, musisz podpisać umowę handlową i spełnić wymagania kompatybilności z Javą. Skontaktuj się z lokalnym biurem Sun, aby uzyskać umowę.


2
-1 Twoje sformułowanie sugeruje, że dostarczone przez firmę Sun / Oracle pliki do pobrania dystrybucji JDK były kiedyś GPL, ale już nie. To nie jest prawda. Oni nigdy nie byli GPL. To, co było i jest wydane na licencji GPL, to OpenJDK , który różni się od komercyjnych wersji JDK. Jako posiadacz praw autorskich do OpenJDK mogą swobodnie udostępniać komercyjne, inne niż GPL, wersje instrumentów pochodnych OpenJDK.
Chris Jester-Young

2
Ponadto w często zadawanych pytaniach dotyczących OpenJDK : „Oracle JDK jest oparty na kodzie źródłowym OpenJDK. Ponadto zawiera komponenty o zamkniętym źródle. Ostateczny wynik jest licencjonowany na licencji kodu binarnego”. Materiały o zamkniętym źródle są materiałami stron trzecich, których nie mogli uzyskać licencji. Dla prawdziwie darmowej, kompletnej dystrybucji OpenJDK, jest IcedTea (to jest to, czego większość dystrybutorów GNU / Linux używa jako swojej głównej implementacji Java).
Chris Jester-Young

5

Mylisz kilka rzeczy.

  • GPL jest licencją dotyczącą redystrybucji oprogramowania. Nawet jeśli kompilator Java, którego użyłeś, był na licencji GPL, nie przeszkodzi ci to w rozpowszechnianiu własnego oprogramowania, ponieważ różni się to od redystrybucji Java. (Poza tym środowisko uruchomieniowe Java można pobrać niezależnie od Oracle).
  • GPL nie jest niezgodna z oprogramowaniem komercyjnym. Niektóre odpowiedzi tutaj mylą „zastrzeżony kontra wolny (jak w mowie)” z „komercyjny kontra wolny (jak w piwie)”. To prawda, że ​​należy zachować ostrożność przy sprzedaży oprogramowania GPL (sprzedaż liczy się jako „redystrybucja”), ale nie jest to niemożliwe.
  • Implementacja Java przez Oracle nie jest licencją GPL. Przeczytaj jego licencję tutaj .
  • Open JDK jest implementacją GPL , ale jak wspomniano powyżej, nie oznacza to, że jest niekompatybilny z oprogramowaniem komercyjnym.

1

Jak wiem, zgodnie z aktualną licencją Java jest objęta licencją BCL (Sun's Binary Code License), możesz używać JDK i JRE za darmo do celów komercyjnych. Użyj ECLIPSE jako IDE jako punktu początkowego do opracowania kodu Java. Jest to oprogramowanie typu open source, więc nie potrzebujesz do tego żadnej licencji. Podczas pracy nad projektem będziesz potrzebować wielu innych narzędzi do wykonywania różnych czynności. Większość wymaganych funkcji jest udostępniana w środowisku Eclipse jako wtyczki (do pobrania).


-1

Po przejściu na Javę BLC cała licencja na korzystanie z Java podlega interpretacji, co oznacza „skontaktuj się z Oracle, jeśli naprawdę chcesz”.

Oznacza to zapłatę, jeśli chcą, abyś zapłacił. Zgodnie z BLC Java może być dowolnie używana w „komputerach i serwerach ogólnego przeznaczenia” (jak w http://www.oracle.com/technetwork/java/javase/terms/license/index.html ), których definicja zawiera słowa „informatyka ogólnego zastosowania”.

Nie wiem, czy moje obliczenia są obliczeniami ogólnego przeznaczenia - czy jesteś pewien, że twoje? Oracle dodało także klauzule takie jak „używane do ogólnych funkcji obliczeniowych pod kontrolą użytkownika końcowego”.

Skontaktuj się z działem prawnym.


5
To jest FUD. Widzę wokół siebie wiele firm, w tym znane banki, korzystających z Javy bez zastanowienia się nad problemami z licencjonowaniem.
quant_dev

Zapytaj Google, czy to kiedykolwiek spowodowało problemy. Sceptycyzm polegający na zaufaniu Oracle w zakresie interpretacji praw autorskich jest uzasadniony w wysokości 9 miliardów dolarów. Mam nadzieję, że masz rację - ale założę się, że Google myślał tak samo. Firma Oracle dokonała ostatnio dużej zmiany, zmieniając licencję, więc prawdopodobnie spodziewają się, że licencja przyniesie $$. zastrzeżenie emptor
Jeff K

-3

Nie. O ile obecnie wiem, GPL ogranicza tylko użycie kodu źródłowego kodu lub programu na niego licencjonowanego (w tym przypadku programu uruchamiającego kod Java). Ale to nie ogranicza samego kodu Java.


Nie używam kodu, tylko jego biblioteki. Co z tym?
Shisoft


1
Twoja odpowiedź jest dwuznaczna. Czy mówisz „nie” w tytule „czy możemy używać java do celów komercyjnych”, czy mówisz „nie” w ostatniej części pytania „czy to jest nielegalne”?
Bryan Oakley

-3

Możesz skompilować aplikację za pomocą gcc, które jest wolnym oprogramowaniem. Następnie możesz licencjonować swoją aplikację, ale nie kompilator gcc.


3
Ostatnim razem, gdy sprawdzałem, gcc nie skompilował Java.
Dan Pichelman
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.