GitHub与开源社群的项目模式
早期自由软件运动强调软件应该是自由的,用户有使用、复制、分发、研究、修改和改进软件的自由,这种理念催生了开源软件的诞生。而现代开源模式在早期自由软件运动的基础上有了一些变化。以 GitHub 为例,它是一个主流的代码托管、协作和社交平台,但本身是闭源的。一方面,它是和大多数开发者连接最紧密的开源阵地,方便了开源项目的开发与协作。另一方面,它也引发了一些争议,因为它违背了传统 “黑客精神” 中对完全
早期自由软件运动强调软件应该是自由的,用户有使用、复制、分发、研究、修改和改进软件的自由,这种理念催生了开源软件的诞生。 而现代开源模式在早期自由软件运动的基础上有了一些变化。以 GitHub 为例,它是一个主流的代码托管、协作和社交平台,但本身是闭源的。一方面,它是和大多数开发者连接最紧密的开源阵地,方便了开源项目的开发与协作。另一方面,它也引发了一些争议,因为它违背了传统 “黑客精神” 中对完全开放和自由的追求,一些人认为将用户身份绑定在这样一个闭源平台上与开源的理念背道而驰。
然而,随着技术和市场的变化,开源模式和平台的出现已经发生了显著的变化。
1. GitHub的双重角色
GitHub 是一个典型的例子,它在某种程度上代表了现代开源模式的“妥协”。它确实是一个闭源平台,但它对开源社区的贡献无可置疑。首先,它降低了开源项目的入门门槛,使得开发者能够更轻松地托管、协作、共享代码。对于个人开发者、初创公司甚至大公司来说,GitHub 提供了一个极为方便的工具和平台,使得开源能够迅速传播并得到广泛应用。
然而,正如我们部分人所想,它与传统“黑客精神”中的完全开放理念存在一些冲突。GitHub作为一个商业化平台,它的代码库、管理工具、协作机制等都是闭源的,这意味着用户的贡献和行为依赖于一个商业平台,而不是完全自由、去中心化的开源生态系统。在某些人的眼中,这种平台的使用可能会限制了对自由软件和开源精神的纯粹追求,尤其是当平台本身存在隐私、控制和垄断的风险时。
2. 开源与商业化的平衡
在现代的开源发展中,开源软件和商业化模型的融合已成为一种趋势。GitHub 及其类似平台的存在,实际上是开源软件和商业化之间的一种平衡。虽然 GitHub 本身是闭源的,但它并没有妨碍开源社区的蓬勃发展,反而促成了更多的开源项目和贡献者的加入。许多企业也因此能够利用开源软件快速发展自己的技术堆栈。
在这种背景下,开源不再是纯粹的自由软件哲学的延伸,而是被视为一个技术和社区的协作模式,目的是促进创新和协作。即便平台本身是闭源的,很多项目仍然可以通过开放代码、透明治理和社区参与来实现开源的核心目标。正如很多开源软件的贡献者并不依赖于 GitHub 的盈利模式,而是通过这些平台获得曝光和合作机会。
3. “黑客精神”与现代平台的张力
对于“黑客精神”的追求,其实并不完全意味着绝对的去中心化和所有技术都是开放的。某些情况下,技术平台的集中化可以提高效率和协作能力。例如,GitHub 提供的 CI/CD 工具、issue 管理和讨论平台、大量的API集成等等,都是极为便利的。如果纯粹坚持“去中心化”和“完全自由”,可能会牺牲开发效率和社区协作的效果。
当然,也有一种观点认为,随着 GitHub 等平台的商业化,开源社区的“控制权”逐渐被转移到了这些商业平台公司手中,开发者的贡献被“商品化”,其精神和初衷可能会被淡化。这是一种值得关注的趋势,尤其是当一个平台成为开源软件发展的主要基础设施时,开发者的自由度和自主性可能会受到影响。
4. 开源的未来
未来开源可能会更加多元化,不仅仅局限于 GitHub 这样的商业化平台,也会出现更多去中心化、去平台化的开源协作方式。区块链技术、去中心化存储、分布式治理等新兴技术可能为开源软件带来新的机会,同时也可能推动更为纯粹的“自由”理念的回归。
总之,开源社区和平台的关系并非简单的对立。GitHub 作为一个闭源平台,在推动开源项目发展的同时,也引发了关于自由、开放与商业化之间张力的深刻讨论。最终,这个问题的答案或许不在于是否完全回归自由软件的理念,而在于如何在促进创新和保持自由之间找到一个合理的平衡点。
开源项目的类型与特点
随着开源生态的不断发展,不同的开源项目逐渐呈现出不同的运作模式。在《开放式协作·开源软件的生产与维护》书中,对项目的性质、参与者的角色以及目标社区的特点,如何决定了项目采用何种管理和协作方式都进行了介绍。在这种多样化的背景下,开源项目根据贡献者的增长情况和用户的增长模式,通常可以分为以下四种类型。每种类型的开源项目都具备不同的特征和适应的管理模式,下面我们将分别讨论这些模式的特点和推荐项目
联邦模式
- 特征:具有高贡献者增长率和高用户增长率。管理复杂,倾向于通过设立投票、领导职位、基金会、工作组和技术委员会等解决协调问题,常将贡献者拆分,采用 RFC 管理变更提议,部分项目尝试自由贡献策略。
- 推荐项目:Rust、Node.js、Linux。
俱乐部模式
- 特征:高贡献者增长率和低用户增长率,贡献者和用户群体大致重叠,用户虽少但更易成为贡献者,类似聚会或兴趣小组,具有高粘性,需吸引新成员但更具选择性,参与者对项目影响大。
- 推荐项目:Astropy(天文学和天体物理学研究者的 Python 包)、Clojure(在某些领域有特长的编程语言)。
玩具模式
- 特征:贡献者增长率和用户增长率均较低,多为个人项目,如业余项目或周末作业,可能是开发者为好玩而做,在 GitHub 上星数较少,作者不期望获得大量贡献。
- 推荐项目:ssh - chat(通过 SSH 协议聊天的客户端)。
体育馆模式
- 特征:低贡献者增长率和高用户增长率,长期贡献者数目不随用户数目同比例增长,通常只有一两个主力开发者,社区以维护者为中心,采用中心化结构,由维护者代表用户决策,依赖自动化、分布式支持,创造者负责社区基本经济结构,项目起步成本高,新人加入维护成本高。
- 推荐项目:webpack、Babel、Bundler、RSpec。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)