难道苹果也要积极拥抱开源了?近日,苹果官网的一则招聘信息引发业内人士关注。
信息显示,苹果公司正在招聘开源项目工程师(open source program engineer),职位要求应聘者拥有多个领域的开源项目管理经验,岗位职责包括精简上游贡献的流程、创建自动化流程的工具、收集和报告衡量效率的指标、教育团队鼓励贡献和确定新项目。从这则招聘信息中,我们可以推断出苹果内部关注开源的新趋势。
“封闭”的苹果
在很多人的印象里,苹果的主要业务都与开源大相径庭。如苹果独一无二的 iOS 系统,在业内独树一帜,成就了苹果手机的今天。然而 iOS 不是开源的系统,甚至连应用市场都没有像 Android 那样放开。
很多熟悉苹果的人都知道,在苹果公司内部有着极为严苛的保密文化。“当木匠进入办公区的时候,员工们就知道有大事要发生了。木匠迅速修起了新墙,安装了门和新的安全设置。过去透明的窗户现在已经不再透明,其它房间则根本没有窗户。这被称为“禁闭室”:没有合理原因,任何信息不得流入或流出。”这是《财富》高级编辑 Adam Lashinsky 对苹果内部保密举措的描述。
“嘈杂声令员工感到不安,可能你并不知道发生了什么,但是又不能问。如果不是透露给你,那么就与你无关。另外,那些可以使你进入特定区域的证件,在新建筑落成后也不再有效。你所能猜测的是,一个全新的、高度保密的项目正在进行,而你并不属于知密范围。仅此而已。”
在苹果公司,保密文化是由内到外的,大到新品发布,小到项目进度,员工泄密就意味着被解雇甚至面临诉讼。也得益于这样的保密文化,每年的苹果新品发布会就像一部大片的首映礼,总是能够聚集全球的目光,这也为他们创造了价值不菲的人气。
回过头来看,苹果极致的保密文化似乎与开源的精神格格不入,那么如此“封闭”的苹果,却开始招募开源人才,是否预示着接下来他们会在开源界有什么动作呢?
苹果的开源贡献
事实上,与很多人印象中的不同,苹果近年来在开源界的动作不在少数。去年 6 月,全球顶级开源社区 CNCF(云原生计算基金会)宣布苹果成为其白金会员。苹果参与的 CNCF 项目包括 Kubernetes、gRPC、Prometheus、Envoy Proxy 与 Vitess,并于去年在 KubeCon + CloudNativeCon 会议上举办了 FoundationDB 峰会。与此同时,苹果高级工程经理 Tom Doron 也加入了 CNCF 的管理委员会。
去年 9 月,苹果又成为了 ASWF(学院软件基金会)的高级会员,成为继 Netfilx、AWS 之后加盟该开源组织的又一重量级成员,与其同期加盟的还有微软。ASWF 成立于 2018 年 8 月,由 Linux 基金会和美国影艺学院(奥斯卡金像奖的主办单位)牵头,致力于促进好莱坞对开源软件的使用。
苹果在开源领域的动作虽然没有像谷歌与微软那样引起太多的反响,但是近年来苹果确实对开源社区贡献了不少。简单列举几个比较知名的项目:
Web 浏览器引擎WebKit由苹果所有,苹果在它之上开发Safari、Dashboard、Mail和其它一些 macOS 应用;
编译器架构LLVM的主要资助者是苹果。LLVM 核心库提供了与编译器相关的支持,可以作为多种语言编译器的后台使用,它能进行程序语言的编译期优化、链接优化、在线编译优化与代码生成;
Objective-C与Swift这两个编程语言也都出自苹果之手,主要用于开发 iOS 与 macOS 应用;
分布式事务 key-value 数据库FoundationDB,这是一个支持 ACID 事务的 NoSQL 数据库;
Document Layer 是 FoundationDB 数据库中的文档数据模型,扩展了 FoundationDB 作为 Key-Value 数据库的核心功能,并实现了 MongoDB wire protocol;
苹果的 macOS 和 iOS 基于 Darwin 操作系统,而 Darwin 的内核是 XNU,苹果也将XNU开源了。
由此可见,作为一家顶级的科技公司,苹果并不像很多人印象中的那样“闭门造车”,其对开源社区也有着一定的贡献。有人不禁会问,像苹果这样拥有大量专利、以盈利为最终目的的大型商业公司,为何也要拥抱开源?不妨让我们看看其他头部科技企业近年来在开源界的布局。
科技巨头为何拥抱开源?
2018 年微软收购 GitHub 轰动一时;2019 年 IBM 斥资 340 亿美元收购 Red Hat……业内专家 David Habusha 认为,像微软这样的大型软件供应商之所以支持开源项目,一方面是看重开发者和社区的影响力,另一方面则是希望借此影响与开发者相关的整个开发生态。
根据GitHub 2019 年度报告,2019 年 GitHub 新增一千万用户,总用户数量超过四千万,其中有二百五十多万用户对开源项目做出贡献。在过去一年,GitHub 用户新建了四千四百多万仓库,合并了八千七十多万 pr,关闭了二十多万 issue。
“开源从根本上减少了企业软件供应商在发现市场需求方面的摩擦,也就是寻找开发人员、以及最终用户需要什么。过去需要几个月的时间才能推出的新产品和新功能,现在只需几天的时间即可交付。”这就是庞大的开源社区用户给软件商业带来的影响力。
至于影响与开发者相关的生态,我们以微软为例。VSCode 已经发展为一个大型开源项目,它将开发者社区转变为使用现代的、轻量级的集成开发环境(IDE),该环境可以很好地与 Azure Cloud 和 Azure DevOps 等其他微软平台集成。因此,微软能够为 IDE 建立标准,吸引新用户接触微软的 IDE,从而让更多用户使用微软的其他开发平台,顺利抢占 Eclipse 等其他平台厂商的市场份额。
这只是微软在开源领域商业布局的冰山一角,事实上,微软不仅通过 VSCode 占领了大部分开发者的机器,还通过收购 GitHub 接管了整个开源生态系统,甚至前几天收购 npm 可能正为了接管了整个 JavaScript 生态,通过 TypeScript 改变了开发者使用 JavaScript 的方式。借用某位开发者的评论 ——“JavaScript 现在基本上是属于微软的。”
尽管微软以这样的方式完成了某种意义上的再“垄断”,但总的来说,在不改变开源社区基本原则的前提下,它给开源领域带来的作用还是积极的。分析数据库公司 Exasol CTO Mathias Golombek 认为,科技巨头投身于开源领域的积极意义在于,开源技术得以成为市场标准,将得到更广泛的应用。“大公司将开源项目做得越来越大、越来越重要,这意味着它们可以通过某种方式影响开发,但民主力量还是会导致一个无法控制的整体发展进程。”
而对社区开发者来说,大公司的入主意味着社区能够运营得更规范,用户的开发体验也会得到提升,可谓是企业、社区、开发者三赢的局面。
自 1998 年开源定义诞生以来,开源运动就得到了全球众多开发者的拥护。现在来看,来自世界各地的开发者,共同创造出所有人都能自由使用的工具,是一件多么伟大的事情。正因为软件开发是一项团队运动,必须与其他人合作,当有一群人共同参与时,软件才能够更好地被开发。可以说,开源是当代互联网行业发展的必然趋势。
既然开源浪潮难以阻挡,何不去拥抱它?这一点微软就看得十分透彻。
如今各大科技巨头都在开源中找到了新的发展空间,就连曾经的“专利大魔王” 微软都在开源社区中找到全新的商业模式,那么一直存在“封闭”刻板印象的苹果接下来是否也会在开源领域有进一步的大动作呢?
关键词: 苹果