网站搜索

微软的开源时代仍然带着一个星号


微软与开源的关系是科技界最奇特的救赎故事之一。这家公司以前的 CEO 史蒂夫·鲍尔默曾把 Linux 称为“癌症”,这句话敌意之浓简直像漫画一样,至今仍像一本令人尴尬的毕业册照片一样萦绕在微软身边。二十年后,微软用爱心表情谈论 Linux,开发出开发者真正喜爱的工具,拥有 GitHub,维护自己的 Linux 发行版,并将 Windows Subsystem for Linux 的部分源码开源,以至于我的一位编辑已经不再在 Windows 和 Linux 之间选择,而是在同一台机器上同时运行两者。

有趣的问题不是微软是否发生了变化,因为它确实发生了变化。更好的问题是,它为什么发生了变化,以及当开源不再服务于商业计划时,这种变化有多少会持续下来。

从“癌症”到贡献者

鲍尔默不会批准(董事会批准了)

要理解现在的情况,有助于回忆过去立场的公开敌意。鲍尔默的著名评论只是更广泛立场的标题版。公司暗中向SCO集团投入了超过1亿美元,用于对Linux的生存性版权攻击,在媒体上声称开源操作系统侵犯了235项未公开的微软专利,却从未公开说明这些专利,并利用其法律部门迫使基于Linux的Android硬件厂商支付丰厚的许可费。 反开源运动可以追溯到比尔·盖茨1976年具有开创性的《致业余爱好者公开信》,该信明确斥责早期计算机爱好者在未经付费的情况下复制Altair BASIC软件。所以你看,这并不是一家对开源持复杂或被动态度的公司。这是一家将开源视为对其垄断商业模式的生存威胁,并试图通过激烈的诉讼迫使其屈服的公司。

然后萨蒂亚·纳德拉在2014年初接任,剧情变化得如此之快,以至于让业界观察者都感到震惊。同年十月,这位新上任的首席执行官站在一张幻灯片前,上面写着:“微软爱Linux。”在接下来的几年里,微软系统地开源了其旗舰开发工具,包括PowerShell、Visual Studio Code(尽管你从微软下载的VS Code实际上不是开源的——稍后会详细说明)以及ChakraCore——微软Edge的原始JavaScript引擎。比尔默曾将Linux社区比作共产主义和癌症已经过去了十多年,公司以最高的白金会员级别加入了Linux基金会。它甚至开发了自己的内部Linux发行版CBL-Mariner(现已正式更名为Azure Linux)来支持其容器基础设施,并于2018年斥资75亿美元收购了GitHub——现代开源开发的据点。

微软总裁布拉德·史密斯甚至做出了终极的公开道歉。在2020年5月一次麻省理工学院回顾性活动上,史密斯明确承认,“在本世纪初开源爆发的时候,微软站在了历史的错误一边,我可以为我个人说这句话。”实事求是:对于一位曾主导许多早期法律斗争的高管来说,能够公开这样说需要极大的勇气。如今,微软在.NET基金会旗下拥有数百个开源项目,其在GitHub上的影响力也远超早期预期,有超过25,000名内部工程师积极向开源仓库提交代码。

我对这些事实一点也不怀疑,因为它们都是有充分文献记载的企业战略变化。我怀疑的,是这些变化是否是由突然的原则闪现推动的,而不是出于纯粹、冷酷的必要性。企业通常不会经历道德觉醒;相反,它们会对不断变化的市场状况作出反应。而在2011年左右,市场向微软发出了一个非常明确的生死攸关的信息:Windows在智能手机大战中已经输给了iOS和Linux支持的Android;AWS完全主导了云计算领域;如果微软拒绝在Azure上本地运行Linux工作负载,其云业务将会夭折。

前面开着,后面锁着

免费,意思是“可以免费使用我们的云”






我实际上认为发生的事情是,微软观察了行业的发展方向,意识到自己即将被这一代最重要的基础设施变革排除在外,于是做出了一个经过计算的决定,要站在自己无法战胜的趋势的正确一边。微软的一位高管最终也带着几乎没有羞愧的态度证实了这一点,说公司“不得不接受开源,因为客户要求。”而不是“因为这是正确的。”也不是“因为我们相信它。”而是因为客户要求它。

GitHub 的收购使这一战略尤为清晰。微软为全球软件开发的社交和技术基础设施支付了 75 亿美元,而这一赌注 spectacularly 获得了回报。到 2024 年,GitHub 的年收入达到 20 亿美元,其中 Copilot 占据了 40% 的增长。该平台现在托管着超过 1.8 亿开发者和 6.3 亿个项目。换句话说,我会说微软买下的是一个收费闸口。开源世界仍然可以访问,但围绕它建立的许多最有价值的服务现在直接进入微软的商业基础设施。

这也是微软开源事物的方式:有策略地,同时一只手握在专有权限上。当 GitHub 在 2025 年以 MIT 许可证发布 GitHub Copilot Chat 扩展时,开发者们为之欢呼。但驱动 Copilot 的核心后台服务和大型语言模型仍然是专有的。这个策略相当容易看出:发布那些能够建立生态系统忠诚度并对抗如 Cursor 或 Windsurf 这样的新兴竞争对手的产品,保护那些产生利润的部分。

然后考虑一下微软喜欢在技术大会上突出展示的一个细节:现在超过三分之二的 Azure 客户计算核心运行的是 Linux 工作负载,而 Linux 支撑着包括 OpenAI 的 ChatGPT、GitHub 和 Microsoft 365 在内的服务。微软将此作为其对开源承诺的证明,从狭义上讲,这确实如此。但在 Azure 上运行的 Linux 并不是自由运行的 Linux。Azure 是一个专有平台,微软甚至通过开发其自己的 Linux 发行版——专为其云优化的 Azure Linux——深度嵌入了这一生态系统。它的广泛开源采用最终会加深对微软云的依赖,而不是减少依赖。每一个迁移到 Azure 的 Linux 工作负载,都是另一家企业接入微软的计费周期、支持合同及其附加服务生态系统。

微软热爱开源。再读一遍

我并不是在说微软还是巴尔默当时的那家公司。它不是。那些贡献是真实的;工具确实非常出色,仅 VS Code 对开发者生产力的提升就超过了大多数开源项目能达到的效果。我自己也在使用它,并且没有任何怨恨。

我所争论的是,有一种“我们热爱开源”的说法意味着自由,而另一种说法意味着“我们找到了拥有生态系统的更优雅方式”。微软对第二种说法掌握得如此之好,以至于大多数人都不再问到底是哪一种了。

相关文章