写点什么

生态建设对开源项目的重要性 | Apache APISIX Summit Asia 2022 圆桌回顾

  • 2022-05-21
  • 本文字数:3262 字

    阅读完需:约 11 分钟

生态建设对开源项目的重要性 | Apache APISIX Summit Asia 2022 圆桌回顾

2022 年 5 月 21 日,Apache APISIX Summit ASIA 2022 开启第二天的议程。围绕“生态建设对开源项目的重要性”这一主题,王晔倞(API7.ai 合伙人兼技术副总裁,Apache APISIX Committer)担任主持人,与周小四(青云科技容器事业部负责人)、王宇博(亚马逊云科技开发者关系总监)、吴晟(Tetrate 创始工程师,Apache SkyWalking 创始人)三位嘉宾展开了一场圆桌讨论,讨论话题包括:“社区、用户、开发者对于开源项目的意义”、“完善的开源生态系统对于开发者和用户的意义”、“开源生态发展在国内大环境下的态势与挑战”。

 

以下是圆桌讨论的内容节选:

 

“社区”、“用户”、“开发者” 是不是开源项目的三大核心?什么是开源生态系统中最重要的组成部分?

 

吴晟:首先,我们很难给社区进行一个明确的定义。大家可能会参照 Apache 软件基金会看待 Apache 顶级项目 Community 的角度,或者参考 Community over Code 或 The Apache Way,但这个问题没有所谓的标准答案或正确答案,可以有更多元的想法。

 

至于如何做一个开源项目,我觉得用户是最重要的。通过开发并开源项目,大家希望把项目里沉淀的技术经验和思考分享出来,希望产生共情。如果一个开源项目有非常多的用户组、用户群体,那它就是一个非常好的开源项目。

 

最后回到开发者,开发者和社区是相辅相成的。开发者数量的实际意义取决于开发者对这个社区来说到底有什么价值。一个开源项目只要有大量的开发者,就有很好的生态,就具备成为优秀开源项目的最重要要素。

 

王宇博:在我看来,社区、用户、开发者组成了一个闭环,而这个闭环则构成了整个开发者生态系统。

 

首先,社区可以通过技术层面赋能,让开发者对开源项目有更深入的了解,同时提高开源项目在开发者当中的影响力。随着更多的开发者参与到开源项目,使用开源项目,他们会逐渐学习到开源项目更深入的使用方式与实践,从而进入更深的使用层次,更好地为开源项目做贡献。

 

其次开发者会接收到来自社区的反馈,反馈会帮助开发者持续改进开源项目。同时这些开发者和用户也可以代表开源项目,在更广泛的开发者群体中生成和输出技术内容,构建更加完善的开发者生态体系。

 

在整个过程中,社区始终扮演着非常重要的角色。在金字塔型的社区体系中,每一位开发者或者用户都可以更便捷地找到他们需要的知识,找到更好的交流途径,进一步在社区中找到自己的位置,明确自己的成长和发展路径。

 

周小四:一个开源项目如果有很多用户,它就是一个好项目,但社区和开发者同样重要。关键还是要看开源项目的性质和所处阶段。

 

在项目初期,我认为用户最重要。把项目做出来并开源,然后收获很多用户,这是该阶段的首要事情。到了之后的新阶段,可能就需要更多的开发者加入进来,参与共建。

 

有句话叫“良禽择木而栖”,社区同样重要,我们在选择开源项目时,都会提前进行一番调研。社区是不是健康?社区的生态好不好?社区会不会持续发展?这些都是我们会考虑的因素。

 

开源产品的生态发展和完善会给开发者和用户分别带来什么?

 

周小四:我们经常说“站在巨人的肩膀上做事情”,在开源界尤其如此。在完善的云原生生态里,开发者拥有更多更灵活的选择。通过集成现有产品或功能,更快速地交付合格标准的产品,完善的生态也使得用户的需求更容易得到满足。

 

