鼓励开源项目程序员在不牺牲代码质量的情况下保持活跃

时间:2010-02-11 13:00:12

标签: open-source project-management

我有一个我一直在积极开发的开源项目

JStock - Free Stock Market Software

从编程方面来看,大部分时间都是单独工作。

这让我担心。至于JStock的长期增长,是不健康的。

虽然我确实有一些程序员作为团队成员,但他们没有积极参与。他们中的大多数只是代码贡献者的一两倍。在那之后,我没有收到他们的消息。

我认为他们不活跃的主要原因是由于我强加的一些严格规则:

  

没有给出提交写入。一切   更改必须作为补丁提交,   并由我审查

看,即使我自己也不喜欢这个严格的规则。

我删除了一次这条规则,让程序员可以自由地提交代码。结果,几天之后,我发现代码搞砸了(搞砸了,甚至不能编译)。我没办法,但快速停止提交访问,并手动恢复源代码。

我觉得:

  1. 太多的规则,对程序员不利。他们不会做出贡献。
  2. 没有规则,对最终用户不利。他们将使用由混乱代码构建的产品。
  3. 我知道目前的情况对于JStock来说是完全不健康的。我是否知道你们如何鼓励程序员贡献代码,同时保持一定程度的代码质量?

    目前,JStock确实有

    1. Feature TrackerBug Tracker。它们正在被积极使用。
    2. Forum面向开发者。
    3. CVS
    4. 开发人员指南PDF文件是否必须具备,以便让新联合开发人员了解代码?或者我会让开发人员自己探索50,000行代码?

      感谢。

4 个答案:

答案 0 :(得分:1)

嗯。你的项目看起来很不错。该网站也很有吸引力(如果是我的网站,我会摆脱谷歌广告,但这取决于个人品味)。

也许您应该创建一个特定的页面部分“开发人员”,提供新闻,特定信息,CVS快照...目前,感兴趣的开发人员很难找到有关项目开发方式的更多信息,领导它,编码惯例......博客是一个开始,但它不是主动邀请参与。在了解有关该项目的更多细节之前,有人必须与您联系,也许这已经是对某些人的过多承诺。

您是否有功能愿望清单?

人们可以为所需的新功能提供赏金吗?对于在开源项目中是否良好和健康而言,这是一个长期讨论的问题,但这只是一个想法。我的意思是,当我需要跟踪股市时,我可能会有一些额外的面团,不是吗?

答案 1 :(得分:1)

从CVS移动到分布式源控制系统(例如git,mercurial)。这样,任何想要的人都可以使用适当的源代码控制来破解代码,但是必须明确地向您推送代码行。

答案 2 :(得分:0)

也许你应该与分支机构合作。

我不是该领域的专家,但我曾经使用过它并且效果很好。我们使用launchpad来托管我们的项目,并使用bazaar来进行源代码管理。 (很好地集成在启动板中)

任何人都可以在自己的分支中搞乱代码,并且当你在主分支中合并分支时可以应用一些控制。这样开发人员可以获得更多自由,而不会使项目陷入危险。

答案 3 :(得分:0)

在web2project中 - http://web2project.net/ - 我们使用Sourceforge的Subversion作为主要/官方代码,但我刚刚在Github上为非官方代码启动了我们 - http://github.com/caseysoftware/web2project

到目前为止,它既是a)核心贡献者共享未完成文件的一种方式,也是b)社区成员在不损害核心存储库完整性的情况下共享补丁的方式。从我们的“网络”中可以看出,我已经从贡献者处应用了一个补丁,甚至根据另一个社区成员共享的内容创建了一个分支。

当然, NOTHING 进入主人(并合并到主干),而不进行我们为其他所有事情进行的相同代码审查。此外,我们还有200多个定期运行的单元测试(接下来是持续集成),我们还在制定贡献指南,希望人们在我们看到它之前过滤掉最糟糕的东西。