0%

大约二十年前我刚开始进入互联网的世界的时候,支撑起整个网络的基础设施,就包括了 Apache 软件基金会(ASF)治下的软件。

Apache Httpd 是开启这个故事的软件,巅峰时期有超过七成的市场占有率,即使是在今天 NGINX 等新技术蓬勃发展的时代,也有三成左右的市场占有率。由 Linux、Apache Httpd、MySQL 和 PHP 组成的 LAMP 技术栈,是开源吞噬软件应用的第一场大型胜利。

我从 2018 年参与 Apache Flink 开始正式直接接触到成立于 1999 年,如今已经有二十年以上历史的 Apache 软件基金会,并在一年后的 2019 年成为 Apache Flink 项目 Committer 队伍的一员,2020 年成为 Apache Curator 项目 PMC(项目管理委员会)的一员。今年,经由姜宁老师推荐,成为了 Apache Members 之一,也就是 Apache 软件基金会层面的正式成员。

我想系统性地做一个开源案例库已经很久了。无论怎么分类筛选优秀的开源共同体,The Apache Community 都是无法绕开的。然而,拥有三百余个开源软件项目的 Apache 软件基金会,并不是一篇文章就能讲清楚的案例。本文也没有打算写成一篇长文顾及方方面面,而是启发于自己的新角色,回顾过去近五年在 Apache Community 当中的经历和体验,简单讨论 Apache 的理念,以及这些理念是如何落实到基金会组织、项目组织以及每一个参与者的日常生活事务当中的。

阅读全文 »

近日尝试利用 Apache Ratis 这个项目包装一个 Raft 协议驱动的状态机的时候,遇到了需要用 Protobuf 传输数据的场景。由于 Gradle 构建工具的门槛和 Java 语言项目的某些惯例碰到了使用上的问题,这里记录一下我在这个玩具项目当中的用例。

阅读全文 »

时隔两年,以姜宁老师的分享为契机,我重读了《知识社群》一书。结合这两年在开源社群方向的经验,我从中发现了不少极具实践价值的内容。

《知识社群》一书从知识社群的社会性出发,从知识社群的历史沿革,全球知识经济的发展进程,以及知识社群在知识时代的机遇三点立论,阐述了知识社群的时代价值。进一步地,本书介绍了知识社群的三个结构要素,划分了知识社群发展的五个阶段,归纳了知识社群培养的七个原则。本书对知识社群的定义如下。

知识社群是这样一群人,他们有共同的关注点、同样的问题或者对同一个话题的热情,通过在不断发展的基础上相互影响,深化某一领域的知识和专业技术。

阅读全文 »

如何吸引开源开发人员参与项目?如何让他们留下来,成为项目共同体的一部分?这是两个做开源运营必须回答的问题。

我对这两个问题的回答,简而言之是和开源参与者共同创造价值,使得开源项目和开源共同体能够回答潜在参与者的两个事关去留的灵魂提问。

  1. 我能为你做什么?
  2. 我应该怎么做到?

从共同创造价值的角度出发,通过开源运营回答参与者可以做什么的问题,只有可做的事情是令人兴奋的价值创造,才有可能触发潜在的参与者的兴趣。进一步,只有潜在的参与者能够在文档材料与其他成员的帮助下共同完成价值创造,这样的正向激励才能让参与者留下来,成为项目共同体的一部分。

阅读全文 »

随着越来越多新的要素进入开源领域,如何建立一个高效的开源共同体,如何维护一个富有价值的开源共同体,逐渐成为每个参与者或多或少关注的问题。

Apache 软件基金会为每个项目提供了基础的治理原则,并在项目孵化到顶级项目的过程中通过孵化器导师的帮助建立起开源项目的治理模型,但是这一模型对每个具体项目在特定时期未必是最优的。同时,其他不在 Apache 软件基金会治理的项目,虽然拥有灵活设计治理模型的自由,却也时常陷入不知道该如何开始的窘境。

本文从开源治理的目的出发,介绍一个开源共同体什么时候需要考虑设计治理模型,然后讨论开源治理的原则,结合实例分析如何设计开源共同体的治理模型。这里所说的开源共同体,主要指的是围绕单一项目或单一主题项目群形成的开源共同体。

阅读全文 »

历时五天,我总算把《大教堂与集市》这本经典的开源文化著作认真读了一遍,真是酣畅淋漓。

本书是作者 Eric S. Raymond 的文集,其中最著名的一篇就是《大教堂与集市》,其他几篇分别是《黑客圈简史》《开垦心智层》《魔法锅》和《黑客的反击》。最有价值的是《大教堂与集市》和《开垦心智层》两章,系统解释了开源软件是如何生产的,开源开发的优势在哪,开源软件的传承是如何做到的。《魔法锅》解答了一些常见的关于开源软件使用价值和销售价值的问题,但是受限于时代背景,对商业化的讨论局限在夸大使用价值的部分,不能很好的指导基于开源软件提供软件服务的商业模式。

在进入具体的内容讨论之前,必须着重提到译者卫剑钒对中译本创造的价值。翻译是对原内容的二次创作,软件开发领域外文著作众多,大部分译本都让原文表意有明显的损失。卫剑钒翻译的《大教堂与集市》,阮一峰翻译的《黑客与画家》,以及云风翻译的《程序员修炼之道(第二版)》是我近一年来读过的本领域最佳译作。

阅读全文 »

大部分人参与开源社区会面临的一个巨大挑战,那就是缺乏时间。本文试图提供一种方式,帮助想要参与开源社区的同学高效利用有限的时间。

在一个开源社区里,maintainers 需要关注的范围比 contributors 要大得多。本文分别讨论这两类人群适用的参与开源社区的技巧,以减少过程中的摩擦,提高时间的利用率。

阅读全文 »

本文部分启发自在 ALC Beijing 录制播客时讨论的内容,仅引用我个人的观点。播客内容应该近期会在前面链接的网站上发布。

《开放式组织》这本书单看它本身,讲的是红帽公司的组织管理经验。这是一个将商业价值建立在开源项目之上的公司审视公司内部的组织形式的著作,并且主要关注在红帽这个案例上。这样,不管是在经验的普遍性上,还是在开放式组织这种形式跨越组织,尤其是建立商业公司和开源社区之间的联系这方面的讨论上,都有所欠缺。

阅读全文 »

随着开源概念的红火,越来越多的企业将内部项目公开托管到 GitHub 等平台,也有越来越多依托开源项目建立起来的企业。对于这些企业来说,它们的目标不只是开放项目源代码,更希望能够形成开源共同体,打造围绕项目的软件生态。

然而,其中大部分项目由于成员背景的单一性,最终都终结于仅源码可得的形态。对于这些新兴项目来说,初始成员从属于同一企业是既定事实。在这样的前提下,企业应该如何实践开源协同,形成开源共同体呢?

阅读全文 »