Linux 之父出席、干货分享、圆桌讨论,精彩尽在 OpenCloudOS 社区开放日,报名戳 了解详情
写点什么

专访骨灰级开源爱好者吴晟:开源没有黑魔法,两年后泡沫将会破灭

  • 2021 年 3 月 04 日
  • 本文字数:4196 字

    阅读完需:约 14 分钟

专访骨灰级开源爱好者吴晟:开源没有黑魔法,两年后泡沫将会破灭

在刚结束的 2020 年,国内先后有超过 11 家开源软件领域企业获得了新一轮的资本助力,融资纪录创下近年来开源赛道最高。开源的热潮,已然兴起。然而,当越来越多的资本、企业等产业界人士开始越来越关注开源之时,一些隐藏在开源光鲜外衣背面的阴暗,也随之而来。

 

1 月 下旬,Elasticsearch CEO Shay Banon 通过公司官网发布了将 Elasticsearch 开源协议由 Apache 2.0 变更为 SSPL 和 Elastic License 的消息,而这样做的原因,主要是因为被 AWS 免费抄袭代码,最终无奈之下做出选择。而在此之前,MongoDB 同样也因为被 AWS 等头部云厂商免费集成代码最终被迫选择更改协议。

 

在国内,开源软件侵权的事件也屡见不鲜,甚至于有过之而无不及。“工程师文化的缺失,导致了本土工程师创新创造能力的匮乏,因此往往也缺乏相应的知识产权保护能力与意识。”在亲历了两次开源侵权的维权之后,SkyWalking  创始人兼项目 VP 吴晟如此评价。

 

作为一名骨灰级开源爱好者,吴晟所创建并担任项目 VP 的分布式程序监测软件 SkyWalking 是国内唯一一款由个人开源成为 Apache 基金会的顶级开源项目。除此之外,其本人还是 Apache ShardingSphere 项目联合创始人,并且担任 Apache 基金会旗下 APISIX 、ECharts、DolphinScheduler 等多个顶级开源项目 PMC 成员与孵化器指导者。

 

长期从事开源的实践积累,使得吴晟对于开源领域的认知更加地深刻而清醒。在其看来,目前国内开源生态侵权严重的现象,主要是由于大多数工程师对于开源协议认知薄弱,以至于不懂得如何遵守协议并保护开源软件知识产权,而这样的文化氛围,正在破坏着本土开源生态的健康发展。

 

在开源日趋火热的当下,国内开源社区治理及行业发展正面临的挑战还有哪些?下一步国内开源社区的发展还缺乏什么?近日,InfoQ 记者就相关问题对吴晟进行了采访。

SkyWalking 的诞生

2012 年至 2013 年间,当时吴晟所在的亚信科技与另外七家 IT 技术厂商共同为中国联通做一个大型项目,由于项目过于庞大且牵扯的技术提供商过多,各提供商的代码在相互调用后,往往会出现多应用间代码问题定位难、协作效率低下等问题,并最终导致工程队伍之间推诿扯皮现象严重。

 

出于项目发展需要,当时吴晟等人便尝试在项目中引入并运用了应用性能监控技术(APM)。随后到了 2015 年初,为了通过实际做项目的方式帮助新员工培训编程技能,吴晟便将当时帮助中国联通做项目时用到的 APM 程序放到了 GitHub 之上,希望通过开源的方式鼓励参与者认真写好代码。

 

经过 5 年时间的发展,如今的 SkyWalking 已经发展成为了一款集收集,分析,聚合和可视化来自服务和云原生架构数据的开源观察平台,能够让工程师能够清晰地认识自己的分布式系统。

 

在技术架构方面,SkyWalking 主要由提供给相关人员操作使用的 UI 界面、底层存储、探针以及可观测分析平台四部分组成。其技术架构图如下:



架构图的左下方是目前(v8.4.0),SkyWalking 支持的数据源,包括多语言探针,浏览器,Service Mesh 生态和主流的 Prometheus、Spring Sleuth 等多种数据源,并随着版本升级,更多的数据源也会很快被加入进来,比如 Filebeat,Fluentd,OpenTelemetry 等等。从传输协议上,SkyWalking 常用 gRPC 和 HTTP,针对场景支持推和拉两种数据上行模式,并在特定场景下,支持 Kafka 这样的 MQ 来做为数据传输管道。

 

架构图的中部和右上,展现了 SkyWalking 集群中节点的两种角色以及分布式聚合的流计算引擎。同时支持 ElasticSearch,mysql, TiDB, H2, InfluxDB 等多种存储引擎。在未来的 2021 年底,更是会迎来 SkyWalking 的 APM 专用数据库 BanyanDB。

 

左侧,用户可以通过常用的 GUI 和 CLI,基于 GraphQL 查询协议读取和展现监控数据;而右侧展示了提供告警和数据导出这种典型的对外系统集成模式。

 

总体上,SkyWalking 提供了全面的数据接入方式,以及针对 Trace、Metrics 和 Log 三大维度的分析处理和展现能力,这也是他成为 Observability Analysis Platform(OAP)的原因。

做开源最核心的是具备产品思维

从最初的源码开源,到成功从 Apache 基金会毕业并发展至今天的技术架构,这一过程中,SkyWalking 先后经历了四次几乎重头开始重写代码的大型版本迭代,最终才取得了如今的成绩。

 

“开源最核心的是要具备产品思维。”将产品思维融入到做开源项目的过程中,这成为了吴晟将 SkyWalking 打造成国内唯一一款由个人开源成为 Apache 基金会顶级开源项目之后,如今回头反思时最为看重的经验。

 

“在某种角度上,社区  Leader 一定要是一个非常懂技术的人。但从另外一个角度上看,社区  Leader 更重要的还是要把开源项目看作一个产品或者能够售卖的商品。”吴晟表示。

 

从 SkyWalking 所处的 APM 行业现状来看,目前业内绝大部分的 APM 厂商喜欢用大数据技术、Hbase、spark 甚至于 Storm 这一类技术来实现自己所需的功能,但 Skywalking 与这些产品的区别却是,他是一款完全自研的 APM 技术。

 

在吴晟看来,APM  作为一个应用性能监控的维护型工具,本质上属于一个二三线级别的系统,这样的情况下,最好的解决方案就是保证自身的结构尽可能地简单和稳定,而不是因为过于复杂反而要让用户去担心它出了问题还要花费精力去维护。

 

通过自己去写一些轻量级的计算引擎,以满足自身需要解决的问题,SkyWalking 的通用性或许没那么强,但是却获得了针对一个项目最大的灵活性和能够最好满足项目需求的能力,而且部署起来也更加地简单方便。

 

“站在监控这个产品上,APM 产品是去监控别人的,但是如果最后你变成了这个系统里边最复杂的,还需要运维人员返回去监控你,那么你的价值何在呢?”吴晟表示。

 

在其介绍中,早期 SkyWalking  在发展的时候也采用过大数据、Hbase、spark 等技术,但是最后的选择是全部推翻重写,而目的就是为了向使用者提供一套简单易用的轻量级 APM 产品。

开源没有黑魔法,解决实际问题才最关键

由于同时在 Apache、CNCF 等国际顶尖的开源基金会都有任职,跨基金会的经历,让吴晟见证了更多国际上成功的开源项目,因此,他也更加地懂得了工程师文化对于一个开源项目能否成功的重要性。

 

而正是有了这种工程师文化理念的支撑,也才有了 SkyWalking 围绕 APM 业务需求出发的四次完整的代码重写。

 

伴随着 2020 年开源赛道投融资事件的骤然提升,业界对于开源的热情一度高涨,越来越多的企业竞相推出了自家的开源项目,但是当大家在谈开源的时候,说得最多的往往是宣传策略、品牌设立等话题。但在吴晟看来,这些虽然重要,但却不必要。

 

“国内从来不缺有品牌营销能力的资源团队,但是国内成功的开源项目还是非常少的。”吴晟表示。当前业界对开放源码的热情高涨,需要警惕危机,过分追求热点,最终陷入困境。

 

事实上,由于代码开源的原因,绝大多数的开源产品在新功能出来之后,很快地就能够被别人学习和借鉴,这导致的结果是,开源本身不应该将快速发展和微创新的领域做为核心竞争力,并因此就开辟独立的开源项目。

 

“开源最忌惮的就是比拼快和性能,如果你一味地追求快,这导致的结果是,你的功能出来后,别人也可以通过某种优化,快速地追赶上来,这就会导致你丧失掉生存的空间。”在吴晟看来,做开源只有持续地保持创新,才能不断地走下去。而这个过程中,如果一味地靠 KPI 以及营销带来的数据指标指导开源项目发展,而不是回归开源项目需要解决的问题本身,这将会成为开源项目发展的灾难。

 

“ SkyWalking  从第一个版本到现在经历了四次几乎是完全重写代码的版本升级,如果是一开始就采用这种比较急功近利的方式推进,SkyWalking  不可能走到今天。”吴晟表示。

 

在其看来,开源其实并没有太多的黑魔法,它只是一种以开源分布式协作的方式解决一部分人真实生活问题的朴素方式。无论是大名鼎鼎的  Linux  系统,还是其他任意一个开源项目,他们最终获得成功的原因,往往都是解决了某种客观存在的问题。

国内开发者需要敢于进行开源维权

在  Elasticsearch CEO Shay Banon 宣布公司将开源协议由 Apache 2.0 变更为 SSPL 和 Elastic License 之后,业界对于开源软件侵权事件的关注,上升到了新的高度。而在参与了两次有关于 SkyWalking  侵权事件的维权之后,吴晟对于国内开源生态的发展及维权事件的处理有了更加深刻的认知。

 

虽然近几年国内的知识产权保护制度一直都在改进,但是与西方国家相比,国内仍然还有非常大的差距,开源项目保护机制匮乏,使用者自觉遵守开源协议意识薄弱等方面的问题层出不穷。如果这些问题长期得不到解决,就将一直损害着国内开源贡献者的个人利益。

 

“绝大多数中国的程序员往往并不知道如何基于不同类型的开源协议,去遵守与之对应的程序规范。他们甚至于都不知道选择不同的开源协议对于开源软件意味着什么,更不知道什么样的 License 是合理的。”大多数工程师在使用开源软件时的不规范行为,正不断地破坏着开源项目。

 

在吴晟看来,国内开源领域面临的这些挑战,本质上是一种工程师文化缺失的表现。“国外许多的工程师其实跟艺术家都有着某种共同的特性,他们都在通过自己的创造性能力和创新精神,进行着自己的实践。但是在国内,工程师的这种精神是不被认可的,他们绝大部分的工作是在完成一些重复、标准化的工作,并没有太多的技术创新过程。”吴晟表示。

 

工程师文化的缺失,直接导致了大多数工程师对于其他人的劳动成果同样缺乏尊重,甚至于对于开源协议遵守规约的认知和遵守意识都极其薄弱。

 

在另一方面,除了工程师对于开源协议遵守意识薄弱之外,国内开源领域许多开源项目的创始人或维护者往往因为碍于面子或找不到途径等问题,很少就开源侵权事件进行维权反击。这导致了国内的开源生态愈发难以发展出一个健康的发展环境。

 

事实上,对于许多大公司而言,他们的高层领导对于开源侵权事件的重视度是非常高的,只要你能联系上他们,他们也会非常积极地配合你解决问题,更多的侵权问题往往是底层员工使用不规范导致的。

 

“国内的开源项目维护者们需要敢于积极参与维权。”吴晟表示。在其看来,开源和理想和高尚没有什么太大的关系,它只是一帮喜欢做技术的工程师,在跨实体、跨国家、跨语言文化背景下,共同解决一个全球通用问题的合作方式。勇于维权才是参与开源、保护开源的正当方式。

 

“我不希望大家把开源当作是一个理想主义。2020 年出现了许多开源项目,但是如果解决不了实际的问题和正当的运营维护手段,我相信在 21 年或者 22 年,大家很快就会发现,想在开源上成功并没有那么容易。”吴晟表示。

2021 年 3 月 04 日 08:085678

评论 4 条评论

发布
用户头像
在我看来,自由软件被免费商用导致开发商不爽这种的事情,恰恰反映了开源派这种以商业模式来理解自由软件的思维存在根本缺陷,它本质上是社会化的、高度发达的生产方式与现有商业结构之间的矛盾。真正的解决方法不是去束缚自由软件,甚至修改协议让自由软件变成不自由软件(否则,照这样继续下去,连 SSPL 也迟早要让开发商不爽,然后他们又继续更换更不自由的协议),而是打破这个商业怪圈。当然,这仅靠自由软件运动自己是做不到的,它必然要是一场彻底改变整个社会的变革的一部分。
2021 年 03 月 28 日 04:13
回复
用户头像
开源软件需要有一个好的商业环境,国内这种知识产权意识,真不适合开源软件的发展。或许会有成功的,但肯定极少。什么时候,IT企业和程序员都有了付费意识,或许才是开源企业真正能活的轻松的时候。
2021 年 03 月 06 日 14:22
回复
用户头像
100%付费100%开源, 开源和商业并不冲突
2021 年 03 月 05 日 00:16
回复
用户头像
我觉得开源不应该当成一种文化去研究,而更是一种商业模式。大家不要总是把开源捧在神坛。
2021 年 03 月 05 日 00:10
回复
没有更多了
发现更多内容

【LeetCode】有效的字母异位词Java题解

HQ数字卡

算法 LeetCode 8月日更

【SpringBoot技术专题】「JWT技术专区」SpringSecurity整合JWT授权和认证实现

浩宇天尚

spring security springboot JWT 8月日更

fil有投资价值吗?投资fil的方式有哪些?

区块链 分布式存储 IPFS fil FIL投资

摊牌了!哈利波特的“隐形斗篷”就是我想要的

百度开发者中心

人工智能 AI 最佳实践 行业资讯

导播上云,把 “虚拟演播厅” 搬到奥运村

阿里云视频云

阿里云 视频处理 视频直播 视频云 云导播

出现吧,Python Web 菜谱系统的首页,不会前端技术,也能做

梦想橡皮擦

8月日更

架构实战营-模块二作业

俞立夫

架构实战营

基于java springboot体育馆预约微信小程序源码(毕设)设计开发

清风

Java 小程序 源码 毕业设计

Hadoop生态系统

Mike

史上最全Linux可观测最佳实践分享!建议先收藏~

观测云

云计算 Linux

Compose 中的主题

Changing Lin

8月日更

Android ANR应用无响应

W🌥

android 8月日更

复旦大学附属中山医院钱琨:健康医疗大数据时代下的智慧医院建设

星环科技

大数据 医疗 数据能力

如何将知识引入机器学习模型提升泛化能力?

华为云开发者联盟

机器学习 算法 数据 模型 物理学

走!跟着浪潮云洲去挖矿

浪潮云

云计算

Vue进阶(三十八):v-for 中 :key 到底有什么用?

No Silver Bullet

Vue key 8月日更

合约量化交易系统开发技术

薇電13242772558

区块链

零代码以“王者荣耀”为例解析设计七原则

华为云开发者联盟

软件 设计原则 王者荣耀 单一职责

能源区块链研究 | 加密行业碳抵消有助于大众接纳比特币吗?

CECBC

“遇见”未来“编程”语言,面向组件编程,送给在校学生

清风

Java 小程序 毕业设计

Hadoop安装与常用操作命令

Mike

堡垒机、防火墙以及跳板机分别是什么?

行云管家

云计算 运维 防火墙 堡垒机 跳板机

AOC萌新探索:搭建和体验在线AOC环境

华为云开发者联盟

Python 网络 自动化运维 AOC 网络设备

MySQL 系列教程之(五)DDL 操作:建库建表

若尘

MySQL 数据库 8月日更

为什么区块链是互联网的100倍?

CECBC

30个Kafka常见错误小集合

王知无

2021,编程语言如何选择?

程序员鱼皮

Java c++ Python JavaScript Go 语言

区块链技术:为什么说波卡能加速区块链行业的发展?

CECBC

技术加持、服务先行:北鲲云超算平台助力生命科学领域研究与发展

北鲲云

MySQL安全加固方法分享

Simon

MySQL 数据库 数据安全

博文干货|5张图带你快速入门 Pulsar 的存储引擎 BookKeeper

Apache Pulsar

pulsar bookKeeper

GPU容器虚拟化:用户态和内核态的技术和实践详解

GPU容器虚拟化:用户态和内核态的技术和实践详解

专访骨灰级开源爱好者吴晟:开源没有黑魔法,两年后泡沫将会破灭_开源_周文猛_InfoQ精选文章