华为鲲鹏:这份技能图谱是给开发者们的见面礼

1997 年,Eric S. Raymond 在《大教堂和市集》一书中预测,参与开源的自由开发者会在传统的闭源软件主导的阶层化世界中胜出。事实上他的预测是对的。Gartner 的一项调查显示,有 99% 的组织在其 IT 系统中使用了大量的开源代码,“市集模式”展现出前所未有的繁荣景象。在开源的世界里,流传着这样一句话:社区重于代码。它强调的是:一个健康的社区远比良好的代码重要。如果代码消失, 一个强大的社区可以重写它;但是, 如果一个社区不健康, 代码最终也会失败。

建一个强大的开发者技术社区,是华为云一直在着手去做的事。

1

鲲鹏开发工程师技能图谱上线 Github

回顾研发鲲鹏芯片这些年走过的路,每一步都与开发者面临的痛点息息相关:2004 年,华为开始投资研发芯片,历经 15 年,投入超 2 万名工程师,形成了以“鲲鹏 + 昇腾”为核心的基础芯片族,这些年华为云陆续发布了基于“鲲鹏 + 昇腾”的 112 款云服务,涵盖了 IaaS、PaaS、EI、数据库、安全、IoT 等领域,从开发者的痛点出发,去解决他们在技术实践中遇到的难题。

在今年 9 月华为 HC 全联接大会期间,华为 Cloud & AI 产品与服务总裁侯金龙在《鲲鹏展翅,昇腾万里,力算未来》的演讲中提到:华为战略投入“鲲鹏 + 昇腾”双引擎,开源操作系统、数据库和 AI 计算框架,开放主板,通过软硬协同释放算力潜能,实现普惠 AI。

而在昨天上海 QCon 全球软件开发大会的现场,华为与极客邦科技、开源社区代表三方共同发布了鲲鹏开发工程师技能图谱,并将该图谱发布到 GitHub 的开源项目的托管平台上,采用开源的模式进行升级和维护。

鲲鹏开发工程师技能图谱是什么?

简单说,它是一份操作指南,可以帮助开发者快速、全面地了解鲲鹏开发全貌,轻松开启鲲鹏开发之旅,同时指引开发者从鲲鹏社区获取开发所需技能及资源。

该图谱由五大主要部分构成,分别是软件开发、开源基础软件、鲲鹏社区、鲲鹏软硬件、鲲鹏云服务与解决方案。其中,软件开发包括:开发语言、安全、应用移植、应用开发四部分;开源基础软件包括:平台、开源数据库、操作系统、存储、Web、中间件、大数据;鲲鹏软硬件包括:华为鲲鹏处理器、硬件、操作系统、软件栈;鲲鹏社区包括:Hello 鲲鹏、软件栈、鲲鹏学院、鲲鹏应用市场、联合运营伙伴等;鲲鹏云服务与解决方案则聚焦鲲鹏云容器架构、行业解决方案等,全方位地帮助开发者了解鲲鹏、使用鲲鹏、加入鲲鹏社区

图谱采用开源模式运营和维护,定期发布迭代版本,鼓励开发者根据自身需求与实践提出 Issue,由华为专家和鲲鹏社区的开发者共同协助解决。并且该图谱还鼓励开发者根据自身最佳实践提交 PR,丰富图谱。

2

鲲鹏开发工程师技能图谱是一个敲门砖

在国内要做开源社区并非易事。发布鲲鹏开发工程师技能图谱就是一块敲门砖,让开发者打开鲲鹏社区的大门,愿意交流,感受思想碰撞的魅力,并愿意贡献自己对于图谱的想法和思考。

纵观国外对于开源社区的建设,或许会给我们一些启示。InfoQ 记者专访 CNCF、OpenStack、Ceph 开源基金会的代表,看看他们是如何评价鲲鹏社区与鲲鹏开发工程师技能图谱,以及基于他们的经验,如何在国内建设一个完善的开发者社区。

CNCF 基金会开发布道师

Donald Liu

中国开源云联盟副秘书长、Ceph 中国社区联合创始人

耿航

OpenStack 基金会中国社区经理 李昊阳

