开源是软件国际的根基,字节跳动看重参加开源的长时间价值,关于开源的情绪一直是敞开、鼓舞的,愿与全球协作同伴一起完成生态繁荣。

本文由字节跳动开源委员会办理运营负责人,火山引擎副总裁张鑫在 OSPO Summit 上的主题讲演整理而成。

字节跳动的开源历程与价值思考

字节跳动的开源进程

字节跳动的开源进程大体经历了三个阶段:从运用、到参加、再到自动开源。在字节事务打开的前期,咱们就广泛采用开源技能来快速打造技能中台,推进了字节跳动包含抖音、头条等事务的打开。跟着开源运用的深化,咱们依据本身的事务场景对开源技能进行优化改善,并反应到社区傍边,逐渐开端参加开源奉献。当奉献累积越多之后,字节的同学们就开端尝试愈加体系性地将一些本身的技能打破拿出来构成一个完好的项目,回馈给开源社区,也便是自动开源阶段。

到 2022 年,字节跳动现已开源了超越 50 个项目,跟着自动开源项目的逐渐增多,咱们发现咱们在各个技能领域单点的开源了许多技能和工具,但公司对开源仍是缺少顶层的战略思考和设计规划。关于开源出去的项目,也缺少杰出的运营,关于怎么运作一个开源社区、怎么培育开发者关系方面十分缺少经验。别的遇到的一个瓶颈便是怎么保证开源合规、不碰红线。

在这样的布景下,公司决定成立 OSPO 这样一个中台安排,主要有以下几个方面的目的:

  • 拟定公司级开源战略:明确开源的价值、方针与战略,保证有体系、有方针地打开开源作业。

  • 明确开源项目评定标准:筛选聚集出高价值的重点项目,保证重点开源项目的资源支撑与效果产出。

  • 强化开源办理标准:优化批阅流程,保证运用 / 奉献 / 自研开源等各类开源实践的合法、合规、合理。

  • 做好内外部开源布道:对内提高开源认知与教育,对外展示开源效果、打造社区影响力。

开源在公司内定位成一个长时间的、可以促使咱们本身技能进步,一起可以推进职业技能打开的作业。字节跳动 OSPO 也成为了公司内的一个中台部门,安排架构上并不从属于某个事务单位,由 CEO 梁汝波和杨震原、洪定坤牵头,并分为战略评定和办理运营两个小组,一起背面还有许多的协同团队一起支撑。

咱们期望字节开源可以坚持长时间主义,做好少而精的精品项目,在详细落地时坚持几个准则:

  • 关于开源结果的价值考量以愈加长时间的北极星目标代替短期 KPI

  • 打造精品项目优于广泛掩盖

  • 用户价值优于商业变现,注重处理用户的真实问题

  • 安全和合规是底线

开源的价值思考和实践

整体来看,一个开源项目在通过商场影响力和接受度的检测之后,是可以获得一定的“商业价值的”。这儿的“商业价值”咱们以为不是短期的商业变现,而是包含了通过开源提高技能影响力,可以更好地丰厚开发者生态,支撑事务打开,招引人才等。通过开源以及社区的参加,也可以更好地推进内部的技能立异,防止凭空捏造和职业脱节。只要敞开出去,才干和职业高手过招,才干接受客户的真实场景的检测,加快技能演化。

在运用开源阶段

开源软件和技能可以协助公司处理根底设施问题,加快核心事务迭代;接入开源标准可以下降招聘门槛。但在过程傍边也会遇到法律、技能、安全等方面的危险,一起也会遇到盲目拉取分支,和上游脱节等问题。

在咱们的实践中,首先需要处理的是开源软件供应链存在着安全、运维和合规等危险。做好开源合规办理,在运用开源中最为根底和关键的作业。为了处理这一问题,咱们从三年前就逐渐开端了开源合规办理作业,主要从 “根底建设”、“合规办理”和“训练宣贯” 三个方面打开。

根底建设包含在准则流程层面起草公司层面的开源方针,发布开源许可证合规指引等办理指引文档,打造“一人一号”的开源合规扫描平台。

合规办理方面,咱们逐个事务线打开开源合规专项办理,进行全量代码库房扫描和蓝军定向发掘等,一起也安排了开源合规相关的训练课程。

