Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

「Make Java Great Again」を目指して――コミュニティと共にある、Javaのこれまでとこれから

「MANABIYA -teratail Developer Days-」基調講演「Javaのカルチャーとグロース」レポート

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/04/13 14:00

 2018年3月23日~24日。teratailがおくるITエンジニアの問題解決カンファレンス「MANABIYA -teratail Developer Days-」が開催された。ITエンジニアの「疑問」を日本中から集め、カンファレンスを通じて解決策を見いだし、「知恵」を生み出すことを目的としたこの催し。今回はその中から、23日の基調講演「Javaのカルチャーとグロース」の模様をお届けする。1995年にリリースされた後、汎用性の高いオブジェクト指向言語として不動の地位を確立してきたJava。これまでいかなる歩みをたどり、今後はどのような未来を描こうとしているのか。グロースエクスパートナーズ株式会社 執行役員であり日本Javaユーザーグループ会長の鈴木雄介氏が概観を語った。

目次
グロースエクスパートナーズ株式会社 執行役員 鈴木雄介氏
グロースエクスパートナーズ株式会社 執行役員 鈴木雄介氏

コミュニティが、Javaのエコシステムを支えている

 セッション序盤はJavaを支えるエコシステムについて語られた。

 Javaの開発プロセスは「標準仕様(※注1)を策定した後、各社が仕様に沿って実装する(※注2)」流れになっている。標準仕様を策定するプロセスには大きく「JCP(Java Community Process)」と「JEP(JDK Enhancement Proposals)」の2つがある。なお、セッション内ではJCPとJEP両方についての解説が行われたが、本稿では前者のみをピックアップして掲載する。

  • 注1:Java SEやJava ME、Java EEなどが代表的な標準仕様。
  • 注2:OpenJDKやOracle JDK、Glassfishなどが代表的な標準仕様の実装。

 JCPはJava APIの仕様策定プロセスだ。まず「JSR(Java Specification Request)」という仕様の変更要望が提案される。その後Expert Groupと呼ばれる、仕様の是非を検討するチームが結成される。

 そのExpert Groupのメンバーが初期ドラフトを作成・公開し、多くのエンジニアが改善策について議論しながらブラッシュアップ。最後にExecutive CommitteeというJCPの中心メンバーたちが多数決で承認すれば、仕様が確定する形になっている。

 確定後にはさらに、「RI(Reference Implementation)」と「TCK(Technology Compatibility Kit)」の2つが作られる。

JCP(Java Community Process)
JCP(Java Community Process)

 RIとは参照実装を指す。仕様の説明文言だけでは意図が伝わりにくいケースがあるため、エンジニアに参照してもらうためのサンプル実装をセットで作るというものだ。

 TCKは技術互換キットと呼ばれる、仕様通りに製品が実装されているかをテストするためのもの。TCKにパスすると、Javaの製品であるという認定を受けることができる。この認定作業(ライセンス発行)は、Sun MicrosystemsやOracleが一元管理してきた。

RIとTCK
RIとTCK

 「こうした体制をとるメリットには『Javaエコシステムの形成』と『派生の回避』があります」と鈴木氏は話す。

 「複数のJava実行環境を開発する会社が標準仕様策定のプロセスに参加することで、ユーザーは標準仕様部分については特定の環境に依存せずに実装が行えます。これにより、ロックインのない健全な競争が行われます。また、標準仕様準拠への認定を一元化することで勝手な派生がなくなり、標準仕様を壊さないようにできるのです」

 また、鈴木氏はオープンソースのソフトウェアプロジェクトを支援する団体である「Apache Software Foundation」と「Eclipse Foundation」についても触れた。

 Apache Software Foundationが作ったもので大きな価値を持つのが、「Apache License」というオープンソースライセンスだ。これは、各種オープンソースツールのコードを書き変えた場合に、改変後のコードを公開しなくていい非コピーレフト(※注3)のライセンスである。商用利用がしやすいため、多くの企業がApache Licenseを採用した製品やライブラリを利用して開発をおこなっている。

注3

  • コピーレフト:改変のコード公開が必要、リンク先に影響
    • GNU General Public License(GPL)
  • 準コピーレフト:改変のコード公開が必要、リンク先は不要
    • GNU Lesser General Public License(LGPL)
    • Mozilla Public Licens(MPL)
    • Eclipse Public License(EPL)
  • 非コピーレフト:改変のコード公開が不要、リンク先も不要
    • BSD派生
    • MIT License
    • Apache

 一方のEclipse Foundationは、Eclipse IDEやEclipse Platformの関連製品などを提供している団体だ。Eclipse本体はEclipse Public Licenseという準コピーレフトなライセンスであり、本体への改変はコードを公開する必要があるものの、プラグインには及ばない。よって、プラグインをクローズソースで開発し、有償で提供するビジネスモデルが 可能となっている。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中薗 昴(ナカゾノ スバル)

     大学卒業後、システムエンジニアとして8年ほど勤務。その後、編集者・ライターへとへキャリアチェンジ。  エンジニアとして培ったテクノロジーへの理解やリサーチスキル、ビジネススキルなどを強みに、テクノロジー・ビジネス系メディアの編集・執筆を得意とする。

バックナンバー

連載:イベントレポート

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5