Q1:对于鲲鹏生态与开源社区之间的合作,您有怎样的期待?

CNCF 基金会开发者布道师 Donald Liu:软件吃掉世界,而开源软件在现代的应用开发占的比重已经超过 80% 。另外,开源在指令集架构(ISA)和芯片等传统硬件行业也越来越受欢迎,开源对生态的重要性可想而知。我期待鲲鹏生态与开源社区之间建立相互可持续发展的关系,开源社区的技术被应用于鲲鹏生态的解决方案,企业获得盈利,将参与和再投资回到开源社区,并聘请开发者在社区工作。

OpenStack 基金会中国社区经理李昊阳:今年有幸参加了 2019 华为 HC 全联接大会,又受邀参加本次活动,也了解了一些华为云鲲鹏的基础背景,很开心看到国内的领先厂商在技术领域的持续引领及推动发展。生态系统的建设不是一朝一夕,往往会花费数年的时间,开源技术以及开源社区对于一个新兴架构或是新型平台而言,是其生态系统建设的土壤以及加速成熟化的环境。相比闭源技术天然具备的一些繁文缛节,开源社区可以帮助鲲鹏平台被更快速以及更广泛地被认知和使用。同时,华为云对于鲲鹏生态在开源社区的投入,也会增加华为在行业技术的中的长期影响力以及声誉。这些附加价值是开源社区被越来越多的行业领先的公司所拥抱的原因之一。

OpenStack 社区很期待与鲲鹏社区的合作,以及欢迎鲲鹏的资深开发者们参与到社区贡献中来,带动 OpenStack 运行在鲲鹏平台上的发展。OpenStack 社区在 ARM 架构上经过了很长时间的发展和努力,目前社区的测试环境也包括了一部分 ARM 架构的服务器。OpenStack 从 Rocky 版本开始已经全面支持 ARM 架构的服务器。我很期待这部分工作能够随着鲲鹏生态的发展,以及鲲鹏技能图谱的发布,推动这部分开发尽快移植到鲲鹏平台上。

中国开源云联盟副秘书长、Ceph 中国社区联合创始人耿航:开源是一个很好的助推器,这就如同大教堂模式和集市模式一样,所以我对鲲鹏生态目前借助开源文化、开发者生态来打造自己的技术生态还是很认可的。我很期待鲲鹏能够与众多主流开源软件及社区合作,让更多的开源软件在鲲鹏上大放异彩,从而加速鲲鹏生态的完善以及落地。

Q2:就您的经验来看,国内的开发者社区建设和国外的有哪些不同?

CNCF 基金会开发者布道师 Donald Liu:应用从开发到在生产环境里运行,假定参与者包括开发者和负责决策的领导,越来越流行的方式是由开发者作为起点开始技术选型。国外有不少 CTO 平常的工作之一就是做开发。参与开发者社区,很多时候就是构建解决方案的第一步。在发展鲲鹏社区以及跨社区的同时,有些共同社区是可以多参与协作的,例如在 ARM64 的部分,也希望能多支持开源社区的构建和发展。

OpenStack 基金会中国社区经理李昊阳:国外的开源社区以及开源文化已经发展了很多年了,相对而言,国内的社区以及开源文化比较年轻,在近几年呈现了高速发展的态势。越来越多的科技公司拥抱开源,并理解技术共享以及技术贡献对于公司的技术储备、行业影响力以及中长期战略的重要性。在高速发展的过程中,可以看到国内的开源社区是非常活跃的,比如在日常社区活动的规模上,可以看得出国内的规模都比国外的要大(参与者多,公司分布广)。

另一方面,参与社区建设的国内开发者们,问问题会比较多,表达观点以及技术输出会相对少些。所以会呈现出一种状态,就是技术单向输出,而不是更好的、双向交流的状态。

对于鲲鹏社区,近期我看了下鲲鹏的论坛,看到了很多有技术含量的帖子。很希望鲲鹏社区能够多开展一些线上线下的开发者集会,提供平台去推动双向交流,最大化地激发社区参与者的技术分享和参与的热情。

