原文はこちら。
The original entry was written by Ivar Grimstad (Jakarta EE Developer Advocate at Eclipse Foundation).
https://www.agilejava.eu/2020/04/03/to-fork-or-not-to-fork/
Configuration for MicroProfileをJakarta Configurationとしてフォークする件について、Jakarta EE コミュニティのメーリングリストで非常に興味深い議論が起こっています。
[jakarta.ee-community] Fork Eclipse MicroProfile Configuration as Jakarta Configuration.
https://www.eclipse.org/lists/jakarta.ee-community/msg01783.html
メーリングリストでの議論は、最初は特にMicroProfile Configの仕様に関するものでしたが、Jakarta EEの戦略がEclipse MicroProfileと技術的な整合のためにどうあるべきか、という問題をも提起しています。
Background
数週間前、ダウンストリームの消費者との技術的整合性について、Eclipse MicroProfileコミュニティで投票がありました。その中でPushモデルとPullモデルの2方法が投票にかけられました。
Specification Technical Alignment – Push vs Pull
https://docs.google.com/document/d/1VQ5cvzhVhKYr27FKC1tVmf081eGLSNiuX-dhQ2BxItc
多数決の結果、Pullモデルが技術的整合のための戦略として選択されました。
並行して、昨年の10月からMicroProfileワーキンググループの作成に関する議論が続いています。これまで、別のワーキンググループ、Jakarta EEとの共同ワーキンググループ、統括ワーキンググループと連携した 2つのワーキンググループの組み合わせ、といった提案が検討されてきました。
Umbrella Working Group Proposal
https://docs.google.com/document/d/1pV2n0iZkgdaIOaaZMZuTmSPDyjVKZBS5gg7Y1-P_RHU
このワーキンググループの議論の最新状況では、Eclipse FoundationがMicroProfileコミュニティに対し、MicroProfileワーキンググループ憲章(charter)をJakarta EEに依存せずに定義するよう求めています。
MicroProfile Working Group
https://groups.google.com/forum/#!topic/microprofile/yeYDvjBj6gM
Why Fork?
1個のワーキンググループであれ、統括ワーキンググループは以下の複数のワーキンググループであれ、独立した個々のワーキンググループであれ、実際にはこの議論には関係ありません。技術的な整合性という点ではどれでも引き続き同じです。MicroProfileコミュニティはPullモデルを選択しました。そこでJakarta EEは、どのように関連付けるのかを考える必要があります。
個人的には、これは非常に簡単と考えています。Jakarta EEは、Jakarta EE Platformの一部にする意味のある仕様をフォークすべきと考えています。理由はいくつかありますが、そのうちの一部を記載します。
1. Stability
MicroProfileは速く動き、壊すことを望んでいるのに対し、Jakarta EEはあるレベルの下位互換性を維持したいと考えています。フォークを作成することで、Jakarta EEは仕様のライフサイクルをコントロールできるので、この懸念に対処する必要はありません。
2. Cohesion
Java EEとその後継であるJakarta EEは常に非常にまとまりのあるプラットフォームです。configurationのような中心的な部分はプラットフォーム全体で使用され、それがプラットフォームの残りの部分と同じ名前空間にあることだけが理にかなっています。
3. Flexibility
仕様のフォークをメンテナンスすることにより、Jakarta EEに関連するが、MicroProfileには関連しない可能性のある修正を自由に実施できます。
Some Thoughts
Hashtag Jakarta EE #11 で指摘したように、フォークの歯が分岐するという頭痛の種は、同じ製品で Jakarta EE と MicroProfile の両方をサポートしているベンダーに降りかかります。
Hashtag Jakarta EE #11
https://www.agilejava.eu/2020/03/15/hashtag-jakarta-ee-11/
結果として、Pullアプローチに最も賛成したベンダーがすべてJakarta EEとMicroProfileの両方に準拠した製品を出荷しているというのは興味深いことです。このことから明らかに、こうしたベンダーはこの課題を考え、解決策を持っているに違いありません。
Some other reads on the same topic
MicroProfile and Jakarta EE Technical Alignment – Steve Millidge
https://blog.payara.fish/microprofile-and-jakarta-ee-technical-alignment
Proposal on Jakarta EE’s innovation & relationship with MicroProfile – Sebastian Daschner
https://blog.sebastian-daschner.com/entries/jakarta-microprofile-innovation-proprosal