Java とフリー ソフトウェア – 定義

Javaは公式には無料ではありませんが (2006 年 11 月 13 日に偽になりました(以下を参照))、そのライセンスは十分にオープンであるため、最も多様な分野で多数の無料ツールの出現を許可しています。

Java ライセンスのディスカッション

ライセンスナンバー1!

Java ライセンス (Sun Community Sourced License – SCSL) では、次のことが許可されます。

  • JRE (基本ライブラリを伴う仮想マシン) のSunサイトからの無償入手
  • したがって、デスクトップ コンピュータまたは汎用サーバー、単一用途特化したマシン (電話、ゲーム コンソールなど) 向けの Java で書かれたアプリケーションを伴う場合、JRE の無料再配布はロイヤルティの対象となります。 …) 私たちが「組み込みソフトウェア」と呼ぶもの。

Java ライセンスでは次のことは許可されていません。

  • Java プラットフォームの逆コンパイルと変更

このライセンスでは、Javaテクノロジを無料と見なすことはできません。その一方で、Java で書かれた無料のツール、ソフトウェア、ライブラリを作成することができます。

独立した組織である JCP は、開発作業を統合し、これらのツールの推進を支援するために、これらのツールの標準化を可能にします。

2004 年の初めから、Sun が Java コードをリリースするよう求める多くの声が上がってきました。最初の要求はIBMからであり、その後、エリック・レイモンドなどのフリーソフトウェアの著名人からの要求が続きました。

2005 年 3 月以来、Sun は Java の新しいライセンスを導入し、オープンソースになることなくオープン性を高めました。

  • Java Internal User License (JIUL)、内部導入向け
  • Java 配布ライセンス (JDL)。Java を完全に配布できます。
  • Java Research License (JRL)、評価および非営利使用向け。このライセンスでは、Javaソース コードを表示することもできます。

さらに、Sun はこのページで Java ( Mustang ) の次期バージョンの開発に貢献することを申し出ています。

以下に示すように、Sun は2006 年中に Java をリリースする予定です。

太陽の政治

Sun のポリシーは、Java の進化に対する制御を維持することを目的としており、これが JVM と Javaコンパイラをオープンソースとして位置付けることを拒否していることを説明しています。

Sun は以前、 Java ベースの Jini テクノロジーを、オープンソースであると主張するライセンスの下に置いています。しかし、これには、特にLinus Torvaldsによって疑問が投げかけられました ( 「Once Upon a Linux 」を参照)。

しかし、2000 年 6 月にNetBeans をオープンソースとして発表した後、JavaOne 2004 カンファレンス中に Java パッケージの要素をオープンソースとして発表した Sun による進化を私たちは目の当たりにしています。

  • Java3D
  • XMLファイル(XUI)、JDNC (Java デスクトップ ネットワーク コンポーネント)、および JDIC (デスクトップ統合コンポーネント) で完全なグラフィカルインターフェイスを定義できる JFC の拡張機能
  • Linux Looking Glass の 3D GUI

一般的に言えば、しばらくの間、Sun はフリー ソフトウェアに対してより強力な取り組みを行っていることがわかります。

2005 年初め、Sun はCommon Development and Distribution License (CDDL) と呼ばれる新しい無償ライセンスの創設を発表しました。このライセンスは、Solaris のOpenSolarisバージョンのほか、Java Enterprise System や Java Desktop System など、多数のソフトウェアの公開に使用されます。 Sun のソフトウェア カタログ全体がこのライセンスに基づいてリリースされる可能性があります (つまり、議論されています)。したがって、これには Java プラットフォームが含まれることになります。

2005 年 6 月、Sun は、GlassFish プロジェクトという名前で、Java System Application Server の次期バージョンの開発者バージョンを作成するオープンソースプロジェクトと、その統合バス仕様 Java、JBI の立ち上げを発表しました。

2006 年、Sun は、Java 用のツール、つまり Java Studio Creatorと Java Studio Enterprise を含むすべての開発ツールをリリースすることを決定しました (NetBeans はすでに無料でした)。

さらに、5月16日のJavaOneカンファレンスの基調講演で、Sunの新CEO、ジョナサン・シュワルツ氏はJavaを無料にする意向を示した。

2006 年 11 月 13 日、Sun は Java テクノロジの中核である JDK (JRE – JVM およびライブラリ – および javac コンパイラを含む開発ツール) と Java MEフレームワークを GPL バージョン 2 に基づいてライセンス供与しました。 Java EEの Sun実装(GlassFish) は、すでに無料の CDDL ライセンスの下にありますが、GPL ライセンスも追加されました。したがって、この変更は Java の独自の側面に終止符を打ち、最終的にはフリー ソフトウェアになります。