中国开源云联盟副秘书长、Ceph 中国社区联合创始人耿航:基于我对国内运营开源社区和推广开源软件的经验来看,我觉得国内做开源非常不容易,主要还是在于理念和环境。大部分都是追求短平快,对于开源很难有战略性的投入。不过近些年来,开源逐步得到国内企业以及相关组织的认可,同时中国开源云联盟在今年也发布了国内第一个针对开源软件的“木兰宽松版协议”,那么对于鲲鹏社区的发展,我有两方面的建议:一方面,开源生态建议适配主流开源软件,逐步完善开源生态,从而可以落地,例如,让相关的鲲鹏开发者参与到社区去驱动开发及建立联合开放实验室等;另一方面就是国内的生态也应逐步兼容完善,适配国内软 / 硬件,如财务、OA、数据库、office 等。

Q3:在做开源社区时会遇到哪些难点和痛点?如何让开发者真正融入社区?

CNCF 基金会开发者布道师 Donald Liu:参与开源社区跟平常工作的关系要是能更好的定义对生态发展是一件好事,最近不同公司以不同方式的成立开源办公室以及设立倡导者职位是好的方向。鲲鹏生态,包含着云的生态、Kubernetes(K8s)的生态、Linux 的生态和 ARM64 的生态。华为在构建华为云鲲鹏的开发者生态的同时,希望会继续甚至是加强在现有生态的参与,让他们也能在熟悉的环境,了解和享受到鲲鹏的独特价值。我期待鲲鹏生态和开源社区之间实现相互可持续发展。

OpenStack 基金会中国社区经理李昊阳:以我目前观察的一些现状,会发现国内的开源社区合作开放性会有一些局限。大家在经营发展各自的开源社区,会对于其他社区的态度表现为竞争和防守,而非开放合作。对于技术的选择和观点有时候是“非黑即白”的二选一。这也是我一直在努力推动国内开源技术以及开源社区间“无边界协作”的共建生态的一部分原因。希望能够鼓励国内的开源技术开发者们更开放的合作,以及拥抱互赢共创生态的理念。鲲鹏社区是一个很好的开始,很希望鲲鹏社区能够支持“无边界协作”的理念,开放平台和技术交流,鼓励社区开发者,跨社区开发以及成为社区与社区,技术与技术整合的桥梁。OpenStack 社区很乐意推动社区开发者在鲲鹏平台上做技术实现以及测试验证,丰富多架构体系的支持,比如从跨社区的技术分享开始。

中国开源云联盟副秘书长、Ceph 中国社区联合创始人耿航:关于在中国做开源的难点和痛点的话我觉得内外部都有,从内部的角度,开源这个事情一定是要上升到企业战略层面,不然很难去推动决策。中国开源云联盟每年都会举办开源云黑客松,虽然玩家很多,开发者很多,但是参与的企业、开发者始终是那些熟悉的面孔;而外部的因素,主要在于开发者、用户的参与等。

建立开源社区,首先是搭建完备的开源社区体系,同时制定相关的一些推进战略,如开发者生态(用户、企业合作伙伴、学生等)、社区生态等,中长期来说,要持续推进并完善鲲鹏开源社区生态,同时辅以 MKT 手段扩大自身项目影响力和扩大开发者社区激活社区参与度。我相信未来鲲鹏社区也会拥抱主流开源社区,比如建立联合实验室等,让中国的开发者可以参与测试、开发,真正地融入社区。

鲲鹏开发工程师技能图谱是一个很好的开始,是国内开始进一步关注开源社区并加快建设更加完善的社区生态的开端。这条路并不好走,但是华为云,一直在路上。

目前鲲鹏开发技能图谱已发布,GitHub 地址:

https://github.com/geektime-geekbang/HuaweiCloud-KunPeng-Skillmap

2020 年华为开发者大会将于明年 2 月 11-12 日在深圳举办。作为华为面向开发者群体的最顶级盛会,将全面展示华为在云计算、人工智能、5G、IoT 等多个领域,特别是智能计算双引擎鲲鹏和昇腾的最新创新与最佳实践,为开发者提供最想要的技术干货分享、最前沿的技术洞察、最有价值的学习认证、最开放的交流平台和最好玩的互动活动,敬请期待!

点个在看少个 bug