English 中文(简体)
鼓励开源项目程序员积极参与,而不牺牲代码质量 [已关闭]
原标题:Encouraging Open Source Project Programmers to Be Active Without Sacrificing Code Quality [closed]

这个问题似乎并不涉及在help Center中界定的范围之内的方案规划。

Closed 7 years ago.

我有一个开源项目,我一直积极开发它。

JStock - 免费股票市场软件

从方案拟订的角度来看,大部分时间都是 so忙的。

这让我担心。就JStock的长期发展而言,它不太健康。

尽管我有一些程序员作为团队成员,但他们并没有积极参与。他们中的大多数人只是一两次的代码贡献者。之后,我再没有收到他们的消息。

我认为他们不活跃的主要原因是我制定了一些严格的规定。

No commit write being given. All the changes must be submitted as patches, and reviewed by me

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

我曾经删除过这个规则,让程序员随意提交代码。结果,几天后我发现代码混乱不堪(混乱指编译都不能)。我别无选择,只好立即停止提交访问,手动恢复源代码。

我觉得:

  1. Too much rules, bad for programmers. They will not contribute.
  2. No rule, bad for end users. They will be using product built from messed code.

我知道目前的状况对JStock来说是完全不健康的。我想知道你们是如何鼓励程序员贡献代码,并同时保持一定程度的代码质量的?

目前,JStock确实存在。

  1. Feature Tracker and Bug Tracker. They are actively being used.
  2. Forum for developers.
  3. CVS

开发者指南 PDF 文件是必备的,以便让新加入的开发者理解代码?或者我应该让开发者自己探索 50,000 行的代码?

谢谢。

最佳回答

嗯。你的项目看起来相当不错。此外,该网站相当吸引人(如果这是我的网站,我会去掉谷歌广告,但这取决于个人口味)。

也许你应该创建一个特定的页面部分“开发者”,提供新闻、特定信息、CVS快照……目前,对于一个感兴趣的开发者来说,很难了解到关于项目的开发方式、谁在领导它,编码规范等更多信息。博客是一个开始,但它并没有积极地邀请参与。一个人需要联系你,也许对于一些人来说,在了解更多项目细节之前已经太过承诺。

你有特性心愿清单吗?

人们可以为期望的新功能设置赏金吗?这是一个更长时间的讨论是否在开源项目中这样做是好的和健康的问题,但只是一个想法。我的意思是,当我需要跟踪股市时,我可能会有一些额外的钱吧?

问题回答

从CVS移至分布式源代码控制系统(例如git,mercurial)。这样,任何想要修改代码的人都可以进行,使用适当的源控制,但对您的代码进行的提交必须显式地推送给您。

也许你应该使用分支工作。

我不是这个领域的专家,但我曾使用过它,而且效果很好。我们使用了 launchpad 来托管我们的项目,使用 bazaar 进行源代码控制。(它在launchpad中很好地集成了)

任何人都可以搞乱自己分支的代码,当你将分支合并到主分支时,你可以应用一些控制。这样开发人员就有更多的自由,而不会危及项目。

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

到目前为止,它作为一种方式为核心贡献者分享未完成的作品和社区成员分享补丁,而不会损害核心存储库的完整性。 正如我们的网络所示,我已经应用了一个贡献者的补丁,甚至基于另一个社区成员分享的内容创建了一个分支。

当然,NOTHING进入主人(并合并为中继),而没有对其他一切进行同样的法典审查。 此外,我们定期进行200+单位测试(继续一体化是下一个步骤),我们也重新制定捐助准则,希望人们在看到之前将战胜最糟糕的 st。





相关问题
Scrum and Project estimated time [closed]

IF the client asks me for a estimated time for completion for the whole project can this be given using Scrum? Using for instance the (dreaded) waterfall methodology I will have a technical spec to ...

New project panic [closed]

I have a question which is not strictly-speaking programming related, but nevertheless caused by being an analyst and a programmer at the same time. It s about starting new projects which seem to be ...

managing multiple software projects [closed]

we have an organization that has about 50 different software projects going on (about 90 developers). some big, some small. some are front to back solutions and some are building on top of existing ...

Writing user stories for internal technical tasks [closed]

I am attempting to manage my projects a little better so I am looking at attempting to apply some of (eventually all) the features of scrum. Looking at user stories specifically the high level format ...

How to handle different csproj [closed]

I am working in a team of five. We are working on a C# application with five csprojects. The problem is that for each csproject, each of my colleagues has their own ideas on how to reference a DLL; ...

热门标签