SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

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

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

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

 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という準コピーレフトなライセンスであり、本体への改変はコードを公開する必要があるものの、プラグインには及ばない。よって、プラグインをクローズソースで開発し、有償で提供するビジネスモデルが 可能となっている。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
さまざまな「事件」を通じ、Javaはオープンソース化されてきた

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

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

 週の半分はエンジニア、もう半分はライター・編集者として働くパラレルキャリアの人。現職のエンジニアとして培った知識・経験を強みに、専門性の高いIT系コンテンツの制作を行う。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10772 2018/04/13 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング