一个很好的算法,根据统计数据在Github仓库的所有开发人员之间划分支付

问题描述 投票:4回答:6

最近有人在r /比特币上开始使用我们的众筹系统来直接奖励比特币核心开发者。我们的系统根据参与水平划分付款。一种一对多的付款方式。

这导致了相当大的discussion(但也有600美元的捐款和20-25个核心开发人员迅速签约collect their rewards)。其中一个主要论点是,根据LOC等简单统计数据来奖励开发人员是不可能的。

我们只是部分同意,他们的主要开发人员之一Gavin Andreesen说我们的算法做了quite well

我的问题是,如果你必须根据回购邮件的Github statistics将所有贡献者的奖励分配给Github回购,你会建议什么算法/计算。

在Github上,只测量/评定了几种类型的参与。在这方面,它还不是一个非常社交的平台。我们的算法不仅仅使用LOC,而且重量如下:

  • 接受进入主要分支的提交数量
  • 添加的行数
  • 删除的行数
  • 最近的贡献
  • 它做了一些规范化以减少极端情况

还要记住,repos是通过pull-request来调节的。因此在算法完成之前就有质量控制。

为了证明这个概念,我们承诺给这个问题100欧元。当答案被接受时,它将根据投票分成所有答案。可以通过OAUTH-stackoverflow帐户收集奖励。

https://mobbr.com/#/task/aHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjk2MDY3NTgvYS1nb29kLWFsZ29yaXRobS10by1kaXZpZGUtcGF5bWVudHMtYW1vbmctYWxsLWRldmVsb3BlcnMtb2YtYS1naXRodWItcmVwby1iYXNlZA==

git algorithm project-management
6个回答
6
投票

您不提供代码,而是提供功能。 (实际上,也许你没有运送任何东西,但仍然,你关心你的代码做东西,而不只是坐在那里)

IMO是开源项目花费资金的唯一合理方式,是基于赏金的系统。

首先,你可以把你现有的钱花在未来的开发者身上。

其次,你可以更直接地让社区参与进来,让他们承诺给予特定的赏金(对于一个特征或一个bug)或者不是。

最后,一些驱动实体通过提供更高的奖励或更高优先级或更困难的任务来优先考虑工作。

PS:“但我们没有这样的实体”。那你就是海盗。拿钱跑。

编辑:

我知道你会想要奖励他们已经完成的工作。这可能是你的社区需要的,我不会假装知道所涉及的政治。

然而,在更大的一点上,我认为你试图用一个算法来解决,一个后验,一个应该由指导委员会和社区解决的问题,先验。

您拥有的所有资金都不是直接承诺特定功能或与错误相关的问题,您可以用来为重构和管道工作提供资金(用户通过赏金系统往往资金不足)。

建立这样一个系统永远不会太晚,并认为到目前为止所承诺的资金一般是对项目的承诺,应由上述指导委员会在项目内重新分配。


5
投票

我的理论:每个只能由程序决定的测量(例如添加或删除的代码行数)容易受到琐碎的游戏的影响。根据定义,每一个其他测量都部分依赖于人类的输入(例如,#comits被接纳到主分支中),并且容易受到腐败和偏袒等通常的“社会”问题的影响 - 但这些问题仍然比第一种更好。自动测量只能用作“下限规则”,例如“去年甚至没有访问过该网站==>不符合任何条件。”


3
投票

只是一个非常简单的想法:

在上个月贡献的所有开发商之间平均分配资金。

它可能有助于保持一些开发人员参与项目,同时防止他们争吵钱,因为每个人都会获得相同的金额。

金钱不是他们开始贡献的原因。它不应该是,它可能不是他们的主要动机,因为来自捐赠的钱可能永远不足以支付他们开发的功能的真实价值。


3
投票

我要说的是,用户参与质量的最佳指标是接受进入主分支的提交数量。我的意思是,如果你奖励那些添加更多行的人,你会让一些程序员重复代码并添加不相关或冗余的行以获得更好的分享。在我看来,删除行不是识别提高代码质量的用户的最佳方式。最后,贡献的近期并未定义其质量,并且会激励程序员尽可能晚地完成工作......希望有所帮助!


2
投票

那些认为基于简单统计来奖励开发人员不公平的人是那些不足以影响统计数据的人。我想这就是那么简单。

我非常喜欢Mobbr系统。有影响力参与的人会得到他的工作。可能只有很多!


1
投票

有一家名为SourceCred的创业公司专门解决完全相同的问题。

© www.soinside.com 2019 - 2024. All rights reserved.