黄金屋 #2 我应该将产品开源吗?

"开源"(Open-Source),如同"自由软件"(Free Software)一样,凭借其有意为之的模糊赢得了广泛传播。泛泛而谈开源,甚至是将所谓开源硬件、开源文档、开放设计等都归入开源的范畴,很容易丧失焦点。本文不讨论任意个体或组织开发的任意软件是否应该开源,而是聚焦在企业研发的商业软件产品应当采取的开源策略。

从著名的《大教堂与集市》文集当中第四篇《魔法锅》开始。其中 4.6 节"闭源的理由"写到:

闭源真正想保护的是什么?

假如你雇人给你的企业写了一个专业的财会软件,选择闭源不会比开源好到哪里。如果你希望闭源,唯一合理的原因是你想把这个软件卖给别人,或者防止竞争者使用它。

答案很明显,你在保护销售价值。但 95% 的软件写出来是供内部使用的,在没有销售价值可言的情形下,从闭源中还能得到什么好处?

如果我们把商业软件产品具体化到数据库和数据系统,诸如 Snowflake 和 Fivetran 这样的公司,它们的核心商业产品就是打算卖给别人的。销售价值是这些商业软件产品被开发出来的主要目的,因而似乎在此种情况下,闭源的理由恰好成立。

我们再看到第五篇《黑客的反击》,其中 5.9 节"走进未来"写到:

有一个问题值得思量:Linux 社区能否给整个系统提供一个终端用户友好的 GUI 界面?

如果这主要是技术问题的话,其结果就不难推断了。但它并不是,问题主要出在人机工程学设计和界面心理学上,黑客在这些地方从来就很弱。黑客在为其他黑客设计接口时做得很好,但他们往往不善于为另外 95% 人群的思维过程建模,从而写不出能让终端用户愿意花钱购买的页面。

如同 Eric 在文中所预测,Linux 有效占领了服务器、数据中心、ISP 以及互联网的操作系统生态位,而微软仍然保持对桌面的控制。然而,不同于 Eric 的预测,Windows 并没有退出历史舞台,Linux 的 GUI 界面也谈不上多么终端用户友好。类似地,在商业数据库领域,Oracle 和 Microsoft SQL Server 仍然占据了相当部分的市场份额,新兴产品 Snowflake 也在多个榜单上名列前茅。PostgreSQL 和 MySQL 并不能完全取代这些专有软件产品,反而成为云上数据库服务的核心,由各个云厂商补充了管控面板和 GUI 界面,重新包装成专有云服务出售。

可以看到,开源协同带来的核心收益,(来自黑客群体的)同行评审,在某些类型的软件开发上很难出现。这是因为朴素的独立黑客大多关心自己能用上的功能,因此对于 Linux 这样的操作系统及其上面的生态,在自己使用时遇到的问题,将修复和改进的补丁分享出来并非难事。可是,要想让独立黑客们开发一个自己用不上的能力,例如企业合规管理或者大规模的分布式数据系统,除非有明确的企业支持,否则难以为继。

这种企业支持下的软件开发,如果恰好落在了 Eric Raymond 所说的"供内部使用",那么仍然有开源的理由。反之,如果企业本身雇佣开发者就是为了制造商业软件产品并以某种形式出售,那么开源的理由就不成立了。

简而言之,如果你的公司存续依赖于销售商业软件产品,你应当默认将其作为专有软件,谨慎考虑开源策略。

本文后续将介绍商业开源的实例,包括 GitHub / Confluent / Aiven / Airbyte / Snowflake 等。然后,结合实际案例,讨论企业开源的内在动机,企业开源的外部动力,以及如何调动软件研发当中的开源要素。全文一万字。

商业开源的案例分析

相关推荐
猫头虎5 小时前
如何解决 pip install 编译报错 fatal error: hdf5.h: No such file or directory(h5py)问题
人工智能·python·pycharm·开源·beautifulsoup·ai编程·pip
食品一少年6 小时前
【Day7-10】开源鸿蒙组件封装实战(3)仿知乎日报的首页轮播图实现
华为·开源·harmonyos
丹宇码农6 小时前
本地部署阿里最新开源的Z-Image
开源
时光追逐者6 小时前
分享5款.NET开源免费的Redis客户端组件库
数据库·redis·开源·c#·.net·.net core
CoderJia程序员甲7 小时前
GitHub 热榜项目 - 日榜(2025-11-29)
ai·开源·大模型·github·ai教程
草梅友仁8 小时前
Nano Banana Pro AI 图像生成模型与创意实践 | 2025 年第 48 周草梅周报
开源·github·aigc
OpenCSG9 小时前
OpenCSG 2025年11月月报:智能体平台、AI技术合作与开源生态进展
人工智能·开源·opencsg·csghub
徐小夕@趣谈前端9 小时前
NO-CRM本地安装版开源!人人都能拥有开箱即用的智慧CRM管理系统
javascript·vue.js·开源
霍格沃兹测试开发学社-小明12 小时前
AI来袭:自动化测试在智能实战中的华丽转身
运维·人工智能·python·测试工具·开源