Skip to main content

为什么开源项目能得以完成

· 3 min read

开源项目的开发人员通常是业余的时间在做开发,开发人员和时间都很不稳定,最后却大多都成就了很优秀的作品。 开源项目有哪些亮点,让其能做到这一切呢?

我并无大型项目开发经验,却也读过一些书籍,涉及大型项目协作。软件开发是一个非常依赖知识共享的工作,因此通常而言一个项目组不宜大于 12 人,否则会带来沟通成本急剧上升。于是通常大的项目,通常是拆分成小项目来完成,却又带来对项目全景不了解的问题。 相对于企业中从上而下的强制拆分,我更欣赏我在 Github 上看到的开源软件开发模式。

于是我用心去研究开源项目是如何运作的,并列举其成功原因如下:

  • 优秀的程序员。在软件开发中,人是最重要的。开源项目的开发人员几乎全是最优秀的开发者,有专业的知识体系,有高质量的代码能力,有丰富的经验。同时,开发者也很友善地帮助和支持新人进入项目。
  • 先进的项目管理。开源项目应该是最先重视项目集成/测试能力的。由于开发人员大多是基于兴趣去贡献代码,并无多少项目管理和测试人员,于是很关注如何自动化的测试、集成、部署、发布等。
  • 先进的工具。大多数企业还在使用 CVS,SVN 的时候,开源项目开发者已经率先投入了 Git 的怀抱。而 Github 是软件项目协作的先行者,提供了 Git 仓储、Issue、PR 功能。这些功能为开源项目提供了极大的便利性。