Apache Harmonyとは? わかりやすく解説

Apache Harmony

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/12/03 16:20 UTC 版)

Apache Harmony
開発元 Apacheソフトウェア財団
最新版
5.0M15
6.0M3 / 2010年9月2日 (15年前) (2010-09-02)
リポジトリ
プラットフォーム クロスプラットフォーム
サポート状況 開発終了
種別 Java SE
ライセンス Apache License
公式サイト harmony.apache.org
テンプレートを表示

Apache Harmony(アパッチ・ハーモニー)は、オープンソースかつフリーJava実装である。Java SE 5, 6を元にしており、Apache License Version 2 にて提供されていた。開発は2005年5月に開始され、2006年10月にはApache財団のトップレベルプロジェクトとなった。しかし別のオープンソース実装であるOpenJDKに集約される形となり、2011年11月3日に開発終了した[1][2]

SDKやJREも配布されており、仮想マシンにはDRLVMを、コンパイラにはEclipse Java Compilerを使用していた。

歴史

立ち上げ

HarmonyプロジェクトはフリーなJava実装の開発者たちを統括する動きと捉えられていた。多くの開発者はこの動きがApache, GNU等のプロジェクトとして纏まると期待していた。まずGNU開発者がプロジェクトの立ち上げ準備に関わったが、後にHarmonyではGNU Classpathのコードは利用しないと決定した。ライセンス互換上の問題で、Harmonyと他プロジェクト間でのコードの共有が難しくなるという問題があったためである。Apache開発者たちは必要なクラスをスクラッチから書き始め、またソフトウエア会社からコードの寄贈を募集した。

スクラッチから書き直す意味

GNU ClasspathとApacheプロジェクトが袂を分かったのは、GPLApacheライセンスの違いにある。多くの組織や個人がこの相違点を取り上げ、派生物には公開義務が無いApacheライセンスの適用を望むとの意見が寄せられた。GNU Classpathは独占的ソフトウエアとのリンクは可能だが、GNU Classpath自身の非公開派生物を作成するのは法的に困難なためである。

しかし、いくらかのフリーソフトウエア開発者は、これらのライセンスやコミュニティ哲学の違いは別個に実装を行うまでは違わず、妥協点を探せなくはないと頻繁に否定的な意見を述べている。だが、時折現れるこういったプロジェクトへの反対的な提案は幅広い支持を得ていない。フリーソフトウエア支持者は以下の単純な言葉でこれを切って捨てている。"more free software is not a problem(フリーソフトウエアが多いことは問題ではない)".

サンのTCKライセンスを巡る問題

2007年4月10日、Apache財団 (ASF) はサン・マイクロシステムズ(サン)のCEO、ジョナサン・シュワルツ宛にJava SE 5 テクノロジ互換キット (TCK) についての公開書簡を送った[3]。TCKのライセンスはHarmonyユーザに利用範囲の制限を課すものでJCPのルールに反しているから、ASFにとって承諾しがたいものであると主張している。

  • テクノロジ互換キット (Technology Compatibility Kit) は、Java SE5仕様に実装が準拠しているかを確認するためのテストキットで、SunがJavaの仕様ライセンス内で規定している。

サンは企業のブログ上で回答し、TCKを含めJavaのオープンソース実装プラットフォームをGPLで提供したいが、まずはGNU/Linuxコミュニティに対してJavaプラットフォームのGPL提供を優先するとした。 このやりとりは一部からオープンなやり方ではないとサンやASFは批評を受けたが、結果的にはクラスライブラリ開示のスケジュールを考えると、より多くの提供をサンから受けることを目的にASFは強気に振舞ったのだと考える人もいた。

開発チーム

立ち上がるとすぐに、プロジェクトは既に開発に着手していたいくつかの会社から大きなコード寄贈を受けて動き出した。しかしながらメーリングリスト上での全般的な議論は常に開かれていた。

その後、プロジェクトにはASF管理者により[4]アパッチ流の開発方式[5]を取り入れたことにより、大きく成功したといえるだろう。2006年11月時点で、プロジェクトチームのコミッターは16人の開発者及び、IBMインテルに属する16の開発チームで構成されていた[6]

開発終了前の状況

2006年10月、Apache HarmonyプロジェクトはApache財団の公式プロジェクト (Top level Projects) に昇格された。

ライブラリ実装

当初期待したソフトウエア会社からのコード寄贈は現実のものとなっていた。Apache Harmonyの作業コードにはインテルより寄贈された SwingAWTJava 2Dのコードが加えられた。

クラスの実装については、2010年9月20日時点で (5.0M15, 6.0M3)、Java SE 5の99.00%、Java SE 6の97.54%が実装(クラス・メソッド・フィールドとして存在)されていた[7]

また、HarmonyのテストスィートはGNU Classpathと比べてより厳密なものとなっていた(2006年10月の時点で、GNU Classpathは20000 tests [2]、Harmonyは 50000 [3] である)。

Harmonyプロジェクトの進捗はJ2SE 1.4[8]とJava SE 5.0[9]を追っている状態であり、Harmony v6.0はJava SE 6.0[4]の別ブランチと見なす事ができるほどであった。

文書化

文書化については、Harmonyは他のフリーのJava実装より整備が進んでいない状態にあった。 たとえば、GNU Classpathでは中心的なCORBAのクラス (ORB) の各メソッドに関して、 抽象APIクラス[5]と実装クラス[6]について説明のコメントが付いている。Harmonyで使用されている[7]Yokoプロジェクトでは、大半のメソッドについて 標準の宣言[8]および実装クラス[9]のドキュメント化がされていなかった(2006年10月時点)。また、GNU Classpathは、(Sunの実装同様)CORBAの機能について古いものと現在のものの両方をサポートしている。Harmonyでは、古い規格に基づく代表的なメソッド (ORB.connect(Object)) が全く実装されていないままであった。

ツール

Javaプラットフォームの完全な実装には、たとえばJavaソースコードをバイトコードに変換するコンパイラJarファイルを管理するプログラム、デバッガアプレットビューアー、ウェブブラウザプラグインなどが必要である。Harmony ではコンパイラのみが実現されていた[10]

仮想マシンのサポート

Harmonyは、いずれも外部からの寄付による4種類のJava仮想マシン実装をサポートしていた。

  • JC Harmony Edition VM, "JCHEVM," JCVM'sインタプリタに基づいており、Archie Cobbsによって寄贈された。
  • BootJVM, シンプルなブートストラップ可能な仮想マシンで、Daniel Lydickによって寄贈された。
  • SableVMは先進的でポータブルなインタプリタで、Sable Research GroupおよびDynamic Runtime Layer Virtual Machineの作者達によって寄贈された。
  • BEAはApache Harmonyクラスライブラリが動作する JRockit VM の評価版が利用できることを発表していた[10]

2006年11月の時点でこれらの仮想マシンによる言語のサポートは完全ではなかったため、クラスライブラリのテスト[11]を実行するためのビルドの手順として IBMプロプライエタリなVMであるJ9を使うよう推奨されていたが、2007年7月時点ではJ9は不要となっていた。

DRLVM仮想マシンの開発が積極的に進んでおり(2006年7月時点)、進展が期待できる状態にあった。

実行可能なアプリケーションの状況

構想の時点から、Harmonyは重要なJavaアプリケーション(リンク参照)を実行する能力を着実に向上させてきた。2007年7月の時でたとえば下記のアプリケーションがサポートされていた。

しかし、Harmonyのライブラリ実装が不完全であるため、実行できないアプリケーションもあった。

  • ArgoUML: Harmonyでは利用できない Javaアプレットの実装を必要とする。
  • Apache Geronimoは、若干の修正により(問題もあるが)Apache Harmony上で動作する[11]
  • Azureusセキュリティのクラスが未実装である。

関連項目

参照

外部リンク





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Apache Harmony」の関連用語

Apache Harmonyのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Apache Harmonyのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのApache Harmony (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2026 GRAS Group, Inc.RSS