Możesz pomóc go ulepszyć lub omówić problemy na jego stronie dyskusji .
Java jest częściowo bezpłatna i open source (od13 listopada 2006patrz dalej ), a jego licencja pozwoliła na powstanie dużej liczby bezpłatnych narzędzi w najróżniejszych dziedzinach.
Licencja Java (Licencja Sun Community Sourced - SCSL) umożliwia:
Licencja Java nie pozwala na:
Ta licencja nie pozwala na uznanie technologii Java za bezpłatną. Z drugiej strony pozwala na tworzenie narzędzi, oprogramowania i bezpłatnych bibliotek napisanych w języku Java.
Niezależny organ, JCP , pomaga w standaryzacji tych narzędzi w celu ujednolicenia wysiłków na rzecz rozwoju i pomocy w promowaniu tych narzędzi.
Od początku 2004 roku pojawiło się wiele głosów na temat wydania przez firmę Sun kodu Java. Pierwsza prośba pochodzi od IBM , a następnie przez osobistości ze świata wolnego oprogramowania, takie jak Eric Raymond .
Od marca 2005 roku firma Sun wprowadziła nowe licencje na Javę, zwiększając jej otwartość, nie stając się jednak open-source:
Ponadto firma Sun oferuje na tej stronie udział w rozwoju kolejnej wersji języka Java ( Mustang ) .
Jak wskazano poniżej, oczekuje się, że Sun wyda Javę w 2006 roku.
Polityka firmy Sun polega na utrzymaniu kontroli nad ewolucją Javy, co wyjaśnia odmowę umieszczenia maszyny JVM i kompilatora Javy w oprogramowaniu typu open source .
Firma Sun w przeszłości umieszczała technologię Jini , opartą na Javie, na licencji, którą Sun twierdził, że jest open-source . Zostało to jednak zakwestionowane, w szczególności przez Linusa Torvaldsa (por. Kiedyś Linux ).
Jednak po umieszczeniu NetBeans w open source do czerwca 2000 r. Nastąpiła ewolucja Sun, który umieścił niektóre elementy pakietów Java w open-source na konferencji JavaOne 2004 :
Ogólnie rzecz biorąc, możemy zauważyć przez pewien czas silniejsze zaangażowanie firmy Sun w tworzenie wolnego oprogramowania:
Na początku 2005 roku firma Sun ogłosiła utworzenie nowej licencji typu open source o nazwie Common Development and Distribution License (CDDL). Ta licencja zostanie wykorzystana do publikacji dużej liczby oprogramowania, w tym Solaris , w wersji OpenSolaris , a także Java Enterprise System i Java Desktop System . Jest możliwe (co oznacza, że zostało wspomniane), że cały katalog oprogramowania Sun zostanie wydany na tej licencji, która w związku z tym obejmowałaby platformę Java.
W czerwcu 2005 r. Firma Sun ogłosiła uruchomienie projektu open source, mającego na celu stworzenie kolejnej wersji Java System Application Server w wersji deweloperskiej, pod nazwą projektu GlassFish , wraz ze specyfikacją magistrali integracyjnej Java, JBI .
W 2006 roku Sun zdecydował się wypuścić wszystkie swoje narzędzia programistyczne, w tym te dla języka Java, a mianowicie Java Studio Creator i Java Studio Enterprise ( NetBeans był już darmowy).
Dodatkowo, w trakcie jego przemówienie na JavaOne konferencji na 16 maja, nowy CEO firmy Sun, Jonathan Schwartz , wskazał, że zamierza uczynić Java darmo.
Plik 13 listopada 2006Sun umieszcza rdzeń technologii Java, JDK (JRE - JVM i biblioteki - oraz narzędzia programistyczne, w tym kompilator javac) na licencji GPL w wersji 2, a także na platformę Java ME. Implementacja Java EE ( GlassFish ) firmy Sun , już na wolnej licencji CDDL , ma również dodaną licencję GPL. Dlatego ta zmiana kładzie kres prawnie zastrzeżonemu aspektowi Javy, która ostatecznie staje się wolnym oprogramowaniem .
Plik 8 maja 2007, Sun ogłasza, że Java jest teraz w pełni Open Source w projekcie OpenJDK .
Free Software Foundation była pierwsza próba stworzenia elementów wolnej implementacji Javy, za pośrednictwem dwóch odrębnych projektów:
W maju 2005 roku Apache Foundation ogłosiła uruchomienie projektu Harmony , mającego na celu stworzenie kompletnego, bezpłatnego środowiska Java, z kompilatorem, JVM i bibliotekami Core. Projekt ma na celu kompatybilność z J2SE .
Pozostałe elementy środowiska Java zostały zaimplementowane w wersji darmowej:
Darmowe narzędzia dla języka Java dzielą się zasadniczo na cztery kategorie:
Nazwisko | Aktualna wersja (data) | Opis | Licencja | Link zewnętrzny |
---|---|---|---|---|
Mrówka | 1.6.5 (2 czerwca 2005) | Narzędzie do tworzenia aplikacji | Licencja oprogramowania Apache 2.0 | http://ant.apache.org/ |
Avalon | 4.2 | Narzędzie do tworzenia komponentów według wzorców projektowych | Licencja na oprogramowanie Apache | http://avalon.apache.org/index.html |
Zaćmienie | 3.4 | Środowisko programistyczne | Licencja Common Public License 1.0 | http://www.eclipse.org/ |
Jakarta Cactus | 1.6.1 | Framework testowy dla aplikacji internetowych, oparty na JUnit | Licencja na oprogramowanie Apache | http://jakarta.apache.org/cactus/index.html |
Kompilator GNU dla Java (GCJ) | 4.1.1 (wersja GCC) | Kompilator umożliwiający natywną kompilację na różnych platformach (Linux na PC, Alpha, Itanium, PowerPC, Athlon 64, SH-3/4, Solaris na SPARC, BSD na PC, Irix, Windows, MacOS X ...), zawarty w GCC | LPG | http://gcc.gnu.org/java/ |
mówię | 4.2 | Programistyczny edytor tekstu napisany w Javie | LPG | http://www.jedit.org/index.php |
Jikes | 1.21 | Kompilator | Licencja Publiczna IBM | http://www-124.ibm.com/developerworks/oss/jikes/ |
Jakarta JMeter | 2.0.1 | Narzędzie do pomiaru wydajności | Licencja na oprogramowanie Apache | http://jakarta.apache.org/jmeter/index.html |
JSwat | 1.5.4 | Graficzny debugger | LPG | https://web.archive.org/web/20040829075817/http://www.bluemarsh.com/java/jswat/ |
JUnit | 3.8.1 | Zautomatyzowane testowanie jednostkowe ramy , Extreme Programming zorientowanych | Powszechna Licencja Publiczna | http://www.junit.org/index.htm |
Kaffe | 1.0.7 | Maszyna wirtualna | LPG | http://www.kaffe.org/ |
Maven | 1.0 (13.07.2004) | Narzędzie do integracji aplikacji i zarządzania projektami | Licencja oprogramowania Apache 2.0 | http://maven.apache.org/ |
NetBeans | 8.0 (18.03.2014) | Środowisko programistyczne | Licencja publiczna firmy Sun | http://www.netbeans.org/ |
SableCC | 2.18.2 | Zorientowany obiektowo generator kompilatorów | LGPL | http://sablecc.org/ |
SandVM | 1.1.9 | Maszyna wirtualna | LGPL | http://sablevm.org/ |
Jakarta Watchdog | 4.0 | Narzędzie do sprawdzania poprawności kodu dla serwletów i stron JSP | Licencja na oprogramowanie Apache | http://jakarta.apache.org/watchdog/index.html |
XDoclet | 1.2.2 | Narzędzie do generowania kodu | Licencja na oprogramowanie Apache | http://xdoclet.sourceforge.net/xdoclet/index.html |
Gruchot | 1.3 | Narzędzie pozwalające na układanie kodu java według predefiniowanych reguł | Licencja BSD | http://jalopy.sourceforge.net/ |
Checkstyle | 4 (2006) | Narzędzie do kontroli standardów deweloperskich | LGPL | http://checkstyle.sourceforge.net/ |
Nazwisko | Aktualna wersja (data) | Opis | Licencja | Link zewnętrzny |
---|---|---|---|---|
Szklana ryba | 2 | Pełny serwer Java EE 5 (w tym klastrowanie) | CDDL i GPL | https://glassfish.dev.java.net/ |
EasyBeans | 1.0RC1 | Lekki kontener i serwer EJB3.0 | LGPL | http://www.easybeans.org |
Tomcat Apache | 6.0 | Serwer sieciowy i kontener serwletów , kompatybilne z JSP, comet API | Licencja oprogramowania Apache 2.0 | http://tomcat.apache.org |
Molo | 5.0 | Serwer sieciowy i kontener serwletów , kompatybilne z JSP, comet API | Licencja na oprogramowanie Apache | http://www.mortbay.org/jetty/index.html |
JBoss | 4.2.3 | Kontener i serwer EJB, serwletów i JSP (przez Tomcat onboarding), w pełni kompatybilny z J2EE | LGPL | http://www.jboss.org/index.html |
JOnAS | 5.1.1 | Serwer zgodny z J2EE | LGPL | http://jonas.objectweb.org/ |
Serwer Enhydra | 5.1-15 | Kontener serwletów i serwer zorientowany na XML | LGPL | http://enhydra.objectweb.org/ |
Java Apache Mail Enterprise Server (James) | 2.2.0 | Serwer poczty i grup dyskusyjnych (protokoły SMTP, POP3 i NNTP) | Licencja na oprogramowanie Apache | http://james.apache.org/ |
JServ | 1.1.2 | Kompatybilny z JSP kontener serwletów i serwer . JServ to uśpiony projekt, już nie ewoluuje | Licencja na oprogramowanie Apache | http://archive.apache.org/dist/java/ |
Geronimo | 1,0-M2 | Serwer łączący wiele projektów Apache Java w celu stworzenia kompletnego i innowacyjnego serwera J2EE opartego na JMX | Licencja na oprogramowanie Apache | http://geronimo.apache.org/ |
OpenEJB | 0.9.2 | Kontener i serwer EJB | Konkretne: http://www.exolab.org/license.html | http://openejb.exolab.org/ |
Nazwisko | Aktualna wersja (data) | Opis | Licencja | Link zewnętrzny |
---|---|---|---|---|
kokon | 2.1 (03.09.2004) | Framework do tworzenia stron internetowych oparty na XML | Licencja oprogramowania Apache 2.0 | http://cocoon.apache.org/ |
SWT | 3.2 | Biblioteka graficzna | Licencja publiczna Eclipse | http://www.eclipse.org/swt/ |
JDOM | 1.0 RC1 | Biblioteka analizująca XML | specyficzne, zbliżone do licencji na oprogramowanie Apache | http://www.jdom.org/ |
Xalan | Silnik transformacji XSL | |||
Xerces | Silnik analizowania XML | |||
Jakarta Struts | 1.2.2 | Struktura publikowania w sieci | Licencja na oprogramowanie Apache | http://struts.apache.org/ |
JAC | Biblioteka do programowania aspektowego | |||
Źrebię | Biblioteka do obliczeń naukowych | http://acs.lbl.gov/software/colt/ | ||
dom4j | Biblioteka analizująca XML | http://www.dom4j.org/ | ||
Jeks | 1.0.2 | Arkusz kalkulacyjny i biblioteka do dodawania funkcji arkuszy kalkulacyjnych do oprogramowania | LPG | http://www.eteks.com/jeks/ |
Bóbr | 0.9.5.3 | Biblioteka mapowania XML do odwzorowania relacyjnego / zgodnego z trwałością obiektu JDO | specyficzne, zbliżone do licencji BSD: http://castor.exolab.org/license.html | http://castor.exolab.org/ |
OpenJMS | 0.7.6.1 | Biblioteka JMS | ||
Tyrex | 1.0.1 | Biblioteka zarządzania transakcjami JTA, kompatybilna z JDBC i JNDI | specyficzne, zbliżone do licencji BSD: http://tyrex.sourceforge.net/license.html | http://tyrex.sourceforge.net/ |
Ścieżka klasy GNU | 0.91 | Implementacja standardowej biblioteki Java | LPG | http://www.gnu.org/software/classpath/ |
iText | 5.0.6 | Biblioteka do generowania i modyfikowania plików PDF | AGPL | http://www.itextpdf.com/ |
Kostki cukru | 4.0.0a5 | Biblioteka do przetwarzania wielowątkowego, wydajniejsza niż standardowe wątki Java | http://homepage.mac.com/jeanferdinandsusini/SugarCubes.html | |
JADEIT | 7.0 | Biblioteka narzędzi oferująca usługi tak zróżnicowane, jak funkcje czasu rzeczywistego, obliczenia naukowe z uwzględnieniem jednostek miary i walut, zaawansowane przetwarzanie ciągów znaków ... | LGPL | http://jade.dautelle.com/ |
JContractor | 0.0.2 | Biblioteka umożliwiająca programowanie na podstawie umowy | Licencja na oprogramowanie Apache | http://jcontractor.sourceforge.net/ |
JFinance | 0.3.0 | Biblioteka do zastosowań finansowych | LPG | http://www.object-refinery.com/jfinance/ |
JWorkbook | 0.2.0 | Biblioteka do odczytu i zapisu plików w formacie arkusza kalkulacyjnego Gnumeric | LPG | http://www.object-refinery.com/jworkbook/ |
JCommon | 1.0.16 | Biblioteka używana przez JFreeChart i JFreeReport. Zawiera funkcje do przetwarzania ciągów znaków, GUI, przetwarzania dat, serializacji i przetwarzania XML | LGPL | http://www.jfree.org/jcommon/ |
JFreeChart | 1.0.13 | Biblioteka do tworzenia histogramów, krzywych, diagramów | LGPL | http://www.jfree.org/jfreechart/ |
JFreeReport | 0.8.4.10 | Biblioteka do generowania raportów w formatach PDF, HTML, CSV, Excel lub tekstowych | LGPL | http://www.jfree.org/jfreereport/ |
JGraph | 5.0 | Biblioteka do generowania schematów blokowych i diagramów | LGPL | http://www.jgraph.com/ |
SKOK | 0.4.1 | Naukowa Biblioteka Informatyczna | BSD | http://jump-math.sourceforge.net/ |
MX4J | 2.0.1 | Biblioteka JMX | Licencja na oprogramowanie Apache | http://mx4j.sourceforge.net/ |
Jakarta Byte Code Engineering Library (BCEL) | 5.1 | Obsługa kodu bajtowego biblioteki | Licencja na oprogramowanie Apache | http://jakarta.apache.org/bcel/index.html |
Jakarta Bean Scripting Framework (BSF) | 2.3.0-rc1 | Framework umożliwiający pisanie skryptów aplikacji w różnych językach ( JavaScript , Tcl , Python , Rexx , XSLT ...) | Licencja na oprogramowanie Apache | http://jakarta.apache.org/bsf/index.html |
Jakarta Element Construction Set (ECS) | 1.4.2 | Biblioteka generująca HTML | Licencja na oprogramowanie Apache | http://jakarta.apache.org/ecs/index.html |
Jakarta HiveMind | 1.0-rc-1 | SOA Framework | Licencja na oprogramowanie Apache | http://jakarta.apache.org/hivemind/index.html |
Jakarta ORO | 2.0.8 | Biblioteka wyrażeń regularnych, zapewniająca również wyrażenia regularne zgodne z Perl 5, Awk ... | ||
Apache POI | 2.5.1 | Biblioteka umożliwiająca odczyt i zapis plików w różnych formatach stworzonych przez Microsoft ( Word , Excel , OLE2 ...) | Licencja na oprogramowanie Apache | http://poi.apache.org |
Jakarta Regexp | 1.3 | Biblioteka wyrażeń regularnych | Licencja na oprogramowanie Apache | http://jakarta.apache.org/regexp/index.html |
Jakarta Tapestry | 3.0 | Framework sieciowy stanowiący alternatywę dla stron JSP | Licencja na oprogramowanie Apache | http://jakarta.apache.org/tapestry/index.html |
Jakarta Turbine | 2.3 | Framework sieciowy | Licencja na oprogramowanie Apache | http://jakarta.apache.org/turbine/index.html |
Jakarta Velocity | 1.4 | Silnik zastępujący oparty na własnym języku, Velocity Template Language (VTL) | Licencja na oprogramowanie Apache | http://jakarta.apache.org/velocity/index.html |
Log4J | 1.2.13 | Biblioteka rejestrowania wykonywania aplikacji. Zauważ, że podobne projekty istnieją dla C ++, .net, Perl, PHP i PL / SQL | Licencja na oprogramowanie Apache | http://logging.apache.org/log4j/docs/index.html |
Oś] | 1.1 | Biblioteka SOAP . Istnieje również dla C ++ | Licencja na oprogramowanie Apache | http://ws.apache.org/axis/ |
j Native | 1.3 | Wywołania do bibliotek C / C ++ bez ręcznego używania JNI | LGPL | http://jnative.sf.net |
Jasperreports | 1.2.6 | Biblioteka do generowania raportów w formatach PDF, HTML, CSV, XML, Excel lub tekstowych w oparciu o Itext | LGPL | http://jasperforge.org/sf/projects/jasperreports |
Nazwisko | Aktualna wersja (data) | Opis | Licencja | Link zewnętrzny |
---|---|---|---|---|
XWiki | 0.9.840 | Oprogramowanie do zarządzania Wiki | LPG | http://www.xwiki.org/ |
Azureus | 2.5.0.0 | Klient BitTorrent | LPG | http://azureus.sourceforge.net/ |
zirytowany | 0.3 | Radio | LPG | http://irate.sourceforge.net/ |
GeoGebra | 2.7 | Matematyka (geometria i algebra) | LPG | http://www.geogebra.at/ |
GEONExT | 1.51 | Matematyka (geometria dynamiczna) | LPG | http://www.geonext.de/ |
Nazwisko | Aktualna wersja (data) | Opis | Licencja | Link zewnętrzny |
---|---|---|---|---|
Lenya | 1.2 | System zarządzania treścią oparty na Apache Cocoon | Licencja oprogramowania Apache 2.0 | https://web.archive.org/web/20040826021924/http://cocoon.apache.org/lenya/ |
Jython | 2.1 | Interpreter Pythona napisany w Javie | specyficzne: http://www.jython.org/license.html | http://www.jython.org/ |
BeanShell | http://www.beanshell.org/ | |||
Wygląd J. | 1.2 | Rozszerzenie do programowania aspektowego | Licencja Common Public License 1.0 | http://eclipse.org/aspectj/ |
Jakarta Lucene | 1.4 | Wyszukiwarka | Licencja na oprogramowanie Apache | http://jakarta.apache.org/lucene/docs/index.html |
Jakarta Slide | 2.0 | Repozytorium dla serwera WWW, kompatybilne z WebDAV | Licencja na oprogramowanie Apache | http://jakarta.apache.org/slide/index.html |