フリーJava実装は、 OracleのJavaテクノロジーを実装し、フリーソフトウェアライセンスに基づいて配布されるソフトウェアプロジェクトであり、フリーソフトウェアとなっています。Sunは2007年5月にJavaソースコードの大部分をフリーソフトウェアとしてリリースしたため、今ではほぼフリーJava実装とみなすことができます。[1] Java実装には、コンパイラ、ランタイム、クラスライブラリなどが含まれます。フリーでオープンソースのソフトウェアの支持者は、フリーまたはオープンソースのJava仮想マシンソフトウェアをフリーランタイムまたはフリーJavaランタイムと呼んでいます。
この運動の支持者の中には、「Java」という用語には商標上の問題があるとして、その用語の使用を好まない人もいます。そのため、この運動は「フリー Java 運動」であるにもかかわらず、「フリー Java ランタイム」という用語の使用は避けられています。
1990年代半ばから2006年
Javaプラットフォームの機能の大部分を提供する最初の無料プロジェクトは、おそらく1995年11月より前に始まったguavacだった。[2] [3]
それ以来、フリーソフトウェア運動は他のJavaコンパイラを開発してきましたが、最も有名なのはGNU Compiler for Javaです。他にはEclipse Foundationによって保守されているEclipse Java Compiler (ECJ)や、現在は積極的に保守されていないJikesなどがあります。GNU Compiler Collectionの4.3リリース以降、GCJ (Javaコンパイラ)はJavaの解析にECJパーサーフロントエンドを使用しています。[4]
無料のランタイム環境の例としては、Kaffe、SableVM、gcj などがあります。
GNU Classpath は、 Java の主要なフリー ソフトウェアクラス ライブラリです。ほとんどのフリー ランタイムは、クラス ライブラリとして GNU Classpath を使用します。
2005 年 5 月にApache Harmonyが発表されました。しかし、このプロジェクトでは、当時既存のすべての無料 Java 実装と互換性がなかった Apache ライセンスを選択しました。
2005 年 5 月のもう 1 つの出来事は、 OpenOffice.org 2.0 が、フリー ソフトウェア実装では提供できない Java 機能に依存するという発表でした。論争の後、OpenOffice.org は、フリーの Java 実装で動作することを要求するガイドラインを採用しました。
2006 年 11 月以前にフリー ソフトウェアの Java 実装ですでに動作していた注目すべきアプリケーションには、OpenOffice.orgやVuze などがあり、どちらも GCJ でコンパイルすると動作します。
サンの2006年11月の発表
2006年11月13日、SunはコンパイラjavacをGNU General Public Licenseの下でリリースした。[5]
2007 年 9 月現在、Sun は javac だけでなく、HotSpot (仮想マシン) のコードとほぼすべてのJava クラス ライブラリをフリー ソフトウェアとしてリリースしています。
2007 年前半に、ほぼ完全にフリーでオープンソースのコードに基づいた、完全にビルド可能なJDK をリリースするという約束に従い、 [6] Sun は、フリー ソフトウェア ライセンスでコードをリリースすることを望まないサードパーティから Sun がライセンスした一部の限定された部分を除き、クラス ライブラリの完全なソースコードを2007 年 5 月 8 日に GPL でリリースしました。 [7] Sun は、プロプライエタリでクローズド ソースのままになっている部分を代替実装に置き換え、クラス ライブラリを完全にフリーでオープンソースにすることを目指していると述べています。JDK には制約のあるコード がいくつかあるため、Sun は、完全に機能するフリーでオープンソースの代替品に置き換えられるまで、そのコードを商用リリースで引き続き使用します。
2007年5月のコードリリース後
2008年5月現在、クラスライブラリの中で独自仕様のまま残っているのはSNMP実装のみです(OpenJDK 7では2007年5月時点で4%、 [8] [9] 、OpenJDK 6では2008年5月時点で1%未満[ 10] [11])。[12]
2007 年 5 月の最初のリリース以来、Sun Microsystems はコミュニティの協力を得て、ほぼすべての制約のあるコードをフリー ソフトウェアとしてリリース (またはフリー ソフトウェアの代替品に置き換え) してきました。
- ソフトウェアシンセサイザーを含むすべてのオーディオエンジンコードはオープンソースとしてリリースされています。[12] [13]クローズドソースのソフトウェアシンセサイザーは、OpenJDK専用に開発されたGervillと呼ばれる新しいシンセサイザーに置き換えられました。[14]
- クラスライブラリで使用されているすべての暗号化クラスはフリーソフトウェアとしてリリースされています。 [15]
- FreeTypeはフォントを拡大縮小してラスタライズする コードを置き換えました。[16] [17] [18]
- LittleCMSはネイティブのカラー管理システムに取って代わりました。[17] JDKにはプラグイン可能なレイヤーがあり、商用バージョンでは古いカラー管理システムを使用でき、OpenJDKではLittleCMSを使用できます。
- phoneMEプロジェクトで使用されているオープンソースのPiscesレンダラーは、アンチエイリアシンググラフィックラスタライザーコードを置き換えました。[17] [19] [20]このコードは完全に機能しますが、まだパフォーマンスの向上が必要です。[21]
- JavaScriptプラグインはオープンソース化されています(JavaScriptエンジン自体は当初からオープンソース化されていました)。[ 22]
これまではこれらのコンポーネントが制限されていたため、 OpenJDK をフリーソフトウェアコンポーネントだけで構築することは不可能でした。クラスライブラリ全体が無料になる前にこれを実現し、 Fedora Coreやその他のフリーLinuxディストリビューションに OpenJDK をバンドルできるようにするために、Red Hat はIcedTeaというプロジェクトを開始しました。これは基本的に OpenJDK/ GNU Classpath のハイブリッドであり、フリーソフトウェアのみを使用して OpenJDK をブートストラップするために使用できます。[23] [24]
2008年3月現在、Fedora 9ディストリビューションは、OpenJDK 7のIcedTea実装ではなく、OpenJDK 6でリリースされています。[11]この変更の理由として挙げられているものは次のとおりです。
- Sun は、IcedTea が代替品を提供していた負担のほとんどを置き換えました (負担のかかったコードの 1% 未満がクラスライブラリに残っており、このコードは OpenJDK を実行するために必要ではありません)。
- OpenJDK 6 は安定したブランチでしたが、OpenJDK 7 は不安定であり、2009 年まで安定したリリースが出荷される予定はありませんでした。
- Sun は、Fedora で使用するために OpenJDK 商標のライセンスを取得しました。[引用が必要]
2008年6月、 IcedTea 6( Fedora 9上のOpenJDKのパッケージ版)がテクノロジー互換性キットのテストに合格し、完全に互換性のあるJava 6実装であると主張できることが発表されました。 [25] [要出典]
2013年9月、Azul Systemsは、 Windows ServerおよびMicrosoft Azure Cloud向けのOpenJDKの無料のオープンソースビルドであるZuluをリリースしました。その後のリリースでは、 Mac OS X、Linuxの複数のバージョン、Java Platform, Standard Editionバージョン8のサポートが追加されました。Zuluは、OpenJDK Community Technology Compatibility Kit を使用して、Java SE 8、7、6に準拠していることが認定されています。[26]
Amazonは、無償でマルチプラットフォームに対応し、本番環境にも対応したOpen Java Development KitのディストリビューションであるAmazon Correttoをリリースしました。これはクラスパス例外付きのGPL v2でリリースされています。Java 8とJava 11の長期サポートバージョンが利用可能です。2019年1月31日に初めて公開されました。[27]
2017 年、Eclipse Foundation はAdoptOpenJDK (現在はAdoptiumと名付けられている) をリリースしました。その主な目標は、「Javaエコシステム全体で使用できる、無料のオープンソースの高品質ランタイムと関連テクノロジーを促進およびサポートすること」です。
参照
- Java (ソフトウェア プラットフォーム)
- ジャバック
- ホットスポット
- アパッチハーモニー
- オープンJDK
- GNU クラスパスとGCJ
- アイスティー
- ジャムVM
- 翻訳
- Java仮想マシンのリスト
- Java仮想マシンの比較
- アダプティウム
参考文献
- ^ 「OpenJDK と IcedTea プロジェクト」www.redhat.com (韓国語) 。 2019 年12 月 16 日閲覧。
- ^ 「発表: guavac 0.2.5、Java 言語用の無料コンパイラ」。1996 年 9 月 7 日。2009 年 8 月 14 日時点のオリジナルよりアーカイブ。2007年6 月 24 日閲覧。
- ^ 「guavac の変更ログ。1996 年 1 月に最初のリリースが行われたことを示しています」。2007 年 9 月 28 日のオリジナルからアーカイブ。2007年6 月 24 日取得。1995年
11 月 22 日水曜日 05:43:07 [...] CompilerMain.C、Compiler.C、Compiler.h、lexer.l、parser.y: 最初のリビジョン
- ^ 「GCC 4.3 リリース シリーズ - 変更点、新機能、および修正」 。2007年10 月 8 日閲覧。
- ^ Sun が Java コードに GPL ライセンスを選択
- ^ OpenJDK FAQ 2007年4月2日アーカイブ、Wayback Machine
- ^ 「Open JDK is here!」 Sun Microsystems 2007 年 5 月 8 日 . 2007 年5 月 9 日閲覧。
- ^ Herron, David (2007 年 10 月 4 日). 「OpenJDK の計画」。2007 年 10 月 11 日時点のオリジナルよりアーカイブ。2007 年10 月 9 日閲覧。
- ^ Fitzsimmons, Thomas (2007 年 5 月 18 日). 「OpenJDK の計画」. 2007 年5 月 22 日閲覧。
- ^ Angel, Lillian (2008 年 3 月 13 日)。「OpenJDK が Fedora 9 で IcedTea を置き換える」。2008 年 4 月 18 日時点のオリジナルよりアーカイブ。2008年4 月 5 日閲覧。
- ^ ab Wade, Karsten (2008 年 3 月 13 日). 「OpenJDK in Fedora 9!」. redhatmagazine.com. 2008 年 4 月 21 日時点のオリジナルよりアーカイブ。2008年4 月 5 日閲覧。Thomas
Fitzsimmons は、Fedora 9 リリース ノートのソース ページを更新し、Fedora 9 が OpenJDK 7 の IcedTea 実装ではなく OpenJDK 6 を搭載して出荷されることを反映させました。Fedora 9 (Sulphur) は 2008 年 5 月にリリースされる予定です。
- ^ ab 「OpenJDK 6 b10 ソースが掲載されました」。2008 年 5 月 30 日。2008 年6 月 1 日閲覧。
- ^ オーディオエンジン プロジェクト ページ
- ^ 「Gervill - ソフトウェアシンセサイザー」。2011年10月4日時点のオリジナルよりアーカイブ。 2008年6月1日閲覧。
- ^ 「Crypto が OpenJDK に追加されました」。2007 年 9 月 27 日。2007年10 月 7 日閲覧。
- ^ フォントスケーラープロジェクトページ
- ^ abc Java2D プロジェクトページ
- ^ 「Freetype フォント ラスタライザー」 2007 年 8 月 7 日. 2007 年11 月 24 日閲覧。
- ^ phoneme.dev.java.net/ 2007-06-10 に Wayback Machineにアーカイブ
- ^ グラフィックスラスタライザープロジェクトページ
- ^ Graham, Jim (2007 年 10 月 3 日)。「オープン ソース ラスタライザー」。Sun Microsystems。2007年5 月 9 日閲覧。
- ^ 「Javascript は制限されており、Javascript プラグインのサポートはありません」。IcedTea。2008年3 月 11 日。2008 年 9 月 27 日時点のオリジナルからアーカイブ。2008年6 月 1 日取得。変更
の概要。JavaScript は制限されなくなりましたが、liveconnect のサポートはまだ必要です。
- ^ Andrew, Haley (2007 年 6 月 7 日). 「Experimental Build Repository at icedtea.classpath.org」。2008 年 2 月 11 日時点のオリジナルよりアーカイブ。2007 年6 月 9 日閲覧。
- ^ Wielaard, Mark (2007 年 6 月 7 日). 「Experimental Build Repository at icedtea.classpath.org」。2007 年 6 月 19 日時点のオリジナルよりアーカイブ。2007 年6 月 9 日閲覧。
- ^ Sharples, Rich (2008 年 6 月 19 日). 「Java はついに無料かつオープンに」。2008 年 6 月 20 日時点のオリジナルよりアーカイブ。
- ^ 「コア」。
- ^ Arun Gupta (2019 年 1 月 31 日)。「Amazon Corretto 8 が一般提供開始」Amazon Web Services。2019年7 月 25 日閲覧。
外部リンク
- 自由だが束縛されている - Java の罠
- Java の罠から逃れる: フリーソフトウェアとオープンソースの代替手段への実用的なロードマップ
- ハイブリッドはGNU ClasspathとOpenJDKを組み合わせた
- 2007 年の Sun、GGJ、GNU Classpath 開発者によるワークショップの 1 時間のビデオ
- Java 商標問題
