关于开源:张海宁首个-CNCF-中国开源项目-Harbor-的修炼之道

20次阅读

共计 4907 个字符,预计需要花费 13 分钟才能阅读完成。

「WeOpen Talk」是腾源会全新上线的「对话开源」内容专栏,每周为读者出现一期与尖峰开源人物的精彩对话内容。在「WeOpen Talk」栏目中,咱们将粗浅诠释开源先锋者们的开源精力、开源理念及其眼中的开源世界,深度开掘开源领军者们在实际、参加开源过程中的无效方法论和最佳教训。

一、前言

2020 年 6 月,CNCF(Cloud Native Computing Foundation,云原生计算基金会)发表,企业级容器镜像仓库开源我的项目 Harbor 成为 CNCF 第 11 个毕业的我的项目。作为 CNCF 首个诞生在中国的开源我的项目,Harbor 目前在 Github 平台已取得近 1.7 万个 Stars,以及 230 名开发者的奉献和参加。

这个在孵化初期只有 4 位外围开发者的我的项目,是如何在开源后一步步精进和优化,以至取得万人青眼?Harbor 开源背地的经营,又有哪些独到之处?

本期 WeOpen Talk 开源人物专栏,腾源会将对话 Harbor(企业级容器镜像仓库)创始人及维护者、腾源会导师张海宁,为大家分享 Harbor 在开源摸索实际中的心得和方法论。以下内容为张海宁的自述。

二、Harbor 的胜利不只是「偶尔」

Cloud Foundry  是云原生畛域一个「鼻祖」级的我的项目,也是业界首个开源 PaaS 平台。咱们从 2012 年开始经营 Cloud Foundry  中国开发者社区,从那时起,在行业内打下了良好的大众根底。那些沉闷在 Cloud Foundry 社区的敌人,在各行各业从事云原生畛域的工作,和咱们造成了良好的单干关系。

得益于在 Cloud Foundry 社区积攒的教训和口碑,2016 年,咱们公布开源我的项目 Harbor 后不久,就在行业中推广开来。很多敌人十分喜爱 Harbor 我的项目,并口口相传,Harbor 我的项目的用户规模也越来越大。

从这个角度看,Harbor 能迅速在云原生社区站稳脚跟,并失去大家认可,与之前打下的坚实基础密不可分。


Harbor 我的项目的 GitHub 页面

除此之外,咱们对国内本土化的用户群体也做了重点反对。像大家罕用的容器和 Docker 工具,在过后根本都是全英文界面。Harbor 从第一个版本开始,就提供了中文的界面,播种了大部分国内用户的赞叹和青睐,也助力了我的项目的发扬光大。

从某种意义上讲,Harbor 在刚开源的时候或者是「运气」比拟好,恰好满足了过后云原生的需要,而且同期间相似的我的项目比拟少,市场算是一个蓝海。过后的国外社区有一两个镜像仓库我的项目,在 Github 上有 5、600 个 Stars,但得益于在国内受到用户的欢送,很快咱们就青出于蓝了。

所以,Harbor 成为首个 CNCF 中国开源我的项目有肯定的必然性,除了它满足了云原生用户的需要之外,也离不开咱们之前在业内的积攒,以及用户的反对和认可。


2020 年 6 月,Harbor 开源我的项目从 CNCF 毕业

三、开源我的项目的成长须要足够的「中立」与「凋谢」

当咱们决定应用和参加一个开源我的项目时,首先思考什么?从我的教训来看, 最须要重点考查的就是这个我的项目是否由中立的社区来保护,而不是仅有一两家公司在驱动和运作

我的项目的参与方少,意味着风险性较高,一旦主导方退出,或者不再保护我的项目,那么使用者就会面临诸多的问题。同时,还会着重评估我的项目是否有足够多的参与方,和中立的运作机制,最初再决定参加这个社区或者应用这个软件。

换句话说,社区的参与度和我的项目自身的中立性是开发者的一个考查因素。 如果心愿我的项目有更多的贡献者和参与者,足够的凋谢和中立是很重要的一个考量点

Harbor 晚期在 VMware 中国研发核心进行孵化时,只有 4 位小伙伴。在退出基金会之前,Harbor 我的项目的经营并不是十分正规,规定也不太清晰。


Harbor 我的项目晚期团队成员

从 2018 年退出 CNCF 基金会后,咱们学习到了一些更系统化、规则化和制度化的做法:比方定期举办社区会议,将我的项目倒退的 Roadmap 公开在 Github 上提供给大家探讨等。

