哪些因素决定了开源项目的成功与否?

Skl*_*vvz 6 language-agnostic project-management open-source

我们有一系列封闭源代码应用程序和库,我们认为打开源代码是有意义的.

到目前为止,阻止我们的是在开放之前清理代码库和记录源代码所需的工作.

只有当我们有合理的机会让项目成功时,我们才想开源,即有贡献者.我们相信代码对于大量开发人员来说会很有趣.

除了项目的"有趣性"和"有用性"之外,哪些因素决定了开源项目的成功与否?

例子:

  • 代码的清洁度
  • 源代码注释的可用性
  • 完全或部分记录的API
  • 许可证选择(GPL与LGPL vs. BSD等......)
  • 选择公共存储库
  • 投资公共网站

Sar*_*lon 5

有几个东西支配着代码的成功.所有这些必须通过最轻微的采用机会来实现.

  • 市场 - 您的开源项目必须有市场.如果你的项目是太空中的橙色榨汁机,我怀疑你会非常成功.您必须确保您的项目在用户和开发人员中得到广泛采用.如果你能让其他公司也采用它,它的成功率是成功的两倍.
  • 文档 - 如前所述,文档是关键.本文档包括注释代码,架构决策和API说明.即使您的文档包含有关软件的错误或错误,也可以.请记住,透明度是关键.
  • 自由 - 你必须允许你的代码"免费" - 我的意思是在言论中自由,而不是在啤酒中.如果您觉得您的市场是其他公司的图书馆,那么BSD许可证是最佳选择.如果您的软件将在桌面上运行,那么GPL是您的选择.
  • 透明度 - 您必须在透明的环境中编写软件.一旦你开源,就没有隐藏的秘密.你必须解释你所做的一切,以及你在做什么.这将使开发人员与众不同
  • 开发者社区 - 需要强大的开发人员社区.这必须存在.只有约5%的用户回馈该项目.如果有人注意到一年没有任何发布,他们就不会想"哇,这件软件已经完成",他们会认为"开发商必须抛弃它".让你的开发人员继续努力,即使这意味着他们花了你的钱.
  • 通信 - 您必须确保社区能够进行通信.他们必须能够提交错误,讨论解决方法并发布补丁.没有反馈,开源项目是没有意义的
  • 可用性 - 使代码易于获取是必要的,即使这意味着惹恼了律师.您必须确保您的项目易于下载和使用.您不希望用户必须跳过18个唠叨屏幕并签署合同才能执行此操作.你必须简单,干净