如何在我的开源项目中使用徽章?


12

Stack Overflow有一套很棒的徽章,可以识别个人对社区的贡献,并使个人的能力随着贡献的增加而增长。

开源或编码项目可以使用哪些技术?例如,一个人对代码库的贡献为他们赢得了徽章以及项目上不断增加的功能集?

主持人备注

仅提供建议链接是不够的:请提供有关如何将游戏化元素纳入开源项目的详细答案。任何不这样做的答案将被删除。

有关我们正在寻找的程序员的问题类型和答案类型的更多信息请参见良好主观,不良主观


3
我想我从未听说过,但这是一个有趣的想法。
亚当李尔

1
@FrustratedWithFormsDesigner该问题引用了SO徽章以提供上下文,但这 SO 无关。它不属于meta。
亚当·李尔

@沮丧-为什么?除了以SO为例,它与Stack Exchange无关。
克里斯·

1
它不应该在meta上,因为它与我们如何创建代码并在项目中推广代码有关。这里的问题是...我们是否可以以一种类似于堆栈溢出的方式授权社区的方式创建代码。
达科他州北部

Answers:


3

实际上,SE上的徽章更多是成就,它们并没有真正说明您的贡献,而更多地是您使用了多少网站(在青铜徽章中)或您有多投入(对于金银徽章),以及很少有人会提出一个很好的问题或答案。

您想要的与站点上的信誉系统更相似,过去有一个类似的问题,其中一个答案推荐了《建立在线信誉系统》一书,说实话,我没有读过这本书,但答案是投票足够,所以我相信这很好。


1

我一直考虑将其作为一种徽章放入About对话框中。同样,获得提交者状态,将您的第一个错误分配给您,然后在错误跟踪器中完成,在组中具有成员身份,对子系统负责,等等。这些事情很容易发现。Launchpad甚至为每个贡献者列出了一个“业力”。


1

听起来像是一个有趣的项目:)

我可能从一小套徽章(甚至一个徽章)开始,这些徽章可以通过某种自动化方法发出。捕获事件(例如用户的首次提交)将是相当琐碎的。

假设您有n用户(如果您不知道贡献者的数量,例如,如果您的来源是外部托管的,则可以遍历所有提交以获取不同用户的列表以构建自己的代理列表)。使用源代码管理的钩子(即githooks),您可以在新用户加入时捕获-如果提交者不在用户代理列表中,则会在代理列表中创建一个条目,并自动为他们授予第一奖。

使用钩子,您可以使任何数量的事情自动化(所有提交者的功能是否都已注释?所有注释是否均采用预期格式,例如Javadoc?此用户n的第1000次提交?等,等等),并使用任何徽章授予提交者你想要。

当然,这些都是我脑海中浮现的念头,所以我有点不在意我的话,但是我认为这听起来很可行:)


1

包括徽章的另一种方法是在错误数据库中具有投票选项,并根据已修复的漏洞类别对徽章进行投票。这样,人们可以对他们真正想要的东西进行投票,而修复它们的人都将获得徽章!您也可以类似地跟踪邮件列表/论坛。

我也喜欢上面的githooks答案。


1

UserInfuser是在GPLv3下发布的开源游戏化平台。它在Google App Engine上运行,并具有python,php,java和ruby的绑定。有了它,您可以奖励徽章和积分。API返回小部件,以使您的用户可以看到他们的排名和持有的徽章。 http://google.code.com/p/userinfuser

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.