CNCFの公式サイトでLandscapeを見ると、様々なアプリケーションの一覧が表示されます。
その中で、KubernetesやFluentd, Prometheusなどが含まれているCNCF Graduated Projectsというものがありますが、最近CNCFを調べ始めた私としてはGraduatedが何を意味するのか分かりませんでした。
なので、Graduatedが何なのか、簡単に調査してまとめてみました。
Maturity Levels(成熟度)
Cloud Nativeの公式サイトのGraduated and Incubating projects のページの末尾に下記のような解説があります。
Maturity Level
CNCF projects have a maturity level of sandbox, incubating, or graduated which corresponds to the Innovators, Early Adopters, and Early Majority tiers of the Crossing the Chasm diagram. The maturity level is a signal by CNCF as to what sorts of enterprises should be adopting different projects. Projects increase their maturity by demonstrating their sustainability to CNCF’s Technical Oversight Committee: that they have adoption, a healthy rate of changes, committers from multiple organizations, have adopted the CNCF Code of Conduct, and have achieved and maintained the Core Infrastructure Initiative Best Practices Badge. Full details are in the Graduation Criteria v1.1.
日本語に訳すと下記のようになります。
Maturity Levels(成熟度)
CNCFのプロジェクトにはsandbox(遊び場), incubating(培養中、増殖中), graduated(進んだ、卒業した)というMaturity Levelsが割り当てられています。
これはChasm diagram(『キャズム』)におけるInnovators, Early, Adopters, そしてEarly Majorityの階層に対応しています。
成熟度はエンタープライズがどのプロジェクトを採用すべきかを示す、CNCFによる指標です。
プロジェクトはCNCF’s Technical Oversight Committee(CNCFの技術監査委員会)への持続可能性のデモンストレーションを行うことによってMaturity Levelsを高めていきます。
持続可能性は採用、健全な変更、複数のorganizationsからのコミッター、CNCFのCode of Conductへの従属、そしてCore Infrastructure InitiativeのBest Practices Badgeを達成し維持していることが必要です。
完全な詳細はGraduation Criteria(卒業基準)に示されています。
これを読むとGraduatedになっているプロジェクトはCNCFが定める基準によって、Graduatedとして分類されたプロジェクトであることが分かります。
そしてGraduatedは下記のように、成熟度としては最も成熟した段階のことを示していることも分かりますね。
