Hello 大家好 我是张磊今天我和梁盛伯是给大家会带来一个比较有意思的一个topic就是如何在CNCF里创建属于我自己的开源项目那么大家都知道CNCF它是一个关于原生的这样一个基金会所以很多人都希望把咱们的这个开源项目捐赠或者是交给CNCF去进行托管但具体原因是什么呢 我想可能大家都有这么几个动机吧第一个就是说CNCF会给我们提供一个完全中立的软件托管的这么一个地方对吧 让我们能够以一种可持续的方式以完全供应商无关的这种方式去维护和推广我们的软件比如Kubernetes它虽然来自于Google但是现在我们大家都不会去担心它被Google或者是任何一家公司去控制 这是一个很好的范围另外一个点就是说CNCF它本质上是一个大的社区所以它里面有好多好多个成千上万个这样的项目产品应该说都是有同样的一个vism就是CNCF云元生的这种vism有同样的一个价值观的这些项目那么这些项目之间就很容易去去合作因为大家的想法都是比较类似的或者说带围绕的一个方向在做所以也比较容易去合作比较容易去建立一些互操作比较容易去互相之间甚至说互相借力 形成一个更庞大更繁荣的这么一个社区第三个我觉得更重要的一点了就是说CNCF它本质上会给你提供这种非常非常优秀的世界级的这种open source推广的策略和会议和组织比如说我们MeetUp 互比抗以及说我们线下的各种各样的CNCF冠名的会议他们都是非常非常好的高质量的让你去推广你的软件让你去promote an idea的一个场合再比如说CNCF还会给你提供一套完善的社区治理的方法以及相关的一些东西和帮助再比如说我们还有Tag就是说兴趣小组对吧让你能够在各个领域帮助你提供专业性的建议我们还为一些项目提供CEI的支持甚至还有像Linux Foundation提供的这种实习生的项目都是能够很好地去帮助你的项目逐步地从一个小种子变成一个未来的世界级项目的一个很好的一个方法所以这些都是我们为什么想把项目去交给CNCF去托管的一个重要原因吧说到这个大家可能就会问了OK我怎么能够去把我的项目去放到CNCF里面呢我觉得要做这件事首先得回答一个问题就是说你这个项目跟CNCF到底是有什么样的关系对吧很多人也在思考这个问题说我这个项目到底能不能被CNCF接受其实都是在回答这个问题那么要回答这个问题我觉得大家都需要去知道和了解CNCF的愿景是什么其实CNCF本质上是希望的或者说认为未来咱们这个应用或者软件是天然的生育营商 掌育营商所以这样的软件会有些特征比如说它非常的敏捷非常的有韧性可以删掉再重启可以随时随地去scale它比较还能够potable就在不同云上不同处中心上去迁移 对吧而为了能够让这些实现CNCF就给你提供了一些方法论像不可辨计数设施容器 微服务 语言无关而这些方法论它们又通过我们的开源项目作为实现像Kubernetes Docker本质上就是让你能够去真正的使用这些方法论去构建属于云上的云原生的这种软件所以我们知道了这么一个vison或者知道了这么一个它的愿景之后我们其实就回答这些问题就可以了就是说我们这个软件比如说能不能让我们的未来的应用更加敏捷 对吧更加容易scale更加建状 更加容易去遣移 对吧或者说我们这个项目是不是在创造一些新的方法论或者说我们今天这个项目是不是其实对CNCF EU项目的一个补充 对吧我觉得只要是这几点大家觉得是对的或者说自己的项目是这样的一个动机那么它往往就跟CNCF的需求其实比较align当然有可能不是 对吧那这时候也没关系就Leaks Foundation它有好多好多的基金会和组织可以帮助你去拖拐各种各样的项目那么在知道这个之后我们就得回答第二个问题这个问题就是说我现在项目跟CNCF是align的但是我应该怎么去真正那么这个时候你就需要去选择CNCF对应的项目称数度或者说对应的这种门槛 对吧CNCF里面分这么几类就第一种就是最简单的最容易的就是Sandbox它几乎是没有门槛的那Sandbox本身上就是一个起步的这么一个项目早期项目所以说它会非常愿意让你进来只要你跟CNCF的愿景是一致的也是我认为最适合大多数项目的这么一个起步的这么一个阶段当然如果你的项目本身已经很成熟已经很受欢迎 那么可以考虑后面两个我们认为是更正式的CNCF的这么一个称数度叫Incubation和Graduation那么相应的他们的门槛会更高他们对你的这个省会会更严格当然也都意味着它认为你这个项目已经是具备一定的领先性和称数度的这么一个项目了那么我们可以就是看一个非常实际的一个例子就是Dapper的也是最近的成为我们CNCF的一个浮华以浮备省项目Dapper这个项目也是问这两个问题就感觉很有意思就第一个 它有没有去让我们应用变得更加冤冤生对吧其实Dapper就是这么一个项目它把我们的这个构建微服务所需要的各种各样的标准化的API做了一个抽象把它的实现的跟API结合然后通过set a card的方式让你去通过访问本地就可以使用到这些API这个其实跟我们CNCF这个愿景是非常一致的再比如我们如果再去看Dapper这样项目的一个称数度你会发现它在捐赠的时候已经其实挺受欢迎来有1万多个star有几千个contributor已经发了正式的release所以我们觉得Dapper这个项目它应该是已经超过了Sandbox这么一个要求可能要看是不是incrubation和graduation那么它到底应该是选择incrubation还是graduation呢那这里就涉及到了我们的这些CNCF还给这每一个阶段定义了可量化的可以被遵循和考察的一些指标这就是我们所说的这个criteria那么接下来我就想要邀请梁盛博士给大家详细介绍一下CNCF究竟是怎么去判断哪个项目到底属于哪个阶段的好吧谢谢我请梁盛博士谢谢张伟大家好我是梁盛现在我想跟大家讲一下在这个CNCF项目每一个阶段和标准是什么其实在沙乡这个阶段在Sandbox的阶段标准是很低的基本上你的项目只要不是非常非常的不成熟或者是项目跟CNCF没有什么关系的话其实应该都有可能进入沙乡这些级别真正要求比较高的实际上是主化这一级就是Incubation很多非常有名的Sandbox项目像Covoletti'sCometheus都是从Incubation这一级开始的然后从Incubation到最后Graduation毕业呢实际上应该如果这个项目不断的发展不出什么问题的话我们觉得应该都能够达到但是有很多沙乡级的项目可能是永远达到Incubation当然我们这里列的标准也就是最低的标准具体的话实际上是由CNCF做一个主观的决定做一个经过投票来决定的大部分的项目进入CNCF都是在Sandbox这一层其实Sandbox最重要的并不是说CNCF对这个项目有什么要求或者是给这个项目很多的好处其实Sandbox给这个项目如果提供的是一个比较中立的一个发展率希望这个Sandbox项目在这个中立的发展程度上能够不断的发展能够继续发展有一天能够达到Incubation或者Graduation但是在做的很多人可能不再想我们只能够向CNCF提交一个项目商量值也非常容易只要去一个网站在这个网站上填一个表就可以了从Incubation到毕业就稍微难一点Incubation特别是Incubation的项目前面讲是一个非常重要的就是一个非常完美的进入项目可能可以到那些不在CNCF的项目你直接的去申请Incubation但是很多Incubation的项目实际上是从现有的杀相级项目来的第一步必须在你创建的PL之后必须找到一个在Toc里面找到一个占主的人找到一个人能够作为支持这个项目然后在这个人的帮助下去找一个Tag找到一个合适的CNCF Tag其实Tag就是一批技术很强的人其实他们是帮Toc在审查这个项目所以Toc的sponsor跟你和Tag就会必须去写DV的文档然后最后把这个文档再递交Toc来审查然后通过然后最后通过Toc的普票如果有三分之二的人的支持那这个项目就可以进入Incubation或Graduation这个过程大家很多人问说杀相也好Incubation、Graduation也好需要多长的时间其实在杀相级的话这时间也不可以长基本上我们Toc每两个月就会审查一次所有的杀相级项目的申请当然你又并不是说你申请了两个月之内就一定会审查你的项目因为有的时候项目非常的多所以我们可能需要好几次会议才能审查到你的项目比如说项目实在太多的话CNCA也会在也会加入一些额外的会议来选择所以也并不是说你就一定要对上对前的久在Incubation和Graduation这个阶段的话这个时间就比较难讲因为你看有很多很多比如说每一个步骤可能都需要几个星期甚至几个月的时间但是都顺利的话时间还是比较快的可能要不了半年一年可能能够通过但是如果中间出了什么问题或者是特别是有些项目可能比较有争议那可能就会被打回去有些流程就会重新开始那需要的时间就比较长所以我们常常告诫大家的就是说你要如果要进入这个流程你千万不要有什么希望说我一定要在下一次Coopcom之前把这个项目能够达到Incubation和Graduation实际上Graduation的原则它讲需要的时间要求是更高但是因为一般项目到Graduation的时候它比较成熟所以很多可能节外升职的问题也可能会少一点但也会有更多新的问题所以这两步实际上的时间都是比较长而且都有一定的不确定性大家需要知道我们常常很多人问我们一个问题说他想向CNC贡献一个项目但是CNC贡献有类似的项目这样他的项目会有一个接手会不会他的项目会得到骑士其实是不会的因为从CNC贡献的角度来讲我们COC都相信CNC会有一个原则就是说CNC并不所指定这个项目就一定是这个领域的领域因为我们这个领域这个CNC贡献的领域创新的非常台湾每天 每时 每刻都有新的技术再出来所以CNC贡献必须是非常开放我们永远是花园新的项目其实有一些项目之间互相有一些竞争是一个非常健康的事情对CNC贡献对这些项目其实都有好处也让大家都有很好的提高所以在你提交项目的时候千万不要担心有雷同的类似的项目尽管你只要有好的东西最后都会永远出来因为这个领域的真正的项目我当然希望你们听到我和张磊这个讲道我能够希望能够激励 你们能够创建特别是递交更多的项目给CNC贡献其实你们如果想知道更多我非常非常鼓励你们做的就是去加入这个一个月一次一个月一个小时的经济我们有一个COC 有一个公开的会议这个会议上我们会给大家很多的信息不光是COC 每一个带来的他都有代表来介绍他们带来的情况所以了解一些最新的项目这个申请发展的一些情况这个会议的时间可能对很多在亚洲的病毒特别好但我觉得也可以基本上是在11点因为是我们加州这边早上8点如果你们实在没把时时来加入的话我也希望你能够去听一下他的文档最后能看一下这个COC的一些比如说加入我们的email然后去看一下我们COC的网站都在Petals上有很多的资权从我们来讲非常希望不光是美国 欧洲能够同样走中国能够得到更多的病毒倡议的时间好 谢谢大家