2007 年 5 月 8 日、Sun は Java がOpenJDKプロジェクトで完全にオープンソースになったと発表しました。

Java の無料実装

Free Software Foundation は、次の 2 つの別々のプロジェクトを通じて、Java の無料実装の要素を作成しようとした最初の企業です。

  • GNUクラスパス、Java のコア ライブラリの無料実装
  • GCJ、Java コードをコンパイルするための GCC コンパイラーの拡張機能

2005 年5 月、Apache Foundation は、コンパイラ、JVM、およびコア ライブラリを備えた完全な無料の Java環境を作成することを目的とした Harmony プロジェクトの立ち上げを発表しました。このプロジェクトは J2SE との互換性を目指しています。

Java 環境のその他の要素は、無料バージョンに実装されています。

  • Kaffe、仮想マシン
  • ブラックダウン、仮想マシン
  • Jikes、コンパイラ
  • Jikes RVM、仮想マシン
  • SableVM、仮想マシン

無料のJavaツール

Java 用の無料ツールは基本的に 4 つのカテゴリに分類されます。

  • 開発ツール
  • サーバー
  • 図書館
  • 完全なソフトウェア

開発ツール

名前現在のバージョン (日付)説明ライセンス外部リンク
アリ1.6.5 (2005/02/06)アプリケーションビルダーツールApache ソフトウェア ライセンス 2.0 http://ant.apache.org/
アヴァロン4.2デザインパターンを利用したコンポーネント開発ツールApache ソフトウェア ライセンスhttp://avalon.apache.org/index.html
日食3.3 開発環境共通公衆利用許諾契約書 1.0 http://www.eclipse.org/
ジャカルタサボテン1.6.1 JUnit に基づく Web アプリケーション用のテストフレームワークApache ソフトウェア ライセンスhttp://jakarta.apache.org/cactus/index.html
Java 用 GNU コンパイラ (GCJ) 4.1.1 (GCC バージョン)さまざまなプラットフォーム (PC 上の Linux、Alpha、 ItaniumPowerPCAthlon 64 、SH-3/4、 SPARC上の Solaris 、PC 上の BSD、 IrixWindows 、MacOS X…) でのネイティブ コンパイルを可能にするコンパイラー。GCC に含まれています。 LPG http://gcc.gnu.org/java/
j編集4.2 Java で書かれたプログラミング指向のテキスト エディターLPG http://www.jedit.org/index.php
ジークス1.21コンパイラIBMパブリックライセンスhttp://www-124.ibm.com/developerworks/oss/jikes/
ジャカルタ JMeter 2.0.1パフォーマンス測定ツールApache ソフトウェア ライセンスhttp://jakarta.apache.org/jmeter/index.html
JSwat 1.5.4グラフィカルデバッガLPG http://www.bluemarsh.com/java/jswat/
JUnit 3.8.1自動化された単体テストフレームワークエクストリーム プログラミング指向共通公衆ライセンスhttp://www.junit.org/index.htm
コーヒー1.0.7仮想マシンLPG http://www.kaffe.org/
メイビン1.0 (2004/07/13)アプリケーション統合およびプロジェクト管理ツールApache ソフトウェア ライセンス 2.0 http://maven.apache.org/
NetBeans 3.6 (2004/03/09)開発環境サンパブリックライセンスhttp://www.netbeans.org/
SandCC 2.18.2オブジェクト指向コンパイラ ジェネレータLGPL http://sablecc.org/
SandVM 1.1.9仮想マシンLGPL http://sablevm.org/
ジャカルタの番犬4.0サーブレットおよびJSP用のコード検証ツールApache ソフトウェア ライセンスhttp://jakarta.apache.org/watchdog/index.html
Xドックレット1.2.2コード生成ツールApache ソフトウェア ライセンスhttp://xdoclet.sourceforge.net/xdoclet/index.html
ジャロピー1.3事前定義されたルールに従って Java コードをレイアウトできるツールBSDライセンスhttp://jalopy.sourceforge.net/
チェックスタイル4 (2006)開発標準監視ツールLGPL http://checkstyle.sourceforge.net/

サーバー

