开源是数百万独立志愿者的共同贡献。这个单一的概念带来了一些固有的现实。在本文中,让我们看看关于开源贡献性质的一些潜在的关注点。
开源软件的主要优点之一是开发人员队伍的多样化、庞大且随时待命,为项目做出贡献。当向公司展示开源的价值时,这可能是一个非常强有力的论点。然而,社区越大,贡献者越多,出现问题或潜在安全风险的机会就越多。
让我们看看一些潜在的问题领域,以及优秀的开源社区如何保护自己免受问题困扰。
更多贡献者意味着更多风险
这是一个非常现实的担忧。当社区发展壮大时,会有更多的开发人员为项目贡献代码。随着越来越多的开发人员贡献代码和他们的问题解决方案,非常需要在所有贡献者都遵守的准则。
建立代码提交标准、要求接受通用许可证以及实施同行评审是优秀的开源项目帮助降低问题代码风险的三种方式。
建立编码标准
代码标准是开源项目期望所有代码提交都遵守的一组指南或规则。大多数任何规模的开源项目都会建立这些标准,Joomla、OpenStack、Ubuntu 就是三个这样的例子。通常,代码标准是简单的程序,以确保每个代码提交看起来相似,并且一旦合并,将使系统感觉像一个统一的软件。
接受通用许可证
开源项目应始终具有某种软件许可证。这定义了分发策略以及其他人可以使用该软件的方法。在允许开发人员贡献代码时,要考虑的重要一步是应应用于提议代码的许可证。这很重要,因为开发人员必须了解并同意项目选择的许可证类型。一些开源项目要求签名以确认提交的任何代码的许可证类型。
实施同行评审
当开源项目变得庞大时,数量有限的核心贡献者越来越难以审查提交的每个代码请求。很快,这成为整个项目的瓶颈,并减慢了软件的进度和增长。实施同行评审是解决此瓶颈最常见的做法。此过程要求其他开发人员理解项目的使命以及所有提交应达到的质量。
更多贡献者意味着更低安全性
有些人认为,当开源项目规模扩大时,它们会因来自不同贡献者群体和秘密议程而面临安全风险和危害,而这些风险和危害在闭源软件中可能会被禁止。
虽然在闭源公司中发现的单一受控环境中存在一定的现实,但开源的优势远远超过了感知到的风险。此外,通过周到的社区组织方法,可以轻松控制这些风险。
共同愿景
如果社区围绕组织的共同愿景和目标有机且谨慎地发展,那么社区将变得比闭源公司更强大。他们不仅仅是为项目贡献代码的个人。
当志愿者分享共同愿景时,他们会变得远不止个人社区。
个人目标逐渐消失并融入整体。每个人都开始融入一个专注的社区。
个人道德
当社区建立在共同目标和贡献者共享的愿景之上时,个人信仰得到加强,个人道德得到自愿的强烈坚持。开源提供了一定的自由。每个志愿者都对自己的行为负责的想法带来了一种个人赋权感,但也带来了一种自治感。
信任不是可以买来的东西。信任是共享的东西。信任赋予人们权力。开源社区建立在信任之上。
更多贡献者意味着更慢进度
有些人会试图提出这样的论点:当贡献者的数量增长过多时,项目的进度会减慢,最终项目会受到影响。这种概念很常见,并且与一句老话“厨师太多会把汤弄糟”有关。虽然这句话有道理,但这不是绝对真理,采取适当的步骤将使这种潜在的负面因素成为开源社区的巨大积极因素。
定义任务
分配明确的任务和委派责任是优秀的开源项目能够保护自己免受贡献者过多潜在问题的一种方式。当项目定义目标和目的,然后将其分解为可分配的任务时,他们鼓励贡献者共同努力以实现这些目标。他们不是每个人都涉足一切,而是明确分配特定任务,从而取得巨大进展。
倾听和专注
与前面讨论的类似,为项目建立单一的共同愿景和重点将帮助开发人员和其他贡献者保持前进的势头,以实现这些目标。这意味着减少浪费在会议和无休止的辩论和讨论琐事上的时间,并使贡献者能够将时间集中在实现项目愿景上。
是的,倾听很重要,确保共同愿景是对社区共同目标的适当体现需要讨论和辩论;但这应该偶尔进行,而不是一直进行。一旦确定并达成一致,就该继续前进了。结果是社区越大,对项目越有利,因为将取得更大的进展。
没有什么是完美的
开源中总会有痛点,没有哪个社区是完美的。然而,开源社区在某种程度上不如闭源公司的论点根本是不真实的。上面的列表只是一个小例子,说明如何减轻和解决开源的每个潜在感知风险。
开源可能并不完美,但有数百万个志愿者理由说明开源比替代方案更好。
最初发布在 David Hurley 的博客上。根据 Creative Commons 重新发布。
评论已关闭。