|
1999年の設立以来、Apache Software Foundationは多くの重要なオープンソースソフトウェアプロジェクトの本拠地となっています。これらの成功プロジェクトには、Geronimo、Tomcat、Hadoop、そしてビッグデータエコシステムの主要コンポーネントとなった分散コンピューティングシステムなどがあります。 Apacheはダウンロード数に関する包括的な統計を保持していませんが、Apache HTTP Serverは世界中で約5億のウェブサイトのエンジンとなっており、OpenOfficeはApacheプロジェクトリポジトリに最近追加されたばかりですが、既に数百万回ダウンロードされています。また、Apacheはより寛容なオープンソースライセンスを提供しています。 以下は、長年にわたる Apache の非常に重要なプロジェクト 15 件です。これらは、オープン ソース運動だけでなく、テクノロジーの世界全体にとっても重要です。 カサンドラ Cassandraのバイスプレジデントであるジョナサン・エリス氏によると、ビッグデータの世界では、Cassandraは「スケーラブルなデータストレージシステム」として知られています。Apacheは2008年にFacebookからこのオープンソースプロジェクトを引き継ぎました。しかし、後にHadoopがデータ分析の主流となったのに対し、Cassandraはアプリケーション向けのデータウェアハウスを提供し、オンラインで高いスケーラビリティを備えています。例えば、Netflixは多数のCassandraクラスターを運用しています。 Cassandraは、従来のハードウェアまたはクラウドインフラストラクチャ上でフォールトトレランスを提供し、複数のデータセンター間でデータを複製できます。今年7月までに、Cassandra 2.0では、読み取りと更新を単一の操作で組み合わせるCAS(比較と設定)機能と、異なるテーブルへの更新に応答する定義済みのアクションを可能にするトリガーサポートが追加され、リクエストのレイテンシがさらに短縮されます。 コルドバ Apacheはモバイルコンピューティング分野を席巻しているため、Cordovaはアプリケーション開発者にネイティブ機能にアクセスするためのAPIを提供しています。CordovaはjQueryやSencha TouchなどのUIフレームワークと連携でき、iOS、Android、Blackberry、Windows Phoneで動作します。 CordovaのApache担当バイスプレジデントであり、Adobe製品マネージャーでもあるブライアン・ルルー氏は、このプロジェクトはAdobeに買収されたNitobiが開発したPhoneGapから生まれたものだと述べた。ソースコードはApacheに寄贈された。 「Apache Cordovaは、HTML、CSS、JavaScriptでアプリケーションを開発するために使用しているオープンソースプロジェクトで、PhoneGapはそのディストリビューションの一つです」とルルー氏は述べた。Apacheは7月にCordova 3.0をリリースし、ソフトウェアをモジュール形式で利用できるようにする予定だ。 カウチDB このデータベースソフトウェアは、MapReduceクエリにJSONドキュメントとJavaScriptを使用し、APIはHTTPプロトコルを使用します。CouchDBのコア機能はレプリケーションメカニズムにあると、長年プロジェクトに貢献してきたJan Lehnhardt氏は述べています。 これにより、任意のCouchDBインスタンスを他のインスタンスと同期できます。各データコピーは独立して動作し、すべての変更はグループの全メンバーに同期的に反映されます。 CouchDBのレプリケーション機能は、データをグローバルに分散することも、ユーザーに地理的に最も近い場所に分散することもできます。その他の改善点としては、CouchDBのフォールトトレラントなクラスタバージョンであるBigCouchとの統合が予定されています。データベースのJavaScriptエンジンは、サーバーサイドスクリプトの柔軟性を高めるために、V8とNode.jsにアップグレードされます。 フレックス Adobeが貢献するFlexは、Adobe Flashのリッチインターネットプラグイン技術を最大限に活用したアプリケーションフレームワークです。開発者は、iOS、Android、BlackberryタブレットOS向けのアプリケーションに加え、デスクトップアプリケーションやブラウザアプリケーションも開発できます。Apache Flex担当バイスプレジデントのAlex Harui氏によると、Apacheは現在FlexをHTML5対応に拡張する計画を進めています。ただし、HTML5関連の改良に伴い、名称が変更される可能性があります。 春井氏は、ApacheによるFlexのHTML5改善について説明し、「できるだけ多くの場所で実行できるようにしたい」と述べた。しかし、次期Flex 4.10バージョンでは、大幅な改善は期待されていない。 ジェロニモ このサーバー・ランタイム環境は、Tomcat、MyFaces、OpenJPAなどのオープンソース・プロジェクトを統合し、Java/OSGiランタイム環境を構築できます。最も人気のあるディストリビューションは、Java EE 6アプリケーション・サーバー・ランタイム環境です。 「Apache Geronimoは、モジュール式でコンパイル可能なオープンソースのサーバーランタイム環境です」と、Geronimoプログラム管理委員会の議長であるケヴァン・ミラー氏は述べています。「次のメジャーアップグレードはJava EE 7になります。」このプロジェクトは2003年にApacheインキュベータで始まり、その後Apacheのトップレベルプロジェクトへと発展しました。 ハドゥープ このプロジェクトは現在最も注目を集めているプロジェクトの一つであり、ビッグデータの代名詞となっています。Hadoopは分散コンピューティング用のオペレーティングシステムを提供します。 Hadoopの主要な貢献者であるダグ・カッティング氏は、「1台ではなく数万台のコンピュータを運用したい場合、Hadoopなら容易に対応できます」と述べています。Hadoopは2006年にNutch Webソフトウェアから生まれました。ClouderaやHortonWorksといったベンダーは、Hadoopを基盤とした様々なビジネスを展開しています。今後の改良には、セキュリティとスケーラビリティの強化が含まれます。 調和 このモジュール型 Java ランタイム環境は、Apache の最も物議を醸したプロジェクトの 1 つであり、Java を引き継いだ Oracle と Apache の間で論争を巻き起こしました。 「Harmonyの主目的は、フリーでオープンソースのJavaランタイム環境を作ることでした」と、Apacheプロジェクトの貢献者であるジム・ジャギエルスキ氏は述べた。「サンが買収された後、このプロジェクトは廃止されました。そして、オラクルはHarmonyをJavaと互換性のあるものにするために必要なTCK(技術互換性キット)のApacheへのライセンス供与を拒否したのです。」 Sunは、Harmonyがモバイルプラットフォームで利用されるのを防ぐため、使用制限ドメインを設定しました。これはJava MEの販売に影響を与えるとSunは主張していました。しかし、HarmonyはOracleに、GoogleのAndroidのコアコンポーネントであるOpenJDKの採用を強いました。 HTTPサーバー このプロジェクトは「httpd」とも呼ばれています。「Apache httpdは、多くの点でApache Software Foundationの重要な礎であり続けています」と、1995年からこのプロジェクトに貢献してきたJagileski氏は述べています。「Apache httpdがWebを普及させ、便利で、どこにでも存在するものにしたと言っても過言ではありません。Webをこれほど普遍的で、どこにでも存在するものにしたのは、Apache httpdが無料でオープンソースであり、完全に標準に準拠したリファレンス実装だったからです。」 Httpdの最新バージョン2.4.4では、クラウド環境へのパフォーマンスと適合性が向上しています。これには、リバースプロキシ設定の動的なリセット、より高速でメモリ効率の高いリクエスト処理、非同期I/Oのサポート、開発中の新しいモジュールセット、動的コンテンツ処理などの機能が含まれます。 ルシーン Luceneは、Javaで書かれたテキストエンジン検索ライブラリを提供しています。「Luceneユーザーは、アプリケーションに検索機能を追加する必要があるユーザーです」と、2006年からLuceneのコアコントリビューターを務めるSimon Willnauer氏は述べています。Twitterは現在、Luceneを使用しています。 昨年10月にリリースされたLucene 4.0では、データ構造のエンコード方法を決定するユーザー定義コーデックを書き換え、サポートしました。Willnauer氏は、これによりいくつかの特定のユースケースが実現可能になったと考えています。今年1月にリリースされたLucene 4.1では、ディスク容量とパフォーマンスが向上しました。今後数ヶ月以内にリリース予定のバージョン4.2では、ドキュメント検索におけるドキュメント値機能がリファクタリングされる予定です。 メイヴン このソフトウェア管理および統合ツールは、ビルド、レポート、ドキュメントの管理に使用されます。Java開発環境に重点を置いています。 「Maven の主な利点は、プロジェクトをより速く開発できることです」と、10 年以上 Maven に携わってきた Brett Porter 氏は言います。 Javaプロジェクトの依存関係管理もMavenにとって非常に重要です。これは、様々なソフトウェアプロジェクトを連携させるために必要な機能です。Mavenは、ソフトウェアビルドシステムであるJenkinsなどのツールと統合できます。Mavenの改善計画には、プラグインの強化とログ機能の改善が含まれています。 オープンオフィス このプロジェクトは2011年にOracleからApacheに移管されました。それ以前は、OpenOfficeアプリケーションスイートはSunのプロジェクトでした。Oracleの管理下での開発は混乱を招き、OpenOffice.orgコミュニティの多くのメンバーとの衝突につながりました。 このスイートには、ワードプロセッサ、スプレッドシート、プレゼンテーション、ペイント、数式エディタ、データベースという6つの個人向け生産性向上アプリケーションが含まれています。2012年には、Apacheはベクターグラフィックス、拡張言語サポート、パフォーマンス向上、バグ修正を加えた2つのバージョンをリリースしました。Apache OpenOfficeの副社長であるAndrea Pesecetti氏は、バージョン4.0を今年4月にリリースする予定であると述べました。このバージョンでは、よりモダンなGUI、Microsoft Word文書との相互運用性の向上、個人アクセスの無効化機能の強化、その他のパフォーマンス向上が提供されます。2012年5月以降、OpenOfficeバージョン3.4は3,500万回以上ダウンロードされています。 豚 Pigは大規模データセットの分析に広く利用されており、並列処理とデータ分析アルゴリズム用の高水準言語を提供します。開発者はJavaコードを記述することなく、Hadoopを操作する際にPigを利用できます。 「PigはHadoopの上にある抽象化レイヤーと考えることができます」と、プロジェクトの提案者であるダニエル・ダイ氏は述べた。Pigという名前は、あらゆる種類のデータを処理できることから付けられた。「あらゆる種類のデータを処理できるのです。」 ユーザーは独自のカスタム処理機能を構築できます。近日リリース予定のPig 11.0では、多数のパフォーマンス強化と、多次元集計やランキング計算のための演算子キューブが搭載されます。Pigの開発者は、Pigが最終的にはHadoopへの依存から解放されることを期待していますが、現時点ではまだHadoopに依存しています。 ストラット Strutsは、Java Webアプリケーションを構築するためのフレームワークです。当初はApache Jakartaのサブプロジェクトとして登場し、2005年に独立したプロジェクトとして分離されました。 「Apache Strutsプロジェクトは、JSFやApache Wicketなどのコンポーネントベースのソリューションとは対照的に、いわゆるアクションベースのJava Webアプリケーションを構築するためのフレームワークソリューションを提供します」とApache Strutsの副社長であるRene Gielen氏は述べています。 Gielen氏は、JavaServer Facesが登場する以前は、バージョン1がJava Webアプリケーション構築の事実上の標準だったと述べています。Struts 2は「軽量で洗練されており、高度に分離されたアクションベースのWebフレームワークです。Struts 1で導入された基本原則に基づいて構築されていますが、前身のStrutsからコードを1行も継承していません。」プロジェクトの次の大規模な再設計は近日中に予定されています。 転覆 Subversion は 2000 年に CollabNet によって設立されました。このバージョン管理システムは現在、開発者の注目を集めるために Git と競争していますが、Subversion の VP である Greg Stein 氏は、この 2 つが決闘状態にあるとは考えていません。 これは戦争ではありません。バージョン管理システムは単なるツールであり、開発チームは自分たちに最適なツールを選択するでしょう。複数の選択肢を持つことは理にかなっています。 「集中化されたナレッジベース、シンプルなセットアップ、アクセス制御、膨大なナレッジベース、そして幅広いクライアント環境が、多くの企業に支持されています。Subversionは、ビジネス界で最も普及し、収益性の高いバージョン管理システムです」とスタイン氏は述べた。 次期バージョン1.8では、ファイルとディレクトリの移行に関するクライアント側の機能強化が提供されます。また、融合、継承、サーバー定義のプロパティも強化されます。 トムキャット これは、1999年に開始されたApacheの長年にわたるプロジェクトであるJava ServletおよびJavaServer Pagesテクノロジの実装です。Tomcatは高性能なJavaアプリケーションサーバーであり、MulesoftのTcat ServerやVMware vFabric tc Serverなど、いくつかの商用製品を生み出してきました。また、Apache TomEEも存在します。これは基本的にTomcatのJava EE 6 Web Profileバージョンです。Tomcat 8では、Servlet 3.1標準のサポートが予定されています。 |