开源软件生态系统是个人热情项目和大型协作企业努力的迷人结合。有时甚至会出现重叠,当热情项目实际上是大型企业项目的关键组成部分时,或者当企业项目被最初的维护者放弃,但有人接手并将其变成他们的个人热情项目时。无论开源项目属于该频谱的哪个位置,开源项目的开发和维护都涉及大量劳动。《在公共场合工作:开源软件的制作和维护》(作者:Nadia Eghbal)深入探讨了劳动与开源之间的关系。
除了引言和结论,《在公共场合工作》还包括分为两部分(“第一部分:人们如何制作”和“第二部分:人们如何维护”)的五章。第一部分涵盖“GitHub 作为一个平台”、“开源项目的结构”以及“角色、激励和关系”。第二部分探讨“软件所需的工作”和“管理生产成本”。每一章都巧妙地涵盖了手头的主题,并提供了大量的脚注和尾注来支持所呈现的信息。

《在公共场合工作》首先简要概述了开放软件开发的历史,涵盖了自由软件运动、开源运动以及以 GitHub 为中心的现代开放版本,Eghbal 指出,后者更侧重于开放的实践方面,而不是自由软件和开源运动的关键哲学方面。本书在过渡到考察开源中的事物和人员如何运作之前,提供了开源软件开发的坚实历史。其中有许多关于在开源中工作的理由和方法的例子,通常包括有趣的类比,使那些尚未沉浸在开源中的读者也能轻松理解这些复杂的主题。Eghbal 的写作设法在信息性和娱乐性之间取得平衡。
有时人们倾向于将编码视为开源劳动的唯一形式,但《在公共场合工作》并没有犯这个错误。例如,引言中有一个有趣的讨论,关于维护者不得不花费时间处理次要的拉取请求,而不是编写深入的、实质性的代码。在整本书中,Eghbal 探讨了开源中超越代码的劳动。它为所有级别和所有开源参与方式的读者(项目维护者、偶尔的贡献者和用户)提供了有价值的见解。
《在公共场合工作》唯一的缺点是它试图同时充当开源入门指南和开源项目劳动探索。这使得这本书对于开源知识有限的读者来说非常平易近人,但这意味着更有经验的读者可能会发现自己跳过解释基本概念的冗长段落。例如,第 12 页第一个完整段落的一半是对软件库的父级解释。过度解释基本概念的倾向并没有过多地分散对总体叙述的注意力,但它可能会让一些读者在接触到有趣的部分之前失去兴趣。
总的来说,我真的建议购买一本这本书。它读起来很愉快,并且很好地涵盖了它的主题,尽管脚注中提出了一些值得作者或其他研究人员进一步探讨的问题。即使是书中过度解释基本概念的部分也很有趣,但正如上面指出的,可能无法吸引那些已经精通开源开发的读者的注意力。抛开小问题不谈,本书提供了引人入胜的开源历史概述,以及对开源开发中劳动力的深刻审视。简而言之,无论您是开源的维护者、贡献者还是用户,《在公共场合工作》都值得一读。
评论已关闭。