我的项目激励更多的社区成员投入到 Harbor 的开发过程中来,让他们有渠道参加 Harbor 的共建。在开发每个 Harbor 的新版本前,咱们会定期向社区用户收集性能需要,并将所有性能列表在 Github 上共享进去,公开征集意见和探讨,通过集思广益失去更多更好的反馈。

在咱们对性能点的优先级和可行性进行评估后,最终会输入开发列表去领导理论的开发,这是社区合力的成绩,也是心愿尽可能让更多的人参加进来。遵循这类准则,咱们进行了一系列的改良,流程和制度都有了比拟大的变动,也更适宜整个社区来独特推动。

两年后,Harbor 积攒了大量的用户,特地是 2020 年毕业时,知名度曾经相当高了。每年都会有好几家合作伙伴找到咱们,基于  Harbor 发展各种单干。

在捐献给 CNCF 基金会后,Harbor 成为一个由基金会治理的我的项目,不再是 VMware 主导和参加,而是由 Linux 基金会(CNCF 是 Linux 基金会上司的基金会)这样的中立组织来驱动。这也使得更多的开发者和公司违心退出进来,吸引到了更宽广的用户。

所以说, 用凋谢的心态去接收更多的奉献人员,是十分重要的思维 。有些开源我的项目的保护人员比拟激进,不承受任何内部的奉献,没有给社区成员参加和奉献的机会,这是关闭的思维形式,如果我的项目只有本人在主导,那我的项目和社区只会式微渐止。

反观,如果用凋谢容纳的心态,让更多人有机会参加进来,他们会更违心为我的项目做奉献,从而推动整个我的项目的倒退和迭代,我感觉这是开源我的项目的健康成长须要重点思考的事件。


2018 年中国首届 KubeCon 大会上 Harbor 团队的主题演讲

四、开源我的项目运行的 3 个外围要害因素

让一个开源我的项目运行起来,并领有短暂的生命力,我认为有这几个外围要害因素

第一,要解决用户的某一类问题 。我的项目的功能性和适用性,要有肯定的广度和需要匹配度。

第二,要建设一个可能让更多人参加进来的欠缺的机制 。目前,Harbor 社区有很多小伙伴在踊跃地宣传开源,也有一些小伙伴想参加并做出奉献,为此咱们组织了若干个工作小组,来负责 Harbor 的不同的方面。

例如,近程复制工作小组、镜像破绽扫描工作小组、多架构小组等。每个小组均由社区成员组成,而后独特来推动我的项目的倒退。当然,咱们也会有 Maintainer 来组织和推动小组的工作。

第三,须要社区对我的项目继续地保护和推广 。任何有生命力的我的项目都离不开撑持它的社区。社区中次要须要这几方面的人员:

第一类是软件自身的开发人员,次要是 Maintainer 和 Contributor;第二类是真正的用户,软件如果没有用户,就没有生命力,用户是我的项目维系社区中的最重要的一类成员。用户的需要、反馈和要求最终都会转换成对软件的认可,推动软件性能本质的倒退。

因而,社区其实是由 Maintainer、开发人员和用户来组成,这几类人员有着不同的诉求,而经营社区其实就是要满足各方的诉求,达到共赢的目标。


Harbor 社区线上会议

五、精彩 QA 集锦

Q1: 这几年能够很显著地看到云原生类的开源我的项目层出不穷,从 K8s 到 Istio,再到 Knative……据统计,CNCF 在 2020 年就接收了 35 个我的项目退出基金会,还有多个我的项目毕业或升级。在这种增长下,您是如何对待云原生开源这么炽热的起因以及目前云原生开源造成的格局与趋势?

张海宁: 咱们在 2012 年开发和推广了开源 PaaS 云平台 Cloud Foundry,是业内第一个 PaaS 的开源我的项目,云原生 Cloud Native 就是从 Cloud Foundry 的那个时代缓缓成型的。

过后 Cloud Foundry  的我的项目次要是由 Pivotal 公司在主导经营。他们总结了云原生的一些特色,将云原生、微服务等一些相干名词确定了下来。起初大家都用这些概念作为在云外面跑利用或者开发利用时必须的一种伎俩,一种技术或者一种能力。

