Oracle Code Oneとは
Oracle Code Oneは、ディベロッパー向けの総合技術イベントとしてOracleが主催するイベントです。第1回となる今年は10月22日から10月25日にかけてサンフランシスコにて開催されました。4日間で500以上のセッションが朝から夜まで行われるという巨大なカンファレンスです。Javaの祭典であった「JavaOne」から改称されたのは先に記載した通りですが、セッションの多くはJavaに関するテーマであり、メインである初日のキーノートもJavaをテーマとし、Javaの仕様策定団体であるJCPのパーティも同時開催されるなど、Javaの祭典であるという点は継続しています。
会場の様子
年に一度の祭典だけあり、イベントの規模は巨大です。まずセッション会場であるMoscone Centerはすさまじい混みようで、特にレジストレーションを兼ねる1階フロアはそのほとんどが人で埋め尽くされるような状況になることもありました。この混雑は毎年の恒例になっていますが、今年も人気が継続していることを示しているといえます。
個別のセッション(分科会)は常時20を超える数が並行して開催されており、1コマ45分~90分程度で9:00~21:00過ぎまで、15分程度の休憩をはさみながらほとんど途切れなく行われます(なお、全てではありませんが、部屋単位で動画が公開されています。キーノートも含めた全動画はこちらから)。
セッションの合間に立ち寄れる企業ブースも大盛況で、定番のTシャツやステッカーの他、オリジナルのオライリーの書籍やKubernetesのロゴを模したハンドスピナーなど、さまざまなノベルティが惜しげもなく配布されていました。また、ブロックチェーン技術を活用して原料の組み合わせを見積もって作られたという「Blockchain Beer」の無料提供など、ただの企業のサービス紹介にとどまらない、技術祭りならではの工夫が見られたのも特徴的でした。
初日のキーノート(Keynote: The Future of Java Is Today)
セッションは大きく分けて3部にわたる構成で行われました。初めにGoldスポンサーであるGitHubからコミュニティ活動に対するメッセージが語られ、次にJavaのリリースモデルについての解説、最後に現在進行中のプロジェクトについての詳細説明という流れです。順に見ていきましょう。
GitHubのVPが語る「1」の重要性
モデレーターのGeorges Saab氏(VP, Oracle Java Platform Group Chair, OpenJDK Governing Board)の紹介により、まず登場したのはGitHub社のMatthew J. McCullough氏(VP of Field Services)。「Project Skara」について説明がありました。このプロジェクトは、現在MercurialというSCM(分散型バージョン管理システム)にて管理されているOpenJDKのソースコードに対し、別のSCM(Gitなど)の適用や、コードレビューのための新たな仕組みについて調査するものです(プロジェクト概要はこちら)。
前提としてMatthew氏が語ったのは、「価値のあるソフトウェアにとって重要なのは、コミュニティである」という価値観。そしてコミュニティ活動において意識すべきは「1」という数字であるという考え方でした。わたしたちはしばしば大きな成果や、自分たちのアプリやソフトウェアに関する年次リリースにばかりフォーカスしがちですが、もっと小さな数字に目を向けてほしいと語ります。例えば、1つのバグをフィックスすること。1%速くすること。1つの手動タスクを削減すること。その話をProject Skaraに繋げ、1つのフィードバックから貢献を始めてほしいというメッセージで締められました(Project Skaraのリポジトリはこちら)。
世界に向けて発信された「Java is Still Free」というメッセージ
続いて登壇したのはOracleのMark Reinhold氏(Chief Architect, Java Platform Group)。語られたのは、Javaのリリースモデルについてでした。まず、Javaはバージョン9以降は6か月ごとにリリースし、3年ごとのバージョンを長期サポート対象(LTS:Long Term Support)とするリリースモデルについて、改めて簡単に説明。その上で、「新しいリリースモデルに関する5つの誤解」と題し、Javaに関して起きている混乱に対し、一つずつ誤解を解くべく解説がなされました。
5つの誤解とその回答を日本語で要約すると、おおむね以下の内容です。
-
誤解1:すべての機能のリリースは、過去の機能のリリースと同じくらい破壊的である
- 進化の速度が変わるのではなく、進化の提供速度が変わった
-
誤解2:非LTSリリースは「実験的」である
- LTSと非LTSの違いはサポート期間の長さのみ
-
誤解3:一部のユーザーはLTSリリースのみを使用するため、古い機能を削除するには、3年前に非推奨にする必要がある
- 機能の削除に3年という縛りはない(ただし事前に非推奨化されるためコンパイル時、実行時の警告や、リリースノート(説明書き)にてあらかじめ知ることができる)
-
誤解4:頻繁な移行を行わないシステムを使用している場合は、非LTSリリースを無視できる
- 非LTSリリースを使用し、つどテストを行うことで次のLTSに効率よく備えることができる
-
誤解5:非LTSリリースでは6か月以上の無償アップデートはなく、LTSリリースでは3年以上の無償アップデートはない
- Oracle以外にもアップデートを提供するプロバイダは存在し、彼らの意思決定に依存する。サービスの内容により無償も有償もあれば、サポート期間も異なるので、各プロバイダのアップデートやサポートの詳細を確認の上、合うものを選択してほしい
そしてMark氏から提示されたのが、「Java is Still Free(Javaは今も無償)」のメッセージです。同名のタイトルで世界中のJava Championたちが執筆したドキュメント[1]が存在し、Javaが有償化されるという誤解を払拭しようという活動が行われていますが、この世界最大のJavaの祭典で改めてそのメッセージを伝えようという意思の感じられる一幕でした。