开源项目的12大挑战

来源:互联网 发布:大专网络教育难吗 编辑:程序博客网 时间:2024/05/18 00:19

        开源软件是由数以百万计的独立志愿者一起完成。这一概念带来了一些内在的实质。在本文中,让我们看看一些开源贡献的本质。

       开源软件的一个主要好处是广大的、众多的开发者一起为项目做贡献。当开源软件被认为对一个公司有价值会引起令人难以置信的巨大的争议。然而,更大的社区和更多的贡献者意味着可能存在更多的问题或潜在的安全风险。

       让我们来看看一些潜在的问题的领域以及良好的开源社区如何避免这些问题。

更多的贡献者意味着更大的风险

       这是一个非常现实的问题。随着一个开源社区的发展会有更多的开发人员对项目贡献代码。当越来越多的开发人员贡献代码时建立一些所有贡献者遵守的规则非常必要。

       建立一个代码提交的标准,需要接受一个共同的许可证,并实现同行审查是有助于减轻好的开源项目中有问题的代码的三种方法。

建立编代码标准

       代码标准的指南或规则是开源项目希望所有代码提交者都必须遵守的准则。任何规模的开源项目都得确立这些标准,比如Joomla ,OpenStack 和ubuntu。通过代码标准确保每个提交的代码类似,一旦合使系统像一个统一的软件。

接受一个共同的许可证

       开源项目应该有一个软件许可。它定义了软件分发策略和其他可以使用软件的方法。一个重要步骤开发者贡献代码要将许可证用于该代码。它是很重要的,因为开发人员必须了解并同意许可证。一些开源项目请求签名承认所有提交的代码的许可类型。

执行同行评审

       当一个开源项目成越来越大是,有限数量的核心贡献者很难审查每一个代码提交请求。这很快成为整个项目瓶颈和降低软件的进度。执行同行评审是最常见的实践解决这个瓶颈。这个过程需要其他开发人员了解项目的任务和质量。

更多的贡献者意味着更少的安全

       一些人认为当开源项目规模增长会给自己带来的安全风险,一群不同的志愿者和在闭源软件不允许的秘密议程也会带来风险。

虽然单一控制的环境中开发闭源软件可降低风险,但是开源的好处远远大于风险。此外,这些风险可以通过社区精心组织得到控制。

共同愿景

       如果一个社区精心组织、有共同愿景和目标社区会变得甚至比闭源公司强得多。他们不仅仅是个人对项目贡献代码。

当志愿者共享一个共同的愿景远远超过一个社区的个人。

个人目标消失,融入整个。每个人都开始融合于单一的集中的社区。

个人道德

       当一个社区是建立在共同的目标和愿景共享的贡献者那么个人信念和个人道德会强烈主动执行。开源提供一定的自由。认为每个志愿者负责自己的行为不仅会带来一种个人权利也会有自治的感觉。

       信任是买不到的。信任是共享的东西。让人信任。开源社区是建立在信任。

更多的贡献者意味着更少的进步

       有人认为当参与者数量的增加太大的项目的进度放缓。这个概念是一种常见的,就像“厨师多了烧坏汤。”虽然不存在一个绝对的真理,但是采取适当的措施将使这个开源社区的潜在消极因素变成令人难以置信的积极因素。

定义任务

       指定明确的任务和委派责任是一个很好的开源项目可以保护自己免受太多的贡献者的潜在问题。当一个项目定义了目标,然后分配的任务鼓励贡献者共同努力实现这些目标。而不是每个人都涉足一切任务,给每个人分配具体任务从而取得巨大的进展。

倾听和讨论

       类似于前面所讨论的,建立一个共同愿景和关注的项目是将帮助开发人员保持向前努力实现这些目标。这意味着更少的时间浪费在会议和没完没了的辩论和讨论小事和赋予贡献者花时间专注于完成项目的愿景。

       是的,倾听很重要的,确保共享的愿景是一个适当的表示共享社区的目标需要讨论和辩论;但这应该偶尔而非经常。一旦被决定,就努力奋斗。结果是越多的贡献者才有更大的进展。

没有什么是完美的

       开源总会有问题和没有社区是完美的。然而,开源社区在某种程度比闭源公司方法少是不真实。上面的列表只是开源潜在的风险感以及减轻和解决他们。

开源可能并不完美,但数百万志愿者认为开源是一个更好的选择。

 

0 0