《开源之迷》书评

《开源之迷》“开源之道”主创适兕所著“开源之道三部曲”的第一部。本书的“迷”是着迷的“迷”,旨在向读者介绍什么是开源,以及开源令人欲罢不能的优势。适兕在《适兕是如何生存的?》提到,自己从 2015 开始运行“开源之道”,2018 年辞去全职工作,一心发展开源之道。开源之迷,一至于此。

本书发售前,我曾经应邀写了一小段推荐词,不过最后因为出版的原因没有随书印刷。这里附上原文内容,也可以对比只读样章跟读完全书以后体感的差别。

适兕老师将他多年关注、学习和参与开源世界的理解灌注在开源之道三部曲当中。这本《开源之谜》里,我最期待的内容莫过于“在所有人看见的地方工作”。这一章的名字取自适兕老师推荐的三十多本开源之书其中一本,开源运动之所以冠上这个名字,就有强调源代码及其研发协作活动的公开性的原因。如果你想知道开源协同为什么是软件开发模式的必然方向,开源协同的价值和做法,阅读这本《开源之谜》一定不会错。

在所有人看得见的地方工作

实际拿到本书以后,才发现《在所有人看得见的地方工作》一章非常单薄,前后仅十页的篇幅。除了引用 Linus 对外公开 Linux 项目的邮件以外,就是对想法公开、交流公开且归档以及流程公开几个点做了少数几句议论。姑且不说与同名开源书籍《WORKING IN PUBLIC》相比,例证详实程度和议论深度都难以望其项背,单是读完这十页的内容,留下的印象也不过是做什么都要公开,而对于为什么要这么做,具体可参考的案例和可能遇到的问题,则只字未提。

不过,后一篇《开源世界的日常》花了五十页的篇幅从源码到 DevOps 系统,从沟通渠道到市场营销,讨论了一些典型的用例,还算做了一点补救,但是还是没有讲清楚为什么要这么做,以及可能遇到的问题。

除去补充前一章的部分,《开源世界的日常》一章讨论市场营销的部分质量是不错的。开源社群的运营和发展不仅无需刻意避开市场营销,甚至应该主动思考如何让开源软件在市场形成强大的影响力。

Perl 社群当中的相当部分成员会在 IRC 或邮件列表上讨论新功能和 CPAN 上新的软件库,目标用户是谁,如何高效地推广到目标用户群体当中。Apache 社群在项目成熟衡量模型当中,明确指出市场营销是参与贡献的一类。

适兕在书中提及了网站、博客和论坛等等渠道,并介绍了运作这些渠道所需的基本知识。我想这跟他多年以来运营“开源之道”项目密不可分。除了线上渠道,适兕在书中还强调了线下活动的价值和典型线下活动的案例。我在分享《How the ASF builds communities》的时候也专门讨论了 Apache 社群当中的线下活动,就是在赛博朋克化和个人原子化的环境下,强调人与人面对面的连结的重要性。

开源的范畴非常广泛

从适兕在本章和全书的举例当中,我也发现了一件有趣的事情,那就是开源的范畴是非常广泛的。

《开源之迷》一书中,适兕举例往往选择 Linux Kernel 及其相关的项目,这是因为他开发软件的时间里大部分是在和 Linux 发行版打交道。我自己撰文举例的时候,往往也举的是 Apache 项目尤其是大数据项目的例子,还有参与过的 Perl 社群和 TiDB 社群的例子。

除此以外,开源还有非常多的类别。

  • 区块链技术最初的论文是公开的,以太坊是开源软件,HyperLedger 也是开源软件。
  • 应用监控系统 Apache SkyWalking 是开源软件。
  • 角色扮演游戏的开发框架 EasyRPG 是开源软件。
  • Linux 发行版上广泛使用的办公软件 LibreOffice 也是开源软件。
  • 绝大多数编程语言要投入实际使用所需的编译器、解释器、运行环境、标准库和实用工具,几乎也都是开源软件。

可以说,现代软件开发,基本不可能离开开源软件。

不同项目的风格是不一样的,受到目标人群、技术领域和利益多寡的影响,在一个社群当中合理的规则或惯例,照搬到另一个开源社群当中,可能会面临水土不服的情况。这是我在《开源社区的治理模型应当因地制宜》以 TiDB 社群为例讨论过的问题。

开源世界的人物

要说《开源之迷》当中我最喜欢的章节,非《开源世界的人物》莫属。在这个篇章里,适兕充分发挥了向导的定位,从参与的普罗大众,到计算机科学家、程序员,再到律师、布道师、学者和商人,一口气从自由软件运动到开源运动再到今天,横跨多个领域介绍了与开源有关的关键人物以及他们的贡献。

本书定位就在揭示开源的迷人之处,适兕作为向导带领读者领略开源的魅力。我必须承认在阅读这一章节的时候,好几次我都为开源历史上出现过这样的人,他们做了这样的事而感慨不已。

其中印象最深的是适兕放在最初提及的“不起眼的推动者:大众驱动的开源”。在关注到开源世界的明星之前,在看到一个一个成功的项目之前,首先要强调的是开源软件乃至整个开源生态,能有今天的成就,包含了每一个参与者的努力。开源软件是每一个参与者添砖加瓦堆砌而成的,Linux 的贡献者已经超过了一万人,提交数超过了一百万个,这不只是一两个明星开发者的功劳,而是开源的胜利。

其他人物介绍也很出彩,这里不做展开复述,只讲几个名字。

Tim Berners-Lee 和他发明的万维网构成了开源的平台基础,其代码本身是公共领域的,即任何人可以随意使用,其协作方式是日后有名的 RFC 模式,时至今日仍然有大量的开源项目采用。

GNU 工程的创始人 Richard Stallman 和 Linux 的作者 Linus Torvalds 还有《大教堂与集市》的作者 Eric S. Raymond 自然也在其中。其实,如果你把他们三人的传记或著作放在一起,《若为自由故》、《只是为了好玩》和《大教堂与集市》,就能发现开源的包罗万象。每个人参与开源的理由可能是各不相同的,但却不妨碍他们在一个以分享精神为核心的模糊共识下共同创造价值。

除此之外,还有 FFmpeg 和 QEMU 的作者 Fabrice Bellard 和著名技术书籍出版商 O’Reilly 的创始人 Tim O’Reilly 等等,他们的故事都很有趣。

最后,在写成这篇书评之前,我常引用本书对于“搭便车者”的论述,即如果只是作为消费者使用开源软件,缺乏上游思维,孤僻地认为可以和开源社群隔绝开来,其结果必然是“任由投喂,失去创新能力”。

总的来说,这本书对想要了解“开源”这个话题的读者来说,还是值得一读的。它可以是带领你探索开源世界的方方面面的一本介绍性书籍,适兕也是一名不错的向导。期待“开源之道”三部曲的后续两作发布,如同适兕所计划的一样,讨论清楚如何实践开源,以及为什么要做开源。