最近行われた特別選挙で、JetBrainsがJCP Executive Committeeに選出された。EricssonとTOTVSの退任で生まれたふたつの空席のひとつを埋めることになる。JetBrainsの開発者のTrisha Gee氏とAnna Kozlova氏が、Executive Committeeでの同社の代表者となる。任期は2年間であり、残りは2018年の終わりまでだ。
JSR 376のオリジナルの投票には参加できなかった。同社の任期は2017年5月15日に始まったからだ。しかし、再投票に参加する資格はあった。同社は賛成票を投じている。
Gee氏はInfoQに対して、JetBrainsの最新の状況と計画、そして、JSR 376の投票と将来の開発について話をした。
InfoQ: JetBrainsにとって、なぜExecutive Committeeに参加できることが重要なのでしょうか。
Gee: Javaの将来が見られるだけでなく、影響も与えられるのは本当に素晴らしいことです。JCPは以前よりも透明でオープンなプロセスになりました。これはECが透明でオープンになるように働きかけたユーザーグループの尽力のおかげです。また、JCP ECのメンバー、特に、Oracleは、この必要性を認識し、実現に向けて尽力しました。しかし、仕様をレビューし、Expert Groupsにフィードバックすることと、仕様に対する投票を通じて開発に影響を与えることができるのは別のことです。JSR 376のプロセスを見ればわかる通り、Executive CommitteeがJSRに懸念を持ったとき、進捗させる前に対処する必要があります。JetBrainsのゴールは単に幅を聞かせることではなく、Executive Committeeの中でJavaの開発者を代表し、仕様策定時にエンドユーザーの声に耳を傾けるようにするためです。
InfoQ: どのようにしてExecutive Committeeの候補になったのですか。
Gee: Executive Committeeの席には3つのタイプがあります。批准、標準、賛同の3つです。OracleはJavaの世話役として批准タイプの席の候補者を選びます。そこでARMとJetBrainsがふたつの空席を埋めるために選ばれました。JetBrainsを選んだ理由についてはOracleの代表者に聞かなくてはいけませんが、次のような理由があると思います。まず、私たちJetBrainsはJCPに以前から関わり、Expert Groupsの一員であり多くのJSRに貢献してきました。また、JetBrainsは、JavaおよびJVM開発者用のツールを作成するだけでなく、独自のJVM言語(Kotlin)を開発するため、Java言語とJavaプラットフォームの両方の開発に非常に熱心な関心を持っています。そして、Javaユーザーと双方向のコミュニケーションをしています。ユーザーはプラットフォームやツールへの期待を教えてくれます。また、Javaコミュニティと頻繁にコミュニケーションして、技術やその使い方について話しています。Javaを進化させるJCPとそのプロセスについて教えることもできます。そして、最後に、私個人はLondon Java Communityの一員としてECの委員だったことがあります。なので、プロセスを知っており、コミュニティも私のことを知っています。
InfoQ: JetBrainsは、2017年5月8日に締結された元のJSR 376に投票できませんでした。投票できたとしたら、その時点でJSR 376のステータスに基づいてどのような投票をしましたか。
Gee: 投票できなかったことについては本当に良かったと思っています。とても難しい事案でした。私は個人的には"yes"に投票したかもしれません。単にJava 9を望んでいる開発者の視点からの判断です。私は新しいプロジェクトでJava Platform Module System (JPMS)も使っていて、既存のモジュールプロジェクトをJPMSへ移行したこともあります。私は昨年のJPMSが大きく改善したのを知っています。また、モジュール性やカプセル化、関心事の分離などについて開発者が思考を巡らすことから生まれる大きな利益も理解しています。完璧ではありませんし、荒削りな部分もあります。しかし、"yes"の投票に傾いていたでしょう。
JetBrainsの他の人たちは、"ドアから出よう"という私のアプローチは、何かを押し進めるには、怖いやり方だ、と指摘しています。彼らによれば、JPMSのような大きな影響を与えるものは本当にうまく設計されているだけでなく、考え抜かれているだけでなく、コミュニティによって受け入れられなければなりません。そうでなければ、目標を達成できないのです。JetBrainsの中ではJPMSを使用しない(IntelliJ IDEAでサポートしていますが)ということを考えれば、JPMSが目的に合っているかどうかを言うことができるほどのしっかりとした経験を持っていませんでした。ひょっとしたら投票は棄権したかもしれません。棄権することで、どのような進化も押しとどめるつもりはないが、このJSRに対して懸念を表明できます。特に、既存のライブラリやフレームワーク、ツールに対する懸念です。
InfoQ: 任期は2018年に終わります。任期終了後はどうなりますか。
Gee: 再選にノミネートされることを望んでいます。私たちは、批准タイプの席へのノミネートだけでなく再選されるように、ECにとって価値ある存在になることを目指します。
InfoQ: 任期中はどのようなことを達成したいですか。
Gee: 私たちの目標は、世界中のJava開発者にとって価値のある仕様を作成し、言語の進化を手助けして、人々の生産性を向上させることです。JSRの評価は開発者が仕事に役立つかどうかによって決めたいと思っています。
もちろん、IDEベンダとして、仕様に準拠したライブラリやフレームワークを開発者が使えるようにするためのツールを提供する必要があります。私たちが仕様を実現できないのあれば、開発者もそれを使うのが難しいでしょう。また、Javaについてユーザーから多くのフィードバックをもらっています。彼らが定期的にやらなければならない苦痛を伴う作業を緩和する手助けをするためです(JCPの選挙についての私たちのブログをご覧ください)。これによって私たちは開発していることの優先順位を知り、重要なことを推し進められます。
また、Java開発者からもっと多くのJCPへの参加を求めたいです。ロンドンのJava CommunityのようなUser Groupsが実際にこのような変化をリードしていますが、Adopt a JSRやAdopt OpenJDKのような動きを意識していない開発者にも参加を促したいです。また、ブログやTwitter、ニュースレターを通じて、Javaの今後だけでなく、プロセスへの参加方法や個人としてどのように仕様策定に影響を与えるか、ということも開発者コミュニティに共有したいです。
InfoQ: JetBrains、特にIntelliJ IDEAの将来はどうですか。
Gee: 最新のIntelliJ IDEAリリース2017.2についての作業で本当に頑張っています。Java 9向けの大量のアップデートがあります。私がリクエストした機能も含まれているのでとても嬉しいです。
同時にKotlinについてもたくさんの計画があります。
- Java 9のサポート
- 多くのシナリオをより簡単に実現するJava interopの強化(SpringやAndroidで一般的なシナリオを含む)
- Gradle Script Kotlin (Gradle向けの新しいKotlin DSL)のIDEサポートの改善
- 便利なデバッガ機能を含む、Kotlinコルーチンのツールとライブラリサポートの改善
KotlinはValhallaと平行して値型を導入しようとしています。
InfoQ: JetBrainsにどのくらい携わっており、現在の責任は何ですか。
Gee: 入社して2年です。Java Developer Advocateという肩書きでIntelliJ IDEAとUpsource (コードレビューツール)に関する仕事をしています。ツールを試したり売り込んだりするのではなく、開発者がより生産的になるのを支援するのが仕事です。IntelliJ IDEAを使って生産性が向上するなら、私たちにとってとても嬉しいことです。しかし、Java 8についてのヒントを書いたり、Java 9の新機能を書いたりすることで、開発者の"レベルアップ"を支援することに軸足を置いています。
InfoQ:Executive CommitteeでのJetBrainsの代表者の1人という立場は、あなたの現在の責任にどのような影響を与えますか。
Gee: 仕事が増えるでしょう。しかし、私の職務とかなりの部分が重複しています。例えば、私はJavaの進化の最前線に身を置いておく必要があります。というのは自分が作成している資料(プレゼン資料、ブログ、スクリーンキャスト、月次のJavaのニュースレター)が、最新であり適切で、理想的には開発者が今携わっていることの前にある多くのトピックが含まれているようにするためです。それゆえ、今はJava 9に注力しています。Executive Committeeの仕事は次が学んだ次のJavaの姿を保証してくれます。言語としてのJava(最近行われたJigsawの投票)とエコシステムとしてのJava(Java EE)の両方について、保証を与えてくれます。したがって、ECの委員であることは、他のECメンバーとの会合、現在のJSRの調査、投票方法の検討などの作業を必要としますが、最新のJavaのニュースを開発者にもたらすという私の目標に合致します。
私はこれを一人でやっているわけではありません。Javaエコシステムに関するすべてのことの専門家であることは不可能です。JetBrainsの中には、さまざまな背景、責任、経験を持つ約12人のワーキンググループがあり、それぞれがJSRに関する情報を取り上げます。この経験によって、私たちはJavaプラットフォームを使っている開発者の良き代表者となっています。
InfoQ: EclipseやNetBeansのような強力なツールが無料で使えるということを考えると、IntelliJは目覚ましい成功を納めています。どのような秘密があるのでしょうか。
Gee: 多くのJava開発者にとってはIntelliJも無料である、という点が重要です。私もLMAXにいたときは長い間、Communityバージョンを使っていました。無料ですが、リファクタリングやナビゲーション、コード分析など重要な機能が使えます。有料のUltimateバージョンはJava EE開発、Spring、UML図、他の言語でのプログラミングをサポートします。個人よりは企業の方がサブスクリプションを購入しています。無料のバージョン開発者の生産性がいかに向上するかわかっているため、企業での開発をサポートする追加機能にお金を払うのです。
私自身は、LMAXにいたときにEclipseからIntelliJ IDEAに乗り換えました。以前は両方使っていました(Netbeansもキャリアの初期に使っていました)が、好みはありませんでした。必要な機能はどのIDEもサポートしていたからです。しかし、IntelliJのリファクタリングツールを使ったとき、コンパイルエラーを起こさずにIDEがコードを再編してくれるのを見て、夢中になりました。他のIDEでもできることは知っていましたが、EclipseとIntelliJの両方のパワーユーザーと一緒に働いてきた私の個人的な経験から言えば、IntelliJ IDEAは他のIDE以上であり、使うのに苦痛が伴いません。私は仕事柄たくさんの開発者と話しますが、多くが同じような話をしてくれます。IntelliJ IDEAによって生産性が向上したことに気づけば、後戻りはできないのです。
Rate this Article
- Editor Review
- Chief Editor Action