Javaの開発プロセスJEP(JDK Enhancement Proposals)•JEP(JDK Enhancement Proposals)»2011年に策定されたJDKへの機能拡張を行うためのプロセス▸PythonのPEPを参考に作られ、JCPほどは厳密ではない»JDKにはライブラリに関わらない機能追加もある▸言語:JEP 286: Local-Variable Type Inference (10の”var”)▸コンパイラ:JEP 295: Ahead-of-Time Compilation (AOTコンパイル)▸2週間以下の小さな変更はJEPにならないものもある»JSRとしてはひとまとめ。例:JSR 383: Java™ SE 10 (18.3)17http://openjdk.java.net/jeps/0
19.
Javaの開発プロセスOpenJDK• Java SEのRIとして実装されるJDK»Sunが公開したHotspotVM+標準クラスライブラリ+ツール»Oracle, Red Hat, Azul Systems, IBM, Apple Inc, SAP AGそして、JUGメンバーが開発を行っている• OpenJDK関連のプロジェクト»言語系(Project Amber…)、VM系(Graal Project…)»IcedTea、Duke18http://openjdk.java.net/2006年にBSDライセンスでオープンソース化 →https://www.oracle.com/java/duke.html
OSS開発モデルApache Software Foundation•1999年設立された非営利団体»NASAが開発していたHTTPDのサポートを維持するために開始»OSS開発のためのインフラ提供、寄付の受入れ、訴訟対応など»ASFに参加するためのプロセスも提供(Apache Incubator)• Apache License»商用利用可能で改変は非公開OK。現在はAL 2.021Open source masterclass - Life in the Apache Incubatorhttp://archive.apachecon.com/eu2012/presentations/07-Wednesday/PR-Community/aceu-2012-open-source-masterclass_life-in-the-apache-incubator.pdfhttps://www.youtube.com/watch?v=KopPbWS87fw
23.
OSS開発モデルApache Jakarta Project•1999年、SunがServlet/JSP部分のRIを寄贈»Tomcatとして継承し、同年12月にTomcat 3.0リリース»J2EEの一部機能のみをOSS化した• 同時にJava関連OSSの受け皿としてJakarta Project開始»Ant、Log4j、Lucene、Maven、POI、Struts、Velocity…• 2011年に役割を終える»全てのプロジェクトがトップレベルに移行22
JavaとOSSJava EE Guardians事件•2016年、Java EE 8の仕様策定の遅れを懸念して活動開始»Java EE 8向けのJSRにおいて明らかに活動量が落ちていた»主にOracleメンバーの関与度が低くなっていた»James Goslingをはじめ、多くの人が賛同した• 何をしようとしてたのか»Java EEの啓もう活動»JCPにおけるロビー活動、Oracleへの働きかけ»活発でないJSRをOracle以外の企業に移管させる32Java EE Guardiansとはhttps://speakerdeck.com/masatoshitada/java-ee-guardianstohahttps://javaee-guardians.io/
最近の動向Jakarta EE• 2017年9月Opening Up Java EE - An Update»IBM、Red hatと話し合い、Eclipse Foundationへ移管▸RI(GlassFish)、TCK、関連ドキュメントを提供▸新たなブランド名を付ける(javaxパッケージやAPI名は維持)▸新たな開発プロセスを定義する▸新たな開発者、スポンサーを募集。Eclipse MicroProfileとの統合• EE4J(Eclipse Enterprise for Java)を発足し受入開始»https://projects.eclipse.org/projects/ee4j35
最近の動向Jakarta EE• 現在も作業中»仕様策定プロセス:JCP→Jakarta EE Working Group»仕様群:Java EE → Jakarta EE▸現在はロゴコンテスト実施中»RI:Glassfish → Eclipse Glassfish• 今後、Spring Boot vs Microprofile ?»マイクロサービス対応の標準化動向は要注目37