名前現在のバージョン (日付)説明ライセンス外部リンク
グラスフィッシュ2ベータ版完全な Java EE 5 サーバー (クラスタリングを含む) CDDL と GPL http://glassfish.java.net
イージービーンズ1.0RC1軽量コンテナとEJB3.0サーバーLGPL http://www.easybeans.org
ジャカルタ トムキャット5.5 (2004/03/09) Webサーバーおよびサーブレットコンテナ、JSP互換Apache ソフトウェア ライセンス 2.0 http://jakarta.apache.org/tomcat/index.html
桟橋5.0 Webサーバーおよびサーブレットコンテナ、JSP互換Apache ソフトウェア ライセンスhttp://www.mortbay.org/jetty/index.html
ジェイボス4.0 EJB、サーブレット、JSP コンテナおよびサーバー (Tomcat 埋め込み経由)、完全な J2EE 互換性LGPL http://www.jboss.org/index.html
ジョナス4.8.6 J2EE互換サーバLGPL http://jonas.objectweb.org/
エンヒドラサーバー5.1-15 XML指向のコンテナとサーブレットサーバーLGPL http://enhydra.objectweb.org/
Java Apache Mail Enterprise Server (James) 2.2.0電子メールおよびニュースサーバー (SMTP、POP3、および NNTP プロトコル) Apache ソフトウェア ライセンスhttp://james.apache.org/
JServ 1.1.2コンテナおよびJSP互換のサーブレットサーバー。 JServ は休止中のプロジェクトであり、もはや進化していませんApache ソフトウェア ライセンスhttp://archive.apache.org/dist/java/
ジェロニモ1.0-M2 JMXを中心とした完全で革新的な J2EE サーバーを作成することを目的として、多くの Apache Java プロジェクトをまとめたサーバーApache ソフトウェア ライセンスhttp://geronimo.apache.org/
OpenEJB 0.9.2 EJBコンテナとサーバー詳細: http://www.exolab.org/license.html http://openejb.exolab.org/

ライブラリとフレームワーク

名前現在のバージョン (日付)説明ライセンス外部リンク
2.1 (2004/03/09) XMLベースのWeb開発フレームワークApache ソフトウェア ライセンス 2.0 http://cocoon.apache.org/
SWT 3.2グラフィックライブラリEclipseパブリックライセンスhttp://www.eclipse.org/swt/
JDOM 1.0RC1 XML解析ライブラリ特定の、Apache ソフトウェア ライセンスに近いhttp://www.jdom.org/
ザランXSL変換エンジン
クセルセスXML解析エンジン
ジャカルタ・ストラッツ1.2.2 Web パブリッシングフレームワークApache ソフトウェア ライセンスhttp://struts.apache.org/
JACアスペクト指向プログラミング用のライブラリ
コルト科学技術計算用ライブラリhttp://hoschek.home.cern.ch/hoschek/colt/
dom4j XML解析ライブラリhttp://www.dom4j.org/
ジェクス1.0.2ソフトウェアにスプレッドシート機能を追加するためのスプレッドシートとライブラリLPG http://www.eteks.com/jeks/
ビーバー0.9.5.3 XMLマッピング、リレーショナル/オブジェクトマッピングおよび永続ライブラリ、JDO 互換BSD ライセンスに近い具体的なもの: http://castor.exolab.org/license.html http://castor.exolab.org/
OpenJMS 0.7.6.1 JMSライブラリ
タイレックス1.0.1 JTA トランザクション管理ライブラリ、JDBC および JNDI 互換特定の、BSD ライセンスに近い: http://tyrex.sourceforge.net/license.html http://tyrex.sourceforge.net/
GNU クラスパス0.91標準 Java ライブラリの実装LPG http://www.gnu.org/software/classpath/
iText 1.02b PDF だけでなく、XML、HTML、RTF も生成できるライブラリLGPLとMPL http://www.lowagie.com/iText/
シュガーキューブ4.0.0a5標準の Java スレッドよりも効率的なマルチスレッド処理用のライブラリhttp://homepage.mac.com/jeanferdinandsusini/SugarCubes.html
ジェイド7.0リアルタイム機能、計測単位や通貨を考慮した科学計算、文字列の高度な処理など、多彩なサービスを提供するユーティリティライブラリ。 LGPL http://jade.dautelle.com/
J請負業者0.0.2契約に応じてプログラミングできるライブラリApache ソフトウェア ライセンスhttp://jcontractor.sourceforge.net/
Jファイナンス0.3.0金融アプリケーション用のライブラリLPG http://www.object-refinery.com/jfinance/
Jワークブック0.2.0 Gnumeric スプレッドシート形式でファイルを読み書きするためのライブラリLPG http://www.object-refinery.com/jworkbook/
J共通0.9.5 JFreeChart および JFreeReport によって使用されるライブラリ。文字列処理、GUI、日付処理、シリアル化、および XML 処理関数が含まれていますLPG http://www.jfree.org/jcommon/
Jフリーチャート0.9.20ヒストグラム、曲線、図を作成できるライブラリLPG http://www.jfree.org/jfreechart/
JFreeReport 0.8.4.10 PDF、HTML、CSV、Excel、またはテキスト形式でレポートを生成するためのライブラリLGPL http://www.jfree.org/jfreereport/
ジェイグラフ5.0フローチャートと図を生成するためのライブラリLGPL http://www.jgraph.com/
ジャンプ0.4.1科学計算ライブラリBSD http://jump-math.sourceforge.net/
MX4J 2.0.1 JMXライブラリApache ソフトウェア ライセンスhttp://mx4j.sourceforge.net/
ジャカルタ バイト コード エンジニアリング ライブラリ (BCEL) 5.1バイトコード操作ライブラリApache ソフトウェア ライセンスhttp://jakarta.apache.org/bcel/index.html
Jakarta Bean スクリプト フレームワーク (BSF) 2.3.0-rc1さまざまな言語 (Javascript、Tcl、Python、Rexx、XSLT など) を使用したアプリケーションのスクリプト作成を可能にするフレームワークApache ソフトウェア ライセンスhttp://jakarta.apache.org/bsf/index.html
ジャカルタ エレメント コンストラクション セット (ECS) 1.4.2 HTML生成ライブラリApache ソフトウェア ライセンスhttp://jakarta.apache.org/ecs/index.html
ジャカルタ ハイブマインド1.0-rc-1 SOAフレームワークApache ソフトウェア ライセンスhttp://jakarta.apache.org/hivemind/index.html
ジャカルタ オロ2.0.8正規表現を処理するためのライブラリ。Perl 5、 Awkと互換性のある正規表現も提供します。
ジャカルタPOI 2.5.1 Microsoftによって作成されたさまざまな形式 (Word、Excel、OLE2 など) のファイルの読み書きを可能にするライブラリApache ソフトウェア ライセンスhttp://jakarta.apache.org/poi/index.html
ジャカルタ正規表現1.3正規表現管理ライブラリApache ソフトウェア ライセンスhttp://jakarta.apache.org/regexp/index.html
ジャカルタタペストリー3.0 JSPの代替となるWebフレームワークApache ソフトウェア ライセンスhttp://jakarta.apache.org/tapestry/index.html
ジャカルタタービン2.3ウェブフレームワークApache ソフトウェア ライセンスhttp://jakarta.apache.org/turbine/index.html
ジャカルタ ベロシティ1.4独自の言語である Velocity Template Language (VTL) に基づく置換エンジンApache ソフトウェア ライセンスhttp://jakarta.apache.org/velocity/index.html
Log4J 1.2.13アプリケーション実行ログライブラリ。 C++、.net、Perl、PHP、PL/SQL にも同様のプロジェクトが存在することに注意してください。 Apache ソフトウェア ライセンスhttp://logging.apache.org/log4j/docs/index.html
軸] 1.1 SOAPライブラリ。 C++でも利用可能Apache ソフトウェア ライセンスhttp://ws.apache.org/axis/
jネイティブ1.3 JNI を手動で使用せずに C/C++ ライブラリを呼び出すLGPL http://jnative.sf.net
ジャスパーレポート1.2.6 Itext に基づいて、PDF、HTML、CSV、XML、Excel、またはテキスト形式でレポートを生成するためのライブラリLGPL http://jasperforge.org/sf/projects/jasperreports

完全なソフトウェア

名前現在のバージョン (日付)説明ライセンス外部リンク
XWiki 0.9.840 Wiki管理ソフトウェアLPG http://www.xwiki.org/
アズレウス2.5.0.0 BitTorrentクライアントLPG http://azureus.sourceforge.net/
イライラする0.3無線LPG http://irate.sourceforge.net/
ジオジェブラ2.7数学(幾何学と代数) LPG http://www.geogebra.at/
ジオネクスト1.51数学(動的幾何学) LPG http://www.geonext.de/

その他のツール

名前現在のバージョン (日付)説明ライセンス外部リンク
レーニャ1.2 Apache Cocoonをベースとしたコンテンツ管理システムApache ソフトウェア ライセンス 2.0 http://cocoon.apache.org/lenya/
ジトン2.1 Javaで書かれたPythonインタプリタ具体的: http://www.jython.org/license.html http://www.jython.org/
ビーンシェルhttp://www.beanshell.org/
アスペクトJ 1.2アスペクト指向プログラミングの拡張機能共通公衆利用許諾契約書 1.0 http://eclipse.org/aspectj/
ジャカルタルシーン1.4検索エンジンApache ソフトウェア ライセンスhttp://jakarta.apache.org/lucene/docs/index.html
ジャカルタ スライド2.0 Webサーバー用リポジトリWebDAV互換Apache ソフトウェア ライセンスhttp://jakarta.apache.org/slide/index.html
  1. Java – afrikaans
  2. جافا (توضيح) – arabe
  3. Ява (мәғәнәләр) – bachkir
  4. জাভা (দ্ব্যর্থতা নিরসন) – bengali
  5. Java – bosniaque
  6. Java (desambiguació) – catalan

Java とフリー ソフトウェア – 定義・関連動画

サイエンス・ハブ

知識の扉を開け、世界を変える。