吴晟:开源软件的生态可以说是开源软件的根基,很少有单个开源软件会做全所有功能,这不符合开源工程师做精做深的原则。对有追求的开发者来说,如果想深究底层的东西,成为开源软件的开发者可能是唯一出路。因为开源软件已经应用到大部分场景,而且上层做的东西大多是漂亮的界面、更完善的权限管理功能和更好的集成。在开源项目里,你也可以跨越地域、文化、公司等边界找到志同道合的人,碰到非常多在某个领域有建树的技术大牛。对开发者来说,这个过程是非常有价值的。

 

在我看来,开源软件的用户是影子用户,有时连开发者都不知道这些软件用在哪或怎么用,往往是有商业公司背书的社区会发掘真正的用户案例,如果是比较离散的社区,可能就很难拿到这个数据。所以用户会有自己的圈子,用户和用户之间会有交流,而这些交流可能和原始的软件开发者有一定的距离,他们有各自不同的生态。用户会更关注如何极致地使用产品,他们会发挥想象力和集成能力,利用创新性把软件应用到更合适或对他们更有利的场景中。

 

王宇博:针对这个问题,我想和大家分享几组数据。来自 Linux 基金会的数据显示, 62% 的开发者认为如果他们有更多的有偿工作时间为开源项目做贡献,他们会获得更大的成功,87% 的开源人士表示了解开源、使用开源和开发开源软件可以促进职业生涯的发展。也就是说开发者在完善的生态系统中可以获得一系列的自我提升,比如获得更多动手实践、自由实践的机会,利用开源软件和开源生态寻求更多新的机会,甚至打造全新的个人品牌。

 

此外,开源开发者的自驱力一般比较强,在开源软件的开发过程中,他们可以达到更高的技术水平,同时目标感和自主性也会驱动他们为开源软件的生态做更多贡献,促进整个生态系统的建设。

 

基于质量和回报两个因素,有越来越多的用户使用开源软件。Google 发表了一份关于现代代码审查的研究报告,数据表明开源项目每周花费 6.4 个小时审查代码,是非开源项目的两倍,严格的代码审查会吸引更多用户选择高质量的开源软件。在南加州大学马歇尔商学院的数据中,如果开源对业务产生贡献,那么使用开源软件的比例每增加 1%,生产力的提升就会达到 87 万美元。由此可见,使用开源软件可以让企业用户获得更大的回报。

 

在国内大环境下,开源生态发展的态势和挑战分别是什么?


王宇博:从整个大环境来看,开源软件得到了越来越多的开发者、用户和企业的认可。如何把开源软件真正用起来,利用开源软件创造更多价值,实现降本增效?这是我们目前需要重点考虑的问题。

 

此外,如何把开源融入到企业的 IT 或者全盘战略与规划之中?企业的开发者、用户与项目如何使用开源进行进一步的战略整合,使得开源成为一个自上而下的企业意志行为,帮助企业抵消更多的不确定性,获得更好的成果、更高的收益?这也是一个值得考虑的问题。

 

周小四:因为有布道师在给企业做培训、大部分企业开始使用开源产品和技术、资本市场看好开源项目,再加上国家政策大力倡导开源,国内的开源环境整体在向好的方向发展。

 

但我认为国内的开源环境也面临着巨大的挑战。首先,开源文化在国内的普及度还不高,很多人不遵守开源规范。其次,国内开源项目的生态做得非常不好,开源本是为了提高效率,但国内同质化的开源产品比较多。再者,我们要关注开源项目的质量和可持续性,很多开源项目做一段时间就停止了,功利性色彩比较浓,这也是国内开源项目存在的问题之一。

 

此外,开源项目尽量还是全球化,大多数国内项目只面向国内,国内项目做全球化确实也有点难度。最大的问题还是商业化的问题,我们不能忌讳开源项目商业化,商业让开源持续可发展。但确实在国内做开源项目商业化,挑战会非常大。

 

吴晟:在我看来,中国开源在短期内不会有非常大的变化。中国的工程师普遍缺少工程师文化,绝大部分工程师把编码当成一个任务或者说是工作。目前有个主流逻辑是只要这个东西有人用,我就可以做个一模一样的东西。工程师在迎合这个逻辑的同时开始进行模仿,而不是创造。

 