开源合规的落地包含了十分多的细节,团队的构成也包含了法务、安全、工具、合规、QA、研制、产品多个功能。现在团队现已引进业界成熟的 OpenChain 开源合规国际标准,构成配套的方针、准则、流程以及内外部宣贯机制来保证高效合规的运用、奉献和自动开源,然后从开源软件供应链的视点保证公司在开源社区的可信度。

在奉献开源阶段

参加开源社区奉献可以提高开源软件质量,协助构成良性循环,添加企业员工认同感,招引或留住人才,也可以让内部的团队接触优异的外部开发者,提高团队技能能力。开源是立异的摇篮,对开源做奉献,可以协助企业更有战略地规划事务和技能未来的打开。

在这个阶段常见的误区是以为奉献开源便是奉献代码,其实开源的奉献不局限于代码,包含了技能文档、大会分享、安排 / 参加社区活动等。一起也会遇到缺少对社区行为准则、标准等的误解而形成的冲突。

字节跳动开源委员会致力于在企业界部宣扬上游奉献的价值,正在探索可以更好地激励开发者,培育养成上游奉献习惯的办法。

以体系技能与工程团队(STE 团队)为例:

STE 团队一直致力于体系技能领域的研究与探索,一起积极参加开源社区建设和技能奉献,围绕内核、虚拟化、操作体系等领域进行社区协作和技能立异,将多年的技能优化经验反应给社区,与开发者共建杰出的根底软件开源生态。包含向 Linux 内核社区提交 450+patches、向 Open BMC 社区提交 270+patches,多名同学也成为了开源社区的 maintainer。

此外,团队还向社区奉献或保护多个独立模块,提出的 HVO 计划现已合入社区,处理了 Linux 内核内存办理冗余等难题,获得业界认可。

2020 年,STE 内核团队向 Linux 内核社区正式开源面向云原生场景的下一代高性能设备虚拟化结构 VDUSE,为容器和虚机提供一个统一的 I/O 虚拟化层。这套计划也现已在字节的云原生场景大规模布置。通过一年时间,VDUSE 在 Linux 5.15 版本被正式合入,现在依托 Linux 内核,团队在虚拟化、云原生、eBPF 等技能方向上也在持续探索着。

做操作体系这类根底软件不是一时热心,是需要长时间投入的。大浪淘沙沙去尽,沙尽之时见真金。

—— 张宇,字节跳动 STE 团队负责人,开源委员会 TOC 战略评定组委员

在自动开源阶段

开源可以协助推进技能标准,企业可以通过在核心社区的奉献度、开源社区活动、开源基金会奉献等方面构建技能影响力。别的,开源社区的需求也可以协助引进更多用户打磨产品,衍生出更多的应用和服务,构建开发者生态,助力核心事务打开。在这个阶段也要留意防止的误区是,开源本质上要保证“揭露”、“运用”、“修正”、“分发”,也要防止开源唯技能论。

在自动开源方面,字节跳动通过这几年的堆集,在 AI、大数据、架构、安全、以及前端和音视频领域有了不少的项目,如企业级云原生微服务架构的中间件集合 CloudWeGo,存储核算分离的数仓引擎 ByConity,高性能 transformer 加快引擎 lightseq,分布式深度学习通信结构 BytePS,云原生项目合集 KubeWharf 等。本年咱们在 AI/ML 编译器、隐私核算等领域也会有十分有价值的项目开源出去,期待各位的参加和支撑。

最终引证一下字节跳动的使命“激起发明,丰厚生活”,其实在开源领域也适用。咱们期望可以通过开源和 OSPO,激起更多技能立异,以及社区和职业界的潜能,让更多的人和安排可以享受发明的过程及价值,通过开源项目将个人的立异主意更好地聚拢起来,然后提高社区和安排的发明力。

如果说抖音、今日头条让亿万用户看到一个愈加丰厚多彩的国际,开源便是通过与更多人的协作协助更多人更好地自我提高和完成,丰厚无论是个别仍是安排生命的广度和深度。

期望可以和职业各位同伴有更多更深化的协作。

关于字节跳动开源委员会(OSPO)

字节跳动开源委员会(OSPO)是企业层面的协调员,旨在拟定战略,助力字节跳动开源的成功。OSPO 将完善开源软件办理体系,推进开源合规办理与开源运营,加快开源社区的生机和生长。

字节跳动开源公众号已正式启动。查找「字节跳动开源」关注。