如何成为TF社区的贡献者?
很多希望加入TF的贡献者都会提出"灵魂三问":TF存在中文社区和国际社区两个社区,两者之间的关系是什么?如何加入TF中文社区,我能得到什么,我又能做什么?TF国际社区是如何工作的,有什么经验可以借鉴?
针对第一个问题:中文社区与国际社区是什么关系?
TF中文社区和TF国际社区是完全资源共享,无缝对接的。
受制于网络环境、沟通平台,以及语言和时差(TF国际社区的开会时间为北京凌晨0点、2点和4点)的影响,中国的云计算从业者和网络工程师在进行云和SDN的学习实践过程中,无法实现国际和国内的技术资源的共享。TF中文社区的创建,是希望在SDN方面给大家搭建一个本地平台,在信息传递,资源共享与国际社区同步。同时,邀请国际社区的专家作为中文社区的技术专家,给予指导和帮助。此外,针对中国的应用场景和开发者,中文社区正在做大量本土化的工作,搭建本地平台,并建立国内的技术委员会。社区的参与者自愿加入,通过民间的NGO的形式来把中国的平台运营起来,聚拢中国的参与者,解决中国面临的行业问题。
目前可以通过以下方式进行资料获取和信息沟通:
- 微信号:TF中文社区
- 官网网站:http://tungstenfabric.org.cn/
- 邮箱:[email protected]
针对第二个问题:如何加入TF中文社区,我能得到什么,我又能做什么?
参与TF中文社区的构建,参与全球最顶尖的开源云网络的项目,为云计算的网络分场贡献力量。这个过程让学习和使用TF的过程不再孤单,亲手安装部署使用,还有能够了解功能场景、技术原理和架构、开发和运维。与全球高手一道,是受惠者也是建设者。
技术上,TF中文社区在文档、行业案例和需求整理,以及项目治理上,都将投入力量。在市场上,将在线上内容分享和线下活动上发力。目前,TF中文社区技术委员会正在招募过程中,设置了文档工作组、社区联络工作组、行业案例工作组和基础架构工作组等四个工作组,会员征集活动现已开启,扫描下方二维码,快速直达会员在线申请--
- 文档工作组,负责TF相关文档站点的维护,文档组织结构的整理、翻译、发布和更新;
- 社区联络工作组,负责TF中文社区与国际社区及合作社区的联络工作;
- 行业案例工作组,负责与用户和成员企业联络,整理TF的使用案例和需求;
- 基础架构工作组,为TF中文社区官网和项目组的CI/CD流程提供技术支持。
针对第三个问题:TF社区是怎么工作的?有什么经验可以借鉴?
我们整理了Tungsten Fabric国际社区代表Edward Ting在"TF中文社区成立暨第一次全员大会"上的演讲,有助于大家了解国际社区的治理规则。点击下载PDF文档。更多会议资料,请在"TF中文社区"公众号后台回复"成立大会"获取。
Tungsten Fabric国际社区代表Edward Ting
自我介绍一下,我在Tungsten Fabric(以下简称TF)做了大概两年半,社区的技术指导委员会(Technical Steering Committee,简称TSC)分两部分,有TC和CC,分别有5个Member,我是TC其中一个Member。
我在硅谷20多年,从第一份工作开始,没有在别的地方上过班。我在台湾长大,父母亲是绍兴人,今天我会用中文讲,社区治理及如何贡献代码。
关于Tungsten Fabric社区
这个是TF国际社区的Governance(社区治理),TF是Linux基金会下的一个正式项目,我刚才讲的TSC就是整个Governance里的重要组成部分,其中有技术的工作组,也有社区的工作组。
目前来说,TSC开会的时间都是在美国加州时间早上8点到11点,中国地区要拨进来的话,时间大概在半夜12点到2点钟左右。
技术工作组由四大部分组成,分别是ARB(架构审查委员会)、IWG(基础设施工作组)、MWG(市场工作组)、DWG(文档工作组)。
开会的时间,IWG是每两周的早上8点,DWG是每个星期三上午11点,MWG是星期二的下午1点钟,都是在加州时间。(编者注:北京凌晨0点、2点和4点)
目前社区里四大区块的活动,大概就是这样。
整个TF国际社区的Landing Page,都已经放在tungsten.io,信息非常完整。今年我们花了很大的功夫,把整个资料都放在那里,你可以看到很多东西,包括各种演示和文档,开会的记录,还有去哪里参展,发表了什么论文等等,都在里面。
这里第一个就是Governance,刚才介绍过了,包括社区、技术、市场、文档等。
第二个很重要,加入国际社区的话,你需要签一个CLA协议(Contributor License Agreement,贡献者许可协议),协议分两种,一个是个人,一个是公司。不管你要做什么贡献,第一件事就是去那边签这个协议。
第三个是Demos,里面放了很多视频、演讲、不同活动上的Demo等。
其他的几个,不多介绍了。大家可以到页面上去点这些链接,就可以看到很细节的东西。
这里就是刚刚说的四个组开会的信息,如果你点击进去,它以前的会议信息都在里面,包括会议时间,讨论了什么内容等,每周或每两周开一次会,每个会都有一些文档在里面,信息非常完整。
另外你怎么找到参与者,最常用的是去Slack,里面有Dev,Documentation,General,Users这几项。
Mailing Lists有这么多,比如说国内要办活动,你到这边来,发个邮件到Conference里,说明要办活动的情况,社区上看到就会考虑怎么去做宣传。
再比如说你要签贡献者许可协议,把文档下载下来之后,发个邮件到cla这边,那些Linux基金会的人就会记录下来,你就可以正式成为社区贡献者。
如果是开发的人员,最常用的应该是dev,还有就是security,每个开源的软件都会有各种网络安全问题,你可以发邮件到那里去,然后会有人判别具体是不是安全问题。
有任何技术上的问题,都可以使用Mailing Lists,去跟社区沟通和解决问题。
接下来就是社交资源,除了网站Web社区,还有Blog在上面,然后我们还有领英Linkedin,在Twitter上面也经常有媒体会发新的消息。Randy Bias现在是我们的主席,可以在Linkedin和Twitter上follow他。
那么代码在哪里呢?主要就是在Github里。在Dockerhub也放了一个已经编好的5.1版本,是今年6月的时候release的,一旦社区有新的release的时候,都会放到Dockerhub里头,你可以去那边获取,然后就可以安装和使用。
你如果Code Review的话,就放在Gerrit里面,地址是review.tungsten.io。最后,我们现在把所有的blueprint蓝图,就说你的feature你要什么样的功能,什么样子的东西,可以放到blueprint里头去找。
如何贡献代码
如何贡献代码呢?这是总体的概述,先要注册到mailing lists,然后你要签CLA协议,再把blueprint放到Gerrit里头,就可以了。
在Gerrit里会区分什么是bugs,有story。在敏捷开发里头,他有讲说我是一个story,还是一个epic,还是一个bug,还是个issue,所以应该来说一个blueprint至少是一个story。如果是一个比较大的blueprint,可能就是一个epic。所以你在Gerrit里面去开一个blueprint的时候,你可以选择。
这两个链接,可以告诉你去哪里下载CLA,一个是公司的,一个是个人的。
然后写完之后,就把它发送到CLA上面去。
当你要做开发的时候,要确定到底是一个feature,还是一个bug?你就提交一个blueprint到上边来。
这里讲述什么是一个blueprint。
Blueprint要通过的话,先要在TC里面review,然后到TSC做vote,这是一个流程。所以TC的话是每周二开会,然后TSC是每周四开会。
TF国际社区的release周期目前还没有定下来,还在讨论中。
CI现在我相信还是弱,有人在讨论说,换到不同CI的一个infrastructure,目前还没有改到那边去。
这是告诉你怎么去处理code,你写了code之后,还要一直负责,我们会有人review,可最后还是写code的人去负责。
当然还有基本的要求,就是说你要怎么做测试等等,这是很标准的,在开源社区都是这样子。
最后,我个人再分享一下,跟其他的开源软件比起来,TF其实还算靠谱和好用。当你面对不同场景、不同客户的需求,只要稍微调试一下就可以。基本上说TF的架构都有非常严谨的测试,Juniper在里面就测得很好,拿到社区里面来的时候,问题都比较少。所以很鼓励大家去用TF。谢谢大家!
【号外】TF中文社区技术委员会会员征集活动现在开始了 欢迎各位有志于中国多云网络互联、开源云网络产业发展的同仁加入,共同决定技术栈和社区发展方向。
扫描下方二维码,快速直达会员在线申请--
关注微信:TF中文社区