我觉得这是我们心里最本质的一个困难。如果我们以这样的路径走下去,无论是做开源还是做商业化,都会面临一个极大的困难——即如何做价值解释。而且 99% 以上的项目同质化程度非常高,不光是内部同质,也有全球同质。我们在创新方面,在解决特定问题方面做得还不够。绝大部分团队也没有找到一个适合自己的协作方式,在中国想把两堆人轻耦合在一起合作,是一件非常困难的事。 

总结


目前开源运动正在如火如荼地进行中,全球氛围下开源软件都散发出了独一无二的魅力。开源社区从一开始就不是一个单一元素的组成,而是汇集了开发者、用户与社区多角度交流的平台。有了多样化能力和人文的加持,才能使开源社区朝着更全球化与持续性的蓬勃发展。

 

点击链接了解更多峰会内容:https://apisix-summit.org/stage/main-stage

2022-05-21 13:002140
用户头像
蔡芳芳 InfoQ 总编辑

发布了 818 篇内容, 共 607.0 次阅读, 收获喜欢 2822 次。

关注

评论 1 条评论

发布
用户头像
社区、用户、开发者
2022-05-22 09:18
回复
没有更多了
发现更多内容

Kosmos实战系列:有状态服务(MySQL)跨云灾备实战

畅聊云原生

基于「迭代分支」的 API 开发模式

Apifox

程序员 后端 Apifox 分支 API 开发

GaussDB(DWS)中的分布式死锁问题实践

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

ATorch:蚂蚁开源PyTorch分布式训练扩展库,助你将硬件算力压榨到极致

AI Infra

人工智能 aiinfra

Ampere 年度展望:AI 浪潮改变计算格局,预测 2024 年三大趋势

科技热闻

IPQ6018 vs. IPQ8074: A Selection Guide for Wireless Network Processors

wallysSK

一起学Elasticsearch系列-写入和检索调优

Java随想录

Java 大数据 Elastic Search

Vue 2最终版本 v2.7.16 已发布

南城FE

JavaScript Vue 前端开发

Flink Has Become the De-facto Standard of Streaming Compute

Apache Flink

大数据 flink 实时计算

移动端防截屏录屏技术在百度账户系统实践

百度Geek说

移动端 企业号12月PK榜 防截屏录屏 百度账户系统

带你了解决策树模型

小齐写代码

极狐GitLab 集成 sonarqube 实践指南

极狐GitLab

绝地反击,不做背锅侠!

尚思卓越

运维 堡垒机

Kuasar成为CNCF官方项目,探索容器运行时新纪元

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟

好用的IOS数据传输工具:FonePaw iOS Transfer中文激活

胖墩儿不胖y

Mac软件 iOS数据传输工具

第33期 | GPTSecurity周报

云起无垠

测试开发 | 深入了解监督学习(Supervised Learning)

测吧(北京)科技有限公司

测试

基于大语言模型LangChain框架:知识库问答系统实践

博文视点Broadview

提升用户体验--了解和探索无障碍性测试

QE_LAB

无障碍 测试技术

【坚果派】JS开源库适配OpenHarmony系列——第一期实操

白晓明

OpenHarmony JS开源库 ArkTS开源库

WuBit:聚合BRC20资产交易,续写铭文市场新浪潮

BlockChain先知

《网络安全事件报告管理办法(征求意见稿)》正在公开征求意见

行云管家

网络安全 网络安全法

打破界限:一体化数据驱动低代码平台,构建业务生态新纪元

天津汇柏科技有限公司

低代码

Go 1.22新特性前瞻

Tony Bai

golang Go 语言 go1.22

软件测试/测试开发丨软件测试的基本概念

测试人

软件测试

Nacos 荣获 GLCC 优秀社区,同时 2.3.0-BETA 发布,欢迎试用

阿里巴巴云原生

阿里云 云原生 nacos

2024年度腾讯犀牛鸟精英人才计划开放申请

极客天地

生态建设对开源项目的重要性 | Apache APISIX Summit Asia 2022 圆桌回顾_文化 & 方法_蔡芳芳_InfoQ精选文章