大厂纷纷成立“开源办公室”,这背后有何玄机?

百家 作者:51CTO技术栈 2022-06-02 18:20:50

作者 | 武穆

审校 | 云昭


刚刚过去的5月,字节跳动在内部邮件中正式官宣了“开源委员会”的成立。其实,针对开源成立专门的组织机构,对国内的大厂来说已不是什么稀奇事,比如阿里巴巴早在2015年之前就成立了开源委员会,腾讯在2019年正式成立开源管理办公室,其他巨头如华为、百度同样早就成立了“开源办公室”。


至于国外的互联网巨头,他们在设立“开源办公室”(Open Source Program Office,简称 OSPO)这件事上,要比上面提到的国内大厂还要早,比如,早在 2004 年,谷歌就已经成立了自己的OSPO,这也是最早成立的一批OSPO。


跟这些大厂相比,字节的开源委员会的到来显得有点“晚”。


越来越多的公司成立OSPO表明,企业对开源越来越重视。而且,在国外,OSPO正在从IT公司向大学、政府和民间机构进行外溢,OSPO逐渐成为一种潮流。


但是,大部分人对OSPO认识却又少之又少。根据The New Stack、linux Foundation Reasearch和TODO(Linux基金会名下一个专门致力于普及OSPO的工作组)在去年9月发布的一项调查,没有成立OSPO的企业中,有35%的企业表示没有考虑过这件事,有28%的企业表示他们没看到成立OSPO所带来的商业价值,更有19%的企业表示他们从未听说过OSPO这个概念。


所以,我们有必要先弄清楚国内大厂设立OSPO的前因后果,才能对OSPO在我国的发展,有更客观深入的认识。




PART 01

从反对到拥抱

“开源办公室”兴起的背后




开源运动兴起之初,众多科技巨头采取了坚决抵制的态度,比如,据说当初微软曾禁止员工参与和阅读开源代码。究其原因,是大型科技公司与开源社区之间有着商业价值观层面的差别和冲突。开源倡导开放、共享的模式,对商业软件授权的盈利模式构成了挑战:毕竟,传统软件公司的成功在于闭源,而开源的软件是卖不出价钱的。


但随着IT界逐渐步入ABC时代(A指的是人工智能AI,B指的是大数据Big data,C指的是云Cloud),IT公司的商业模式也发生了变化,不再像以前那样单纯依靠卖知识产权或者是软件,卖服务逐渐成为重要的营收来源。卖服务这种商业模式牵涉的范围更广,这就促使IT公司在标准制定上要更主动。


当前的IT界,已经不是像过去那样,由很多公司一起成立一个标准规范,而是谁先做出来的开源项目被广泛采用,谁就在标准上更有话语权。


在51CTO技术群里,一位名为“紫竹”的网友也持有这个观点。他认为,企业开源是为了成为事实上的标准,掌握了标准话语权,就掌握了市场主动权、主导权。他还举了一个例子来说明这一点:谷歌自定义了一个格式KML,谷歌加入了GIS行业的OGC(开放地理空间信息联盟Open Geospatial Consortium的简称,是一个非盈利的国际标准组织,它制定了数据和服务的一系列标准,GIS厂商按照这个标准进行开发可保证空间数据的互操作)以后,KML成为了OGC的标准之一,以后的GIS产品几乎都要实现对KML格式的支持。如果KML不是OGC的标准之一,那就只有谷歌自己支持这个标准,谷歌地图、谷歌地球等产品的推动、服务的推广就不一定得到其他厂商、开发者、使用者的直接、友好支持。


在国内,企业开源还能获得其他好处。51CTO技术群里,一位名为“任霏”的网友指出,开源项目可以获得更多免费第三方支持服务,例如享受更大的代码仓库、更长的CI/CD执行时间、安全合规扫描服务、IDE工具等服务,企业内部可以基于开源版本再升级改造自己的闭源商业版本,在给予社区的同时也享受到了社区给予的服务。


这是IT巨头从反对开源到拥抱开源,态度发生180度大转弯的一个重要原因。


更何况,就算企业自己不做开源,也不能真的阻止员工接触开源。开发者参与开源,不光是基于开放、共享的“情怀”,还有一个相当重要的因素,就是他们能在开源中学到东西。


国外一个名叫“Macrae”的网友说,他在参与开源以前,从未写过PHP或HTML/JavaScript,更不知道SVN和后来的Git是什么。


无独有偶,阿里巴巴的技术副总裁贾扬清也认为,开源是一个很好的练兵场,开发者可以通过参与开源锻炼自己的技术能力,并且清楚知道自己的能力在什么样的层次上;另一方面,开源社区也会帮助开发者提高代码编写水平、设计能力和系统开发能力,这是一个双向促进的过程


虽说企业做开源可以依靠工程师的个人兴趣来驱动,比如阿里巴巴早期的Dubbo、Fastjson、Druid、Sea.js、Arale开源项目,字节的Rcproxy、Modern.js、CloudWeGo、BytePS、Fedleaner等开源项目,都是靠内部员工自发推动的,但仅凭工程师的兴趣和热情是不够的,不加以规范和约束往往会造成问题


去年10月,抖音前端团队宣布开源其设计系统和UI库Semi Design,随后有网友指出Semi Design的代码中出现了友商同类产品的痕迹,项目陷入“抄袭风波”。虽然抖音前端团队工程师很快发表了致歉声明,但事件已经在开源社区引发热烈讨论。接着到了12月,抖音的海外版TikTok因为违规使用 OBS等源代码,也被推上了舆论的风口浪尖。


一系列的事件这让字节意识到,做开源需要引入公司级的策略、规范和流程机制,全面地推进开源合规流程,才能避免重蹈覆辙。


另外,随着公司的规模越来越大,在有更多项目开源或计划开源的情况下,如何更有效地投入资源、更好地支持开源项目的发展,这也是开源委员会要达成的目标。


其他大厂成立OSPO的初心也差不多,比如腾讯内部成立了开源管理办公室,下设项目管理委员会、腾讯开源联盟和开源合规组三大组织,旨在自上而下地传递腾讯开源策略,自下而上地落地开源技术生态,同时,通过开放的开源评审平台,孵化和培育优秀的自主开源项目。




PART 02

“开源办公室”是一种什么样的存在?




OSPO作为一个不产出收益的办公室,编制普遍比较精简。换句话说,绝大多数企业的OSPO 其实是一个很小的团队


比如,在国外,谷歌OSPO经理Will Norris曾透露,相比于谷歌72000多名员工,他的办公室只有15名团队成员,其中包括了一个合规团队、两名律师、一个负责活动参与的外展团队和一个技术团队。


有的公司会采用“虚拟职位”的形式来负责OSPO的事务,即OSPO的职位是虚的,员工是在兼职干这件事,他们有自己的本职工作和实际部门。在“虚拟职位”方面,最典型的代表是 SAP,SAP在2018年初成立了自己的OSPO,将其开源项目办公室组建为一个虚拟团队,由来自不同领域的多个团队组成董事会。


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


尽管OSPO不直接产生效益,人员也尽可能精简,但其职能一点也不少,“麻雀虽小,五脏俱全”是对OSPO最贴切的形容。


总的来说,OSPO 最核心的职能包括以下几个方面。


首先,OSPO要监督公司开源合规性的各个方面。也就是说,当公司使用开源软件项目时,他们需要了解许可证和合规性,检查项目的运行状况,确保不存在安全漏洞;当公司为开源软件项目做出贡献时,他们需要确保没有知识产权问题,以确保公司的贡献能在项目中处于领导地位。


其次,OSPO是公司与外部开源社区之间的 “纽带”。公司的开源项目离不开与开源项目社区保持联系,比如苹果一直和K8S社区保持密切联系。但是,一些公司如果把开源项目社区视为免费劳动力的话,很可能会和社区的关系闹僵,如此,就需要OSPO协调好公司和开源社区之间的关系。


最后,OSPO还肩负培养公司开源文化的重任。阿里巴巴、字节的开源委员会中都有开源布道师的职位,而TODO小组的新调查中,近69%的参与者表示,在公司内培养开源文化是 OSPO的主要责任。





PART 03

成立OSPO

也许只是一个开始




大厂成立OSPO,初心是希望建立一套成熟的方法论帮助开发者更多地参与开源,贡献开源,并从组织上提供一系列支持与保障,但这不意味着有了OSPO,企业的开源之路就能顺顺当当地、自然而然地走下去。


就拿国内比较早成立OSPO的阿里巴巴来说,其在成立了OSPO后相当长的一段时间里,开源之路进展缓慢甚至停滞:阿里的早期开源项目Dubbo,甚至从2014年之后,两三年时间都没再更新过。这主要是因为,在这前后,阿里巴巴集团在纽约证券交易所正式挂牌上市,股票代码“ BABA ”。随后,阿里全力发力移动互联网,各项业务进入全面发展阶段,同时阿里也进行了组织架构的调整,以便内部开发者能将更多精力投入到业务研发中。


直到2017年,阿里才正式宣布将开源提升到集团战略高度。阿里之所以重新开始重视开源,很重要的一个原因是——客户的需要。2017年开始,阿里云的表现强势,阿里云的一些客户在上云之前习惯了使用Dubbo,希望能在使用阿里云之后能继续保持,这才让阿里巴巴在开源层面的声音越来越多。


从阿里的这个案例中,我们可以看到,只有企业的利益和开源有很大的交集,企业才会有动力持续推进开源项目


如果只是出于应激反应,或是模糊地觉得开源是未来软件发展的趋势,哪怕成立了OSPO,建立了一套规范和流程机制,也不能确保公司的开源不会流于表面。红帽公司将那些仅仅将代码公开到一个公共仓库的开源方式戏称为 “把代码砸到墙上(throwing code over the wall)”。


当然,如果把开源仅仅理解为做技术宣传,以吸引人才加入或者抢占市场,也有问题。


也许,云原生计算基金会首席运营官和Twitter前开源项目负责人Chris Aniszczyk曾说过的一句话,才是对企业开源的最好注解:“你绝不希望是自己开源项目的唯一贡献者。你是期望让公司以外的人为你的开源项目做出贡献的。归根结底,你永远没办法雇佣世界上的所有顶尖人才。”


换句话说,与外界人才保持沟通才是开源的精髓所在。




直播预告


一次了解DevOps与MLOps的异同之处与应用场景、企业如何利用DevOps & MLOps提高效率。特邀极狐GitLab架构师——刘巍锋、第四范式开源项目 OpenMLDB 研发负责人——卢冕,为大家详细介绍MLOps在极狐GitLab中的应用探索,以及第四范式OpenMLDB提供的生产级特征平台,如何在生产环境上线机器学习应用的解决方案。


6月5日14:00,不见不散

点击视频号卡片,预约直播



点击此处“阅读全文”查看更多内容

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接