(Translated by https://www.hiragana.jp/)
Apache Harmony - Wikipedia コンテンツにスキップ

Apache Harmony

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
Apache Harmony
開発元かいはつもと Apacheソフトウェア財団ざいだん
最新さいしんばん
5.0M15
6.0M3 / 2010ねん9がつ2にち (13ねんまえ) (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の作業さぎょうコードにはIntelより寄贈きぞうされた Swing, AWT, Java 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 VM 実装じっそうをサポートしていた。

  • 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 セキュリティのクラスが実装じっそうである。

関連かんれん項目こうもく[編集へんしゅう]

参照さんしょう[編集へんしゅう]

  1. ^ Result - Move Apache Harmony to the Attic (updated) - Tim Ellison - org.apache.harmony.dev - MarkMail
  2. ^ Harmonyひっそりと終了しゅうりょう、Java開発かいはつはOpenJDKへ集中しゅうちゅう”. マイナビニュース (2011ねん11月10にち). 2014ねん2がつ25にち閲覧えつらん
  3. ^ Open Letter to Sun Microsystems
  4. ^ Leo Simons (2006ねん7がつ24にち). “"We would like all the development to happen right here"”. 2008ねん6がつ2にち閲覧えつらん
  5. ^ The Apache Way”. 2008ねん6がつ2にち閲覧えつらん
  6. ^ List of Apache Harmony Committers”. 2008ねん6がつ2にち閲覧えつらん
  7. ^ Class Library Component Status
  8. ^ Apache Harmony Library Coverage against J2SE 1.4
  9. ^ Apache Harmony Library Coverage against Java SE 5.0
  10. ^ BEA JRockit VM under a binary, evaluation-only license[1]
  11. ^ Running Geronimo on Harmony

外部がいぶリンク[編集へんしゅう]