到明天,云计算的概念曾经深入人心,能够说大部分的企业和用户都在思考怎么在云上跑他们的利用,云的各类利用模式也曾经比拟成熟。云原生之所以越来越炽热,是因为越来越多的人心愿在云上开发利用或者部署利用,从而催生了大家对云原生技术的需要,心愿可能在云平台或云环境里将利用开发和运维得更好。

我感觉开源其实从云原生这个角度上讲,更多的是适应了另外一种需要,可能帮忙利用更快、更容易地推广,帮忙它能被更多的人去承受和驳回,是一种比拟敌对的形式。之所以很多云原生畛域的我的项目都是开源的,是因为只有开源能力让我的项目走得更远、影响力更广且更易被宽泛地承受,这是相辅相成的起因。

Q2: 您是如何对待目前开源的一个环境和所处的一个阶段?您感觉有哪些时机和挑战?

张海宁: 目前国内在开源上的投入曾经比早几年要更多了。以前大家对「开源」的概念探讨较多的是 IP 爱护或者反盗版等一系列问题。通过这几年的宣传和布道,开源文化曾经取得了越来越多用户的认可,开源在肯定水平上可能帮忙软件实现自主可控、翻新等一系列的要求。

我接触过国外的开发人员和参加到开源社区的人员,能很显著的感触到他们其实曾经很习惯开源的文化了。例如,他们看到咱们的软件不好用,会被动地去反馈需要或者问题给咱们,如果他们有能力修复的话,也会把修复的代码奉献给咱们。这能够说是「标准化」的开源社区的参加形式。

然而,国内用户给咱们的反馈并不是很显著,有的人可能用完或者改良完了就本人留着了,藏着掖着没有回馈回来给社区。所以他人碰到同样的 bug 或者问题,没方法重用已修改过的代码,依然须要反复的造轮子。在这个问题上国内依然须要一些工夫去教育或者推广,来让更多人去理解到这个模式,是一种双向互动和共赢的过程,让开源在国内可能更加深入人心。

尽管比照国外咱们依然是有肯定的差距,然而我能看到国内的开源大环境曾经开始越来越向好,这是好的景象。但并不是每个公司和开发人员都有这样的思维形式,还须要一些工夫缓缓地去习惯和适应,使更多的人可能意识到开源文化的本质。

我十分心愿国内的高等教育大学里能有开源的常识遍及课程,能让学生从学校外面就能理解到这样的文化,可能参加到社区中,这是比拟好的一种做法。社区有布道师敌人在鼓吹开源文化以及开源思路,这些都是很重要的。因为可能去教育和去影响更多的人来参加到开源工作外面去。如果从学校就能把这个思维理念建设起来,那就更好一些。因为大部分的工程师都是从学校里走进去的,除了学习技术之外,如果可能增设开源类的课程,给大家解说开源的思维和文化等等,能进步整个业界工程师的开源素质。

Q3: 对一些想要参加 Harbor 的一些「老手」小伙伴怎么可能更好的参加到社区中,你有哪些比拟好的倡议?

张海宁: 参加开源我的项目就是要跟我的项目的 Maintainer 以及社区成员去更多地去交换,达成对我的项目的共识,能在参加我的项目奉献和开发的过程中使所减少的性能、批改的代码、社区的规定和要求与整个社区踊跃地对齐,可能让大家像一个整体去开发,而不是单兵作战的状态。


由 Harbor 维护者和贡献者撰写的《Harbor 权威指南》

目前 Harbor 曾经有一套较为欠缺的文档给到开发者,去年咱们组织我的项目的 Maintainer 和 Contributor 撰写了中文版的《Harbor 权威指南》在国内的社区流传和浏览,包含怎么去参加社区、怎么参加开发,怎么去建设开发环境,怎么实现测试以及怎么合乎我的项目要求等一系列的形容。欢送感兴趣的敌人参考一下。■

采访嘉宾介绍:

张海宁 ,现任 VMware 中国研发核心技术总监,中国首个原创 CNCF 开源我的项目——Harbor 云原生镜像仓库创始人及维护者,联邦学习 FATE 开源我的项目技术委员会 Board 成员,腾源会导师,腾讯云最具价值专家 TVP,《Harbor 权威指南》、《区块链技术指南》、《区块链核心技术和利用》作者。

腾源会(WeOpen)是腾讯云成立的汇聚开源我的项目、开源爱好者、开源领导者的凋谢社区,致力于帮忙开源我的项目健康成长、开源爱好者能交换帮助、开源领导者能施展首领价值,让寰球开源生态变得更加凋敝。

正文完
 0