【问题标题】:I'm starting an opensource project. Any advice? [closed]我正在启动一个开源项目。有什么建议吗? [关闭]
【发布时间】:2009-11-11 19:14:42
【问题描述】:

首先,我查看了this question,但我认为我需要更多信息,因为我以前从未从事过开源项目。

我正在启动一个开源项目,目前托管在 Google 代码上。它是一个在 ActionScript3(面向程序员)中创建 Flash 游戏的框架。到目前为止,一切都很好,但我想开始围绕它建立一个社区。该项目从它的第一个正式稳定版本完成了 60%(我正在使用 Scrum 来指导开发过程,目前我们在开发团队中是 3 人)。顺便说一句,该项目有 MIT 许可证。

您对如何指导开发有什么建议吗?我应该看看哪些工具?

Assembla vs Google 代码 vs Trac vs Pivotal 跟踪器?

您对此有何经验?

【问题讨论】:

  • 问得好,我一直很好奇有什么好的做法可以让开源项目顺利进行。
  • 我的两分钱——我的下一个项目将托管在 Github 而不是 Google Code 上。 Git 无缝的本地分支和缺少.svn 目录改变了我的生活。
  • 您现在可以在 Google 代码上使用 Mercurial。我以前从未尝试过 git,但我喜欢 Mercurial。
  • 我个人喜欢 Bazaar,但关键是分布式源代码控制越来越流行。我建议任何不熟悉的人至少看看三巨头之一(Git、Mercurial 和 Bazaar),看看它是否对您有用。

标签: open-source agile scrum


【解决方案1】:

如果您希望建立一个社区,那么并不总是与工具有关,更多的是关于您可以用来建立社区的流程。有很多人会使用你给他们的任何工具,或者会选择(或拒绝)参与基于这些工具的项目,但如果社区很臭,很少有人会闲逛。

我建议您花一些时间考虑一下您将如何融入社区。您准备好花时间回复错误报告了吗?您将如何处理增强请求?如果有几个人想要它,你是否愿意让一些东西进入代码,但你不这样做?这些都是最终将比 Assmebla vs Trac 重要得多的关键问题。

您可能需要查看 Karl Fogel 的《生产开源软件》一书或 Jono Bacon 的《社区的艺术》,以获取有关管理和建立社区的更多提示。

【讨论】:

  • 本着这个问题的精神:我强烈推荐您的项目使用 wiki、问题跟踪系统和论坛或 stackexchange 站点。人们越容易提问和参与,您的项目就越有可能成功并吸引开发人员加入。
  • 谢谢。我去看看那些书。
  • 这是一个很好的答案,但我不明白它是如何回答这个问题的。
  • 我知道,它没有。我的观点是,这是一个很好的问题,但没有实际意义,除非你考虑到一些关于如何处理和建立社区的广泛问题。
  • 我知道这并没有回答原始问题,但提供了有关该主题的大量信息。谢谢。
【解决方案2】:

首先,大而明显的下载按钮,以便人们可以下载您的项目,使其变得简单。其次,论坛,这样人们就可以给你关于项目的好坏反馈。

祝你的项目好运!

【讨论】:

  • 安装不是唯一应该简单的事情......因为这是一个面向开发人员的框架,我们需要一些教程和很好的入门指南。
  • 教程和指南。著名的。谢谢。
【解决方案3】:

我建议看看这本书:http://producingoss.com/

我相信有免费的在线和 pdf 版本。

我已经搞砸了一些 Trac,它当然可以完成工作,但如果您已经在进行敏捷开发过程,我会查看 Pivotal Tracker。我在一个附带项目中使用它,它非常漂亮,更不用说免费使用了。 Pivotal 拥有您所期望的所有内容:故事、积压工作、速度计算、一些图表等。

【讨论】:

  • Pivotal 追踪器确实很棒。
【解决方案4】:
  • 争取采用。您获得的用户越多,就会有越多的人回馈。

  • 在 wiki 上包含大量代码示例,并让用户下载示例应用程序。

  • 确保您的 API 已通过 ASDoc 详细记录。

  • 提供路线图,以便潜在用户可以看到您的方向和意图。

  • 认真对待功能请求和错误的优先级。您和您的团队没有时间做所有事情。

  • 尽可能无缝集成。希望用户能够简单地下载.swc(Flash 库)并将其链接到他们的应用程序中。

  • 尽早发布,经常发布。我讨厌不得不从存储库中下载和使用 HEAD 修订版,因为一个团队只正式发布了他们项目的一个版本,而且已经有一年的历史了。

【讨论】:

    【解决方案5】:

    对我来说,指导开发更多的是优先考虑必须做的事情,所以我很想说:既然您的项目已经托管在那里,为什么不直接使用 Google 代码问题跟踪器?我认为它提供了你所需要的一切。如果需要(对于 Scrum),可以自定义它以添加 Estimates 字段,然后就可以了。

    为什么你认为你需要别的东西?您已经拥有一个源存储库、代码审查设施、一个 wiki、邮件列表、一个问题跟踪器以及供贡献者使用的安全访问。您不需要更多的协作工作。你缺少什么?即时通讯?使用 Skype 或 Gtalk。国税局?你暂时不需要它。不,真的,我不认为一个工具可以解决更多问题(即使你不能绘制燃尽图,对于非全职项目 IMO 来说也没什么大不了的)。

    因此,因为任何其他工具与其他 Google 代码服务的集成度较差(例如,我喜欢在自动链接的 cmets 中使用“Issue #ID”将我的提交链接到问题),我会坚持你目前拥有的(也许只是添加 Gtalk/Skype 以简化沟通/协作),然后我会开始创建问题并优先考虑它们。良好的工作优先级是成功项目的关键,没有银弹工具可以为您做到这一点。然后,计划固定日期的里程碑(发布)并将最重要的问题分配给即将到来的里程碑。在截止日期之前尽可能多地关闭问题。当发布时间到了,发布已经完成的事情,将未实现的问题推迟到下一个里程碑,然后重新开始。

    【讨论】:

      【解决方案6】:

      如果您需要软件来支持您的 scrum 项目...agile42 为开源项目提供free Licenses of Agilo for Scrum Pro

      【讨论】:

      • 会调查的,谢谢。
      【解决方案7】:

      不要在 codeplex 上托管您的代码。我最近启动了一个开源项目,作为article series on DotNetSlackers.com 的基础,向人们展示如何构建像 SO 这样的网站。我错误地将这个项目托管在 CodePlex 上。我的自动构建会定期向我发送损坏的构建电子邮件,因为 CodePlex 会一次随机停机数小时。它让我发疯!

      如果您计划开发对全世界免费的代码,但不打算让任何人和每个人都向您的项目提交代码...托管您自己的源代码控制(perforce 对几个用户免费)或使用像谷歌这样的东西来托管你的代码。

      【讨论】:

      • 感谢您的关注。
      • 对 FOSS 项目执行强制?呵呵。
      • Perforce 具有 TFS 的所有优点......没有成本(尽管它确实有一些成本)。代码可以从一个分支移动到另一个分支而不会在迁移过程中丢失有关给定文件的信息的概念非常强大! VSS、SVN、Vault 等 - 无法比较。同样,这只是在它不可公开编辑的情况下!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 2019-10-28
      相关资源
      最近更新 更多