Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

4.13 开源软件的商业生态

开源社区的组织方式往往能放大开源带来的生产力效应。尤其是在 Linux 世界中,一个具有重要经济意义的客观事实是:存在多个相互竞争的 Linux 发行商,它们构成了独立于开发者的另一个层级。

开发者编写代码,并将代码通过互联网公开。每个发行商从这些公开的代码中选取一部分,进行集成、打包和品牌化,然后销售给客户。用户在不同发行版之间进行选择,也可以直接从开发者网站下载代码来补充现有发行版。

这种层级分离的效果,是为软件改进创造了一个极其活跃的内部市场。开发者为了赢得发行商和用户的关注,在软件质量上相互竞争。发行商则为了争夺用户市场,在其选择策略的合理性以及能为软件增加的价值上相互竞争。

这一市场结构的首要效应是,在开源生态网络中没有哪个节点是不可或缺的。开发者可以退出;即使他们所负责的代码部分没有被其他开发者直接接手,各方争夺关注度也往往会迅速催生出功能替代品。发行商可能失败,但这不会损害或危及公共的开源代码库。与任何单一的大型一体化闭源操作系统厂商相比,整个生态能够更快速地响应市场需求,并且具备更强的抵御冲击和自我再生的能力。

另一个重要效应是通过专业化降低开销、提高效率。开发者不会面临那些通常拖累传统闭源项目并将其变成“焦油坑”的压力——不必应付市场部门提出的各类分散精力、用来凑数的功能需求,也没有管理层强制要求使用不合适或过时的语言或开发环境,也不需要以产品差异化或知识产权保护为名,刻意采用不兼容的新方式去重复造轮子;而且(最重要的是)没有截止期限,不必在软件尚未打磨完善前就仓促上线1.0版本。DeMarco 和 Lister 在《人件》(Peopleware: Productive Projects and Teams)一书中讨论“结束了再叫我”这种管理风格时指出,这种管理模式不但提高产品质量,还能更快交付可用成果。

另一方面,发行商则可以专注于自身核心强项。他们无需为维持竞争力,持续投入巨额资金开展大规模研发,得以专心做好系统集成、软件打包、质量管控与技术服务。

用户持续的反馈与监督,作为开源模式的重要组成部分,约束着开发者与发行商,促使双方恪守经营准则。