EclipseCon 2013は北アメリカで開催された10回目のEclipseのカンファレンスであり、今年はボストンで開催された。過去数年と同様に今年もOSGi DevConとALM Connectが同時に開催された。OSGiがEclipseの基盤技術であることはよく知られているが、アプリケーションライフサイクルマネジメントのカンファレンスは2012年に始まった。ソフトウエア開発の実践とそれを支えるツールについてより広い視点から眺められる催しとなった。
開催基調講演はRedMonkのStephen O'Grady氏が開発者が新たなるキングメーカーであることについて語り、第二基調講演ではJeffrey Hammond氏がALM 3.0への移行について語った。従来の技術的選択肢はソフトウエアを購入する顧客が決定していたが、今やどのソフトウエアスタックを利用するかは暗黙に(そして積極的に)開発者自身が決定している、というのがStephen O'Grady氏の基調講演の前提だった。オープンな標準がプロプライエタリに勝りつつあり、その証拠に、この困難な時代にRedHatのような企業がオープンソースのサポートで収益を上げ、成長を続けている。それだけでなく、指先でスイッチをオン/オフするだけで巨大なコンピュータスケジューリングシステムが利用できるようになったことは資金のないスタートアップ企業に大きな力を与えた。今や時間当たり10ドルで、10台のマシンと50ギガバイトの共有ストレージを持つクラウドネットワークを作ることができる。
火曜日の基調講演ではZach Holman氏がGitHubの運営について語ったが、オープンソースに貢献することについてや好きなことをすることについてなど話題は広がった(氏は以前InfoQにGitHubの運営についてのプレゼンを提供している)。水曜はNashorn(JVM向けJavaScript)についてOracleのJim Laskey氏が語った。本来はTim Fox氏がVert.Xについて語る予定だったが実現できなかった。しかし、Jim Laskey氏はOracleがNashornを使って"node.jar"と呼ばれるものを開発していることを明らかにした。
EclipseConでのそのほかの特筆すべき出来事は、
Xtend 今年のEclipseConでXtendのバージョン2.4のリリースが発表された(以前InfoQで取り上げている)。今年はこの言語のテキストベースモデリングとフレームワークについてのセッションやチュートリアルがあった。Xtendの構文はScalaと同程度にコンパクトでありながら、Javaの型システムが使えるので、必要以上に複雑にならない。さらに、静的型推論や関数型プログラミングが利用できるので、普通のJavaよりも魅力的だ。また、既存のJavaコンパイラでコンパイルされたJavaコードを翻訳することもできる。後方互換性があり、リリース間の互換性の問題も最小限に抑えられている。
M2M M2Mという頭字語はMachine to Machineという意味だ。最近Eclipse財団はM2Mワーキンググループを立ち上げ、モノのインターネットの相互運用性を実現するための独立したエコシステムの構築に興味がある関係者が参加している。手始めに、EclipseはArduinoとRasberry Piデバイスの開発のチュートリアルを提供している。これには組み込みLuaランタイム(Mihini)とLuaの開発環境(Koneki)のセットアップ方法も含まれている。これらのデバイスはMQTT(Message Queue Telemetry Transport)という低いレベルのマシン間コミュニケーションレイヤで通信を行う。MQTTはOASIS標準として提案されている。Java、C、Lua向けのライブラリはPahoプロジェクトで提供されている。一部はJustin Ribeiro氏のリモートの3Dプリンタを監視する試みで利用されている。この試みではWebSocketsとArduino/Rasberry Piインターフェイスが利用されている。
CloudとOSGi 近年、クラウドと分散配置モデルとして利用することに対する興味が高まっている。OSGiのEnterprise Expert Groupはこの分野に注力している。いくつかのセッションがOSGiに加えられるServiceScopes、CDI、RestInterfaceのような新しい仕様(OSGi Early Access Draftにみられる)を取り上げていた。また、BlueprintやHttpServiceのような新しい仕様やOSGiのサブシステムを実現するフックの改善もある。
宇宙のEclipse もっとも申し込みが多かったのはTamar Cohen氏によるNASAでのEclipse RCPの利用についてのセッションだ。国際宇宙ステーションにはSPHERES (Synchronized Position Hold, Engage, Reorient, Experimental Satellites)という知能ロボットが乗船している。このロボットはNASAの動画で見れる。Eclipse RCPアプリケーションは計画とエンジンのリモート監視に利用されている。氏の説明によれば、このような厳密にスタイルが決まっているUIのアプリケーションが必要なのは、'無重力状態ではドラッグアンドドロップがうまく動作しないから'であり、アプリケーション間の一貫性を保持するためだ。 as well as consistency between applications. 現時点ではEclipseのワークベンチは地上で動いているが、国際宇宙ステーションのWindows XPマシンへのアップロードは今年の後半に行われる予定だ。SPHERE自体は10年前に作れらており(Eclipse財団とほぼ同い年)国際宇宙ステーションに搭載されたのは2006年だ。近頃行われた作業では、ジャイロスコープとカメラセンサーを搭載した強力でポータブルなコンピュータとしてNexus S Android携帯が取り付けられ(2011年、NASAによればこの携帯は"宇宙での利用が保証された唯一の携帯"だそうだ)た。リチウムイオンのバッテリが国際宇宙ステーションで火事を起こしてしまうリスクがあるので、AAバッテリと交換されている。壁に取り付けられていないものはすべてAAバッテリで動作している。その結果、地球からの積荷には多くのAAバッテリがついている。
最後にEclipse Community Awardsが発表された。このアワードは年次で発表されており、今年は、
- トップコミッタ: Markus Knauer氏 (Ed D. Wilink氏とJohn Arthorne氏がファイナリスト)
- トップニューカマーエバンジェリスト: Jonas Helming氏(Benjamin Cabé氏とRussell Bateman氏がファイナリスト)
- 最優秀オーププロジェクト: EGit (CDTとOrionがファイナリスト)
- 最優秀イノべーティブ新機能/Eclipseプロジェクト: EMF Diff/Merge (Paho、Mylyn Intent、VJetがファイナリスト)
- 最優秀開発者ツール: Wireframe Sketcher (Klockwork Insight、Sonarがファイナリスト)
- 最優秀開発者プラグイン: FindBugs (e(fx)clipse、JUnitLoopがファイナリスト)
- 最優秀モデリング製品: Obeo Designer (UMLetがファイナリスト)
- 最優秀アプリケーション: Chronon 4 ‘Ops’ (Bonita Open SolutionsとTalend Open Studioがファイナリスト)
上述のアワードに加え、Eclipse財団は、コミュニティのメンバによる投票でLifetime Contribution AwardをChris Aniszczyk氏に授与した。氏は長年、Eclipseのエコシステムに貢献しており、初期段階のプロジェクトにはメンターとして参加し、多くのプロジェクトにコミットし貢献している。Eclipse財団のJGitへの移行と、プロジェクトのバージョン管理システムのGitヘの移行を推進したのも氏だ(現時点では財団の80%以上がGitであり、500のgitリポジトリがhttps://eclipse.googlesource.comにミラーされている)。
6月には、EclipseConは初めてフランスで開催される予定。場所はトゥールーズ。さらに10月にはルートヴィヒスブルクでEclipseCon Europe 2013が開催される予定だ。