Java a licencja

0

Witam, na początku zaznaczę, że jestem początkujący jeśli chodzi o zagadnienia związane z Javą, jednak chciałbym żebyście mi coś czego do końca nie rozumiem. Jak wygląda sprawa z licencją w Javie? Tzn. możemy w niej pisać otwarcie jak w innych językach takich jak Python (open source(?)), czy PHP/JS? Czy pisząc w tym języku mamy jakieś odgórne ograniczenia/narzucienia? (pytam zarówno o samą jave, jak i (biblioteki(?)) SE, EE, FX, Swing itp.) Jak to wygląda?
Oraz pytanie trochę poza tematem, aby nie zakładać nowego wątku - warto brać się za jave jeśli docelowo chcielibyśmy pracować przy aplikacjach webowych? (webdev)

0
  1. Tak. Niemniej są np. płatne serwery aplikacyjne do odpalania aplikacji enterprise, ale nikt nie zmusza do korzystania z nich.
  2. Pewnie z 90% softu pisanego w Javie to aplikacje webowe, a konkretnie backend do nich.
0

Z tego co pamiętam, to sprawa wygląda tak, że kodu Javowego możesz klepać do woli. Oracle zaczyna się tobą interesować w momencie kiedy pakujesz JRE/JDK razem ze swoim programem.

0
wartek01 napisał(a):

Oracle zaczyna się tobą interesować w momencie kiedy pakujesz JRE/JDK razem ze swoim programem.

Co masz na myśli?

0
Zimny Mleczarz napisał(a):
wartek01 napisał(a):

Oracle zaczyna się tobą interesować w momencie kiedy pakujesz JRE/JDK razem ze swoim programem.

Co masz na myśli?

A to ma na mysli, że JDK ma różne implementacje spełniające specyfikację javy, i tak dla przykładu Oracle posiada swoje własne JDK(HotSpot) ale istnieją również: opensource OpenJDK, IBM JDK i bodaj jeszcze AZUL też ma coś swojego. W każdym razie, kiedy Ty pisząc w Javie(będącej językiem) wykonujesz to na JDK Oracla bez ich licencji to narażasz się na problemy. Do komercyjnego użytku, w kontekście braku opłaty za licencje, wybierany jest opensourcowy odpowiednik OpenJDK. Tak więc w kontekście Javy i jego użycia komercyjnego w kontekście web(bo z androidem jest różnie pod tym względem(sprawa z Google), z rozwiązań darmowych jest OpenJDK.

0

Czyli sama java jest w pełni darmowa i "otwarta", a jedynie środowisko do jej pisania (Java Development Kit) wymaga płatnej licencji, chyba, że użyjemy w swoim projekcie OpenJDK - i tak samo wygląda sprawa z JRE? Dobrze to rozumiem?

0

Nie.

JDK od Oracle'a jest darmowe. Korzystanie z niego jest darmowe. Nie jest darmowe, gdy rozpowszechniasz JDK/JRE razem ze swoim programem. Jeśli założysz, że docelowy użytkownik będzie miał zainstalowane JRE to nie musisz się tym przejmować.

Źródło:
https://www.java.com/en/download/faq/distribution.xml#eula

I am an administrator. Can I install Java on all the computers at my company?
Yes, you may make unlimited copies for internal use for the purpose of running applications on Java-enabled general purpose desktop computers and servers.

Can I put Java on an intranet for others to download?
Yes, you can provide Java on an Intranet for internal users to download.

Can I distribute Java with my software?
Yes, you can provide Java with your software provided you abide by the terms and conditions of Java binary code license.

Licencją musisz się zacząć martwić wtedy, gdy twój program przychodzi razem z JRE/JDK od Oracle'a.

0

Czyli lepiej swoje programy dla siebie pisać w OpenJDK na Linux lub wcale. Ewentualnie wybrać Scala na licencji BSD, ale też z OpenJDK?

0

Akurat licencja Javy pozwala na dystrybuowanie jej (w wersji niezmodyfikowanej) razem z naszymi programami:
https://java.com/en/download/faq/distribution.xml
http://www.oracle.com/technetwork/java/javase/terms/license/index.html

C. LICENSE TO DISTRIBUTE SOFTWARE. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the Java SE LIUM, including, but not limited to the Java Technology Restrictions and Limitations on Redistribution of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and primary functionality to the Software, (iii) you do not distribute additional software intended to replace any component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the Software, (v) you only distribute the Software subject to a license agreement that: (a) is a complete, unmodified reproduction of this Agreement; or (b) protects Oracle's interests consistent with the terms contained in this Agreement and that includes the notice set forth in Section H, and (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. The license set forth in this Section C does not extend to the Software identified in Section G.

Natomiast jeśli nie zamierzasz dorzucać instalki Javy do swoich programów to ta licencja cię nie ogranicza.

W Javie możesz oczywiście pisać programy o zamkniętym źródle i brać za nie pieniądze. Mnóstwo firm tak robi i nie muszą mieć na to specjalnych licencji od Oracle'a.

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