7月QCon广州站2022,关注Web 3.0、数据架构选型、数字化转型等热门话题,点击了解 了解详情
写点什么

独家专访字节跳动开源委员会:定位“资源中台”,不会为开源设立强 KPI

  • 2022 年 5 月 19 日
  • 本文字数:4242 字

    阅读完需:约 14 分钟

独家专访字节跳动开源委员会:定位“资源中台”,不会为开源设立强KPI

近日,字节跳动发布一封内部邮件,官宣开源委员会正式成立,这意味着开源战略在字节跳动的重要程度进一步提升,同时,字节跳动开源将从原来由工程师自发驱动逐步走向有组织的“正规军”。InfoQ 第一时间联系并专访了字节跳动开源委员会主要负责人张鑫、王剑,本文将全面解读字节跳动开源委员会如何构建、运作以及未来将朝着什么方向发展。

为什么要成立开源委员会?

 

从 2015 年开源的Rcproxy项目开始,字节在开源层面的贡献已经有了一定积累。这几年间字节陆续向社区开放了多个经过内部业务验证的开源项目,比如现代Web开发框架Modern.js微服务中间件CloudWeGo高性能分布式训练框架 BytePS联邦学习平台Fedleaner等。根据内部调研统计,字节目前已经对外开源了五十多个项目,按照技术领域分类,其中项目数量排在前三的分别是基础架构、AI 平台和音视频领域。

 

与此同时,字节也向社区反哺了多个主流开源项目的新特性。近日,由谷歌开源的应用开发框架 Flutter 正式发布3.0版本,官方博文中就提到“字节跳动是 Flutter 的主要用户,估计其有约 80 个基于 Flutter 的应用”。除了是主要用户,字节也是 Flutter 社区的重要参与者,至今为 Flutter 相关代码仓库贡献的 PR 超过 80 个,还开源了Flutter 应用内调试工具 UME

 

在很长一段时间里,字节做开源更多还是由工程师的个人兴趣来主要驱动,但过程中其实也遇到了一些问题。2021 年 10 月,抖音前端团队宣布开源其设计系统和 UI 库 Semi Design,随后有网友指出 Semi Design 的代码中出现了友商同类产品的痕迹,项目陷入“抄袭风波”。虽然抖音前端团队工程师很快发表了致歉声明,但事件已经在开源社区引发热烈讨论。这让字节意识到,开源仅仅靠工程师的兴趣驱动是不够的,还需要引入公司级的策略、规范和流程机制。

 

王剑表示,这次字节成立开源委员会,首先就是希望能够更全面地推进开源合规流程,避免一些不该发生的问题再次发生;其次,当公司越来越大,有更多项目开源或计划开源的情况下,如何更有效地投入资源、更好地支持开源项目的发展,是成立开源委员会的另一个初衷;最后,开源委员会有助于在开源层面与行业内其他公司和组织建立更好的合作关系。

 

据张鑫介绍,从确定要成立开源委员会到开源委员会正式成立,期间大家用了半年左右时间来完成前期准备工作。

 

对内,由于字节前期各个团队自发推进的开源项目比较多,需要先完成内部开源项目的梳理和盘点;其次,基于之前已经开源的众多项目,字节内部沉淀了一些开源相关的流程规范,大家围绕这些展开调研,看看哪些是可以复用的,而哪些还存在不足。还有一块很重要的工作就是盘点人力,按照不同阶段看有哪些团队、哪些人适合来牵头展开相关工作。

 

对外,字节团队也做了一些调研,以借鉴业界的最佳实践经验。比如分析国内外云厂商,看大家做开源和商业化,跟云业务本身是什么样的一种关系;也研究了外部一些开源做得比较好的公司,看他们内部大概是怎样一个组织架构和角色划分。

定位“资源中台”,做好开源支持

 

当前字节开源委员会已经完成了整体架构的搭建和角色划分。由于大的开源项目往往需要长期投入,同时又需要协调公司内外很多资源,因此由字节跳动 CEO 梁汝波和两位技术最高负责人杨震原、洪定坤担任开源委员会的 Sponsor。在此基础上,由洪定坤担任开源委员会的主席,负责协调和支持开源相关事务,下设两个小组,分别是王剑负责的战略评审组和张鑫负责的治理运营组。

 

其中,战略评审组统筹开源战略制定与开源项目评审,比如对于开源项目,按照技术影响力分成不同层级,对应地制定合理的运营目标和价值体系。小组成员包括各个技术领域(如基础架构、数据、AI 等)的代表和 ToB 业务(主要是火山引擎和飞书)的代表。

 

而治理运营组统筹开源合规治理与开源运营,包括搭建整个开源运营的基础设施、做好开源文化和最佳流程的宣贯和落地,以及为重要开源项目提供一线运营和治理方面的帮助等等。小组成员由项目布道师、市场运营团队、开源法务,以及搭建平台和工具相关的同学等组成。

 

据了解,目前开源委员会在字节内部定位是一个相对独立的架构,它并不属于任何一个技术团队或业务团队。目前团队的运作方式是虚实结合,既有实线,100%全职做相关工作的同学,比如市场运营、法务、安全合规等;同时也会有虚线的合作和复用,比如相关平台工具的搭建就会由分散在不同研发团队的同学来贡献,最大程度地复用各个团队已经做过的工作。

 

合作和复用是开源委员会展开工作的重要准则之一。未来在字节各业务线开源项目的运作中,开源委员会将扮演“资源中台”的角色,核心是为开源提供更好的支持。过往,字节开源的很多项目已经有相关团队和人员在负责,新成立的开源委员会跟各个开源项目维护团队之间整体会是紧密协作的关系。

 

首先,各项目维护团队会和战略评审组一起,逐一对项目做评审,看看有的项目是不是应该加大投入力度或者有更高的目标;其次在治理运营方面,项目维护团队需要持续维护项目技术层面的迭代,而治理运营组负责提供更加体系化的支持,比如宣发渠道统筹、内容策划、社区开发者关系维护等。

 

对于字节后续要开源的项目,开源委员会也会统一把控开源的流程。开源之前,需要各项目团队先完成内部梳理和自审核,再提交给开源委员会做进一步审核。审核关键点主要包括代码质量、合规检查、安全风险、知识产权等,这些都事关开源红线,所有开源出去的项目都要遵守一定的流程和规范。在此基础上,开源委员会也会根据项目规模、项目类型等因素,对项目影响力做一个预判。对于重量级的项目,在运营、用户增长等方面投入的资源相应会更多一些。

不为开源项目设 KPI

 

除了为开源项目提供战略和治理运营上的支持,对开源项目的技术影响力做出合理的评判,也是开源委员会的重要职责之一。那应该通过哪些维度去评判一个开源项目做得好不好?字节一直秉持的原则就是不为开源项目设 KPI。张鑫和王剑都认为,开源要对别人有用、有价值,才是可持续的,但凡设定了硬性 KPI 或者将开源跟考核强关联,就很容易导致动作变形。

 

在字节,衡量一个开源项目主要还是看重它的长期价值,避免 KPI 导向,也不会把商业变现作为唯一目标,以免影响中立性。但是完全没有评估指标也不行,因此开源委员会会设定一些“北极星指标”,来综合评估开源项目做得怎么样。比如看整个开源项目在行业的市场占有率,这是跟这个开源项目到底有没有人用强相关的一个指标;比如看开源项目的贡献度,包括项目被 fork 的情况、第三方开发者的数量和应用的数量,如果是一个足够好的项目,自然会有很多贡献者愿意参与进来。除了使用的广度,也会关注使用的深度,比如在行业里有没有企业用户在深度使用这个项目,是否沉淀了一些标杆案例出来。

 

归根结底,“北极星指标”更多是围绕这个开源项目是不是能实际落地、有没有人愿意用、能不能在生产环境或者实际业务中产生价值来展开的。在张鑫看来,这些都比 GitHub 上简单的 Star 数更有意义,同时,即使是这些“北极星指标”也不会变成强 KPI,而是作为辅助评估的工具和引导工作方向的手段。

 

在王剑看来,开源的规则制定还应该尽量减少“打扰度”,“是不是存在一种可能,公司相关的流程规章制度设置得太复杂,导致大家做开源要投入很高的成本,最终很多人就不想开源了。”

 

目前开源委员会相关的流程都做得很轻,还是以提供能力和资源支持为主,希望在保持个人自发性的同时,通过消除障碍鼓励大家更多参与开源。甚至在很多情况下,字节一直更鼓励大家直接对开源社区上游提交贡献,免去走公司内部流程的麻烦,这对于很多内部同学来说其实也是一种鼓励。

未来规划

 

对于想要参与开源社区的普通开发者,开源从不设置任何门槛,但对于想要发展得更好的开源项目,还是有一定门槛的。字节做开源原本一直是以个人自发驱动、项目自主生长为主,未来想要系统化地管理好开源项目,成立开源委员会只是第一步。

 

接下来,开源委员会的短期目标会侧重于运营治理工作的体系化建设,包括拉通公司内部不同的协作团队,让已有开源项目的实践经验和已经建立的平台工具充分打通和共享,还有展开开源规范、文化和最佳实践的培训和宣贯,以及开源合规要求的制定和统一落地。在这个初始阶段,张鑫负责的治理运营组扮演着非常重要的协调管理的角色。

 

据张鑫透露,目前字节正在筹划加入 Linux 基金会发起的 OpenChain 项目。OpenChain 主要致力于为企业在其供应链中遵循众多不同的开源许可证提供标准。后续字节将依据 OpenChain 的标准和规范,为开源项目提供更多持续性的合规保证,避免踩坑。

 

从中长期目标来看,开源委员会希望能打造出一些精品开源项目,以提升字节开源的整体影响力、创造更大的社会价值。在张鑫看来,过去有的公司会推出非常多开源项目,导致精力比较分散,字节更希望做的是少而精,在更长的时间里打造出一些真正具有全球影响力的开源项目。

 

而这就要求开源委员会要能从内部项目中识别、判断、筛选出值得开源且开源后能够提供更好的社会价值的项目,并推动这些项目开源。这是王剑负责的战略评审组要着重考虑的。

 

常规的项目开源流程可能是,一些对开源有兴趣的同学自发地想说“我这个项目能不能开源”,然后开源委员会对这个项目做审核,如果满足一定的标准就可以开源。但还有一些情况是,工程师对于开源没有足够的认知,觉得内部项目很重要应该不能开源,或者工程师了解项目在公司内部的影响力但无法判断项目对外的影响力,就不会主动提出要把项目开源出去。

 

王剑表示,未来开源委员会除了对大家主动提交的项目做审批,也会增加选拔的动作。开源委员会已经引入公司内部不同技术领域的专家和团队 Leader,大家需要主动去思考各自领域有哪些工作是可以开源出去并且真正对社会有价值的,选出来之后再拿到开源委员会一起讨论,看到底能不能开源、如何做好开源。

 

比如数据相关的技术能力一直是字节的强项,据透露,后续字节计划推出一些数据平台方向的精品开源项目,目前相关工作还在梳理中。未来字节开源委员会这一全新组织将会为字节、甚至是整个开源界带来什么样的新变化,值得期待。


 

每一位开源参与者、每一个开源项目都可以成为舞台上的主角。

 

新的一波开源浪潮正在席卷中国,【开源聚光灯】是 InfoQ 重点打造的开源主题栏目,旨在通过新闻、系列访谈、用户调查、迷你书、视频等形式深入观察开源运动,围绕开源的价值和开源开发模式,与投身开源的每一个个体共同探讨开源发展现状,照亮每一个开源舞台上的参与者。

 

如果你有开源故事或对开源的深刻观点想要分享、或开源项目想要寻求报道,欢迎联系微信 caifangfang842852(请注明姓名和来由)。

2022 年 5 月 19 日 13:301658
用户头像
蔡芳芳 InfoQ高级编辑

发布了 695 篇内容, 共 365.9 次阅读, 收获喜欢 2419 次。

关注

评论

发布
暂无评论
发现更多内容

【TcaplusDB知识库】RESTfulAPI. for List表-[PB] ListDeleteAllRecords.介绍

TcaplusDB

天数智芯携手龙蜥社区,以高性能算力助力开源发展

OpenAnolis小助手

Linux 开源 芯片

对话 SphereEx 创始人张亮:开源与商业并行 做时间越久越有价值的事情

SphereEx

在线脑图思维导图生成工具

入门小站

工具

SENSORO基于TDengine助力基层政府打造数字化应用标杆

TDengine

数据库 tdengine 开源 物联网

移动办公时代,政企为何首选私有化的即时通讯平台?

WorkPlus Lite

Kafka消息存储机制

编程江湖

DevOps进阶(一):DevOps 软件开发工艺解读

No Silver Bullet

DevOps 2月月更

AMD EPYC服务器芯片将涨价10%~30%

WorkPlus Lite

Client-go源码分析之SharedInformer及实战| 社区征文

雪雷

Kubernetes Informer 新春征文

四款你必须知道的前端开发工具

编程江湖

TcaplusDB君 · 行业新闻汇编(六)

TcaplusDB

前端培训:3 个可能有用JavaScript 类

@零度

JavaScript 前端开发

会声会影如何制作视频影片-影片制作过程三步骤

懒得勤快

【TcaplusDB知识库】RESTfulAPI. for List表-[PB] ListDeleteAllRecords.介绍

TcaplusDB

动态加载不适合数组类?那如何动态加载一个数组类?

华为云开发者联盟

Java 数组 动态加载 数组类

PingCode Wiki 权限设计之ACL

阿杰

权限系统 权限控制 acl 权限设计

这个Dubbo注册中心扩展,有点意思

捉虫大师

dubbo 注册中心

Java培训:封装的含义及实现方式

@零度

JAVA开发 封装

虎符交易所Hoo研究院:Open Sea上大火的NFT项目—Azuki

区块链前沿News

NFT Hoo 虎符交易所 Azuki

GIF 格式解析之表情包是如何动起来的

CRMEB

大数据培训:Hadoop HDFS 实现原理

@零度

hadoop 大数据开发

上市商业银行推进智慧银行建设,全方位赋能零售业务数字化转型

易观分析

商业银行 智慧银行

TcaplusDB君 · 行业新闻汇编(三)

TcaplusDB

一站式交付体验:云效+Kubernetes

阿里云云效

阿里云 Kubernetes 云原生 持续交付 一站式平台

你会写java脚本吗?-JShell

蜜糖的代码注释

Java 后端开发 2月月更

程序员必知的8个Java开源IDE工具

编程江湖

ide

Apsara Stack 技术百科 | 可运营的行业云,让云上资源跑起来

阿里云情报局

阿里云 科技 混合云

IAST 最佳实践 | 利用洞态做开源组件的安全治理

火线安全

TcaplusDB君 · 行业新闻汇编(五)

TcaplusDB

Worktile 权限设计

阿杰

权限控制 rbac 权限设计

独家专访字节跳动开源委员会:定位“资源中台”,不会为开源设立强KPI_文化 & 方法_蔡芳芳_InfoQ精选文章