Java i wolne oprogramowanie

W tym artykule przedstawiono poważne problemy ( lista ).

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.

Dyskusja na temat licencjonowania Java

Pozwolenie n O  1

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

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 .

Darmowe implementacje Java

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 Java

Darmowe narzędzia dla języka Java dzielą się zasadniczo na cztery kategorie:

narzędzia programistyczne

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/

Serwery

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/

Biblioteki i frameworki

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

Kompletne oprogramowanie

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/

Inne narzędzia

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

Uwagi i odniesienia

  1. (in) „  Javapedia  ” ( ArchiwumWikiwixArchive.isGoogle • Co robić? ) , Na wiki.java.net .

Zobacz też

Powiązane artykuły

Linki zewnętrzne