Apache可持续开源成功之路

随着开源软件的重要性不断增加,在Apache软件基金会(ASF)成立20周年之际,反思其持续的成功似乎是恰当的。尽管在更大的开放源码生态系统中构建软件面临着复杂的挑战,但社区驱动开发的Apache方式仍在继续发展。
这种方法,即阿帕奇之路,是24年前由最初的阿帕奇集团在基金会成立之前定义的。它为我们的成功奠定了基础,我们相信它对开源整体的胜利至关重要。
尽管Apache Way多年来得到了改进,但它仍然忠实于最初的目标,即在一个所有人都可以访问的供应商中立环境中进行透明、社区驱动的协作。

Apache Way从法律和社会协作框架的角度定义了开源。它帮助其他人理解是什么使开源变得强大,以及参与者应该如何表现。在本文中,我们将在基金会的使命:

“Apache软件基金会(ASF)的使命是为公众利益提供软件。我们通过为许多志同道合的软件项目社区提供服务和支持来做到这一点,这些社区由选择参与ASF活动的个人组成。”

让我们仔细分析一下这个使命宣言。 

“为公众利益提供软件”

本节要点:

  • 我们生产的软件是不易理解的和非竞争性的
  • 在任何情况下使用软件都不会降低其对其他人的可用性
  • 用户和贡献者对基金会、我们的项目或社区没有承诺责任
  • 使用符合开源定义的许可证是必要的,但不足以完成我们的使命

Investopedia公司将公共物品定义为“一个人可以消费的产品,而不会减少其对另一个人的供应,并且没有人被排除在外。”从表面上看,这是对我们使用该术语的一个很好的定义。然而,在我们的使用中有一个细微差别。我们的使命不是生产“公共产品”,而是“提供软件”对于公共利益”

要理解为什么这一点很重要,我们需要考虑是什么激励ASF生产公共产品软件。

开源软件可以以无限的方式进行数字复制和重用。每个用户都可以根据自己的特定需要进行修改。他们可以将其与其他软件相结合。他们可以使用它设计创新的新产品和服务,并可以从中谋生。这一切都是可能的,不会影响其他人对软件的使用。因此,ASF生产的软件可以以多种不同的方式用于公共利益。

为了让我们能够完成这部分任务,我们必须通过一个许可证,使用法律保护基金会策划的软件。对我们来说,该许可证是Apache许可证,版本2。此外,我们采用了入站许可策略它定义了在Apache项目中重用的软件允许使用哪些许可证。该政策可概括为:

  • 许可证必须符合开源定义(OSD).
  • 实际上,该许可证不得施加超出Apache license 2.0所施加限制的重大限制。

这意味着您可以放心,Apache软件基金会内项目策划的软件公益事业为了公众利益。您可以出于任何目的使用Apache软件,并且您对基金会或项目没有任何责任进行回馈(尽管正如下一节所述,这样做通常符合您的利益)。 

重要的是要认识到,有些软件项目采用了我们的许可,但不采用我们的入站许可政策。此类项目可能会带来我们许可证未涵盖的限制;因此,认真审查这些项目的许可政策是很重要的。单独使用Apache许可证可能无法为您提供与Foundation项目相同的选项。 

Apache项目之所以成功,很大程度上是因为我们在明确定义的许可政策方面的努力。这样的努力使下游用户更容易理解他们可以和不能使用Apache软件做什么。Apache许可证是故意允许的,以确保每个人都有机会参与ASF或其他地方的开源。允许修改我们的许可证,但修改后的许可证既不是Apache许可证,也不隶属于或得到Apache软件基金会的认可。任何修改过的许可都不能这样表示。严格禁止使用Apache名称的修改许可证,因为它们既会让用户感到困惑,也会破坏Apache品牌。

虽然我们认识到软件许可有很多种方式,无论是开源还是其他方式,但我们断言,只有同时使用我们的许可(未修改)和入站许可策略的项目才能真正遵循Apache方式。 

虽然OSD批准的许可证和相关政策对于成功的开源产品来说是必要的,但它们还不够。它们为开源的生产提供了一个法律框架,但并没有提供一个社会框架,这让我们想到了我们使命的第二句话:

“Apache软件基金会的使命是为公众提供软件。我们通过为许多志同道合的软件项目社区提供服务和支持,这些社区由选择为Apache项目做出贡献的个人组成。”

“受欢迎的个人软件项目社区”

本节要点:

  • Apache Way提供了一个治理模型,旨在创建协作的社会框架
  • Apache软件基金会开发社区,这些社区开发软件
  • ASF项目社区开发和重用软件组件,这些组件反过来可以在产品中重用
  • ASF软件的用户通常使用我们的软件组件构建产品和服务
  • 我们的模型,以及其他类似的模型,已经产生了一些规模最大、寿命最长的开源项目,这些项目彻底改变了行业

这几个词包含了很多内容。正是对这些词语的理解,使得开源许可下的软件与通过Apache方式实现可持续性的软件之间存在差异。这些话强调了一个事实,即基金会并不直接生产软件。没错,拥有80亿美元以上软件代码的Apache软件基金会并不直接生产软件。我们关注的不是软件,而是创建和支持协作社区;该软件是有意的副产品。 

我们志同道合的项目社区走到一起,因为他们共享可以在软件中解决的共同问题。俗话说,“共同的问题就是问题减半”。通过将具有独特想法和技能的个人聚集在一起,我们打破了合作的障碍。 

Apache Way经过精心设计,创建了一个协作的社会结构,它补充了上面讨论的法律框架。在法律框架确保平等使用软件的权利的情况下,Apache Way确保平等为软件做出贡献的能力。这对开源软件项目的长期可持续性至关重要。许多非Apache项目中都缺少这种协作的社会结构,但在ASF以外的长期成功项目中,强大的社会结构始终是关键的组成部分。

Apache方式是完全包容、开放、透明和基于共识的。它促进供应商中立,以防止来自单个公司的不当影响(或控制)。它确保任何做出宝贵贡献的个人都能获得授权,并且它力求确保尽管社区成员随着时间的推移发生了不可避免的变化,但项目仍能持续下去。

Apache项目通常会生成软件组件,这些组件可以以不同的方式与其他软件(任何许可证)组合,以解决不同的问题。这为参与者提供了大量机会,使他们能够独立于基金会之外的关系,在给定的软件项目中进行协作。这与在开放源代码许可下许可您的产品作为一个整体的想法非常不同。我们的模型提供了更多的重用机会,这反过来又增加了可能为项目做出贡献的个人库。

此外,我们的功绩制旨在确保人们无论出于何种原因来来去去,总会有人取代他们的位置。因此,一些无所不在的Apache项目已经存在了20多年,并帮助实现了万维网的商业化;而数十个较新的项目已经定义了大数据和物联网等行业领域。 

Apache方式的核心原则是“社区优先于代码”,它概括了我们的深刻信念,即健康的社区比好的代码更重要。一个强大的社区总是可以纠正代码的问题,而一个不健康的社区可能会努力以可持续的方式维护代码库。健康的社区确保基金会在未来20年及以后保持稳定。Apache项目不存在其他只关注开源法律框架的项目所面临的伸缩问题。如果您环顾与Apache项目一起成长的项目,您会看到类似的关注点是扩展治理模型。这不是偶然。 

为什么这很重要

软件是任何现代经济的重要组成部分。它触及了发达国家每一个生命的每一部分,并日益改变着世界各地从子宫到坟墓的日常生活。

在Apache软件基金会,我们相信每个开发人员都有自己构建软件的动机。我们庆祝他们选择何时以及如何构建软件的权利,包括使用非开放许可证的权利。 

我们不会规定什么是对开发人员或软件行业最好的。

我们关心软件的提供,使我们的用户、贡献者和公众能够决定什么对他们最有利。

我们欢迎您使用我们的软件并为我们的项目做出贡献——或者不使用。这取决于你。 

我们要求你在门口留下商业利益。

无数的组织正在证明,他们在供应商中立环境中合作的团队成员经常将开放式创新流程(如阿帕奇之路)应用到他们的工作中。这有助于提高内部效率,并为可能带来额外好处的新外部机会奠定基础。

只想为更大的Apache社区做出最好的贡献,可以增强人们对Apache品牌背后的人员和项目的信任,并帮助我们实现为公众利益提供软件的使命。 

我们共同学习,共同努力,尽我们所能提供最好的软件。 

所有人都可以使用Apache软件。

自由选择是基金会和阿帕奇项目如此强大的原因。

总结

软件行业已经发生了变化,并将继续发生变化。向最终用户交付软件的方式发生了变化。我们行业的一些领导者已经退休,新的领导者已经出现。但有些事情并没有改变。我们的协作软件开发模式,通过许可和社会框架的结合,仍然是最成功的软件生产模式之一。

在开源中,增加用户数量,即使是那些没有贡献代码的用户,也应该被视为一种好处,而不是一个问题。更多用户提供了机会。在Apache,更多的用户意味着更多的成功,因为他们是我们未来的贡献者。

作为美国501(c)(3)公共慈善组织,Apache软件基金会帮助个人和组织了解开放源码在高度竞争的市场中是如何大规模运作的。二十多年来,我们的重点不是生产软件,而是指导生产软件的社区。Apache方式促进了可持续的开源社区:我们所做的一切都是开源的,因此所有类型的用户都可以从我们的体验中受益。阿帕奇适合所有人。

# # #