git - 一种基于统计数据在 Github 存储库的所有开发人员之间分配付款的好算法

标签 git algorithm project-management

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

这导致相当 discussion (还有 600 美元的捐款和 20-25 名核心开发人员迅速注册 collect their rewards)。主要论点之一是不可能根据简单的统计数据(例如 LOC)来奖励开发人员。

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

我的问题是,如果您必须根据 repo 的 Github statistics 在 Github repo 的所有贡献者之间分配奖励,您会建议什么算法/计算。

在 Github 上,只有少数类型的参与被衡量/评级。在这方面,它还不是一个非常社交的平台。我们的算法不只是使用 LOC,而是权衡:

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

另请记住, repo 协议(protocol)是通过 pull 请求进行审核的。因此,在算法发挥作用之前存在质量控制。

为了展示这个概念,我们 promise 为这个问题提供 100 欧元。当一个答案被接受时,它将根据投票分配给所有答案。可以通过对您的 stackoverflow 帐户进行 OAUTH 来收集奖励。

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

最佳答案

您发布的不是代码,而是功能。 (好吧,实际上,也许你什么都不送,但你仍然关心你的代码在做什么,而不是坐在那里)

在我看来,为开源项目拨款的唯一合理方式是基于赏金的系统。

一方面,您可以将现在拥有的钱用于 future 的开发。

其次,您可以更直接地参与社区,让他们 promise 提供特定赏金(针对某个功能或错误)或不提供。

最后,一些驱动实体通过设置更高的赏金或更高的优先级或更困难的任务来确定工作的优先级。

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

编辑:

我知道您希望奖励人们已经完成的工作。这可能是您的社区认为这是需要的,我不会假装知道所涉及的政治。

但是,从更大的角度来看,我认为您正在尝试使用一种后验算法来解决一些应该由指导委员会和社区先验解决的问题。

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

建立这样一个系统永远不会太晚,并且考虑到到目前为止认捐的资金总体上是对项目的认捐,应该由上述指导委员会在项目内重新分配。

关于git - 一种基于统计数据在 Github 存储库的所有开发人员之间分配付款的好算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29606758/

相关文章:

linux - 每次 git push 后执行脚本

git - 禁止git中的外部文件

arrays - 用整数 1 或 2 填充固定大小的数组以求和 X

algorithm - 在这里使用尾递归有什么好处?

project-management - 你能在一个项目上工作超过 10 年而不发布任何东西吗?

git - 您如何管理项目中的第三人称 git 存储库? (例如 Twig/Assetic/..)

git - 在 git 中切换分支

ruby-on-rails - Pi 上的 nginx + passenger + sqlite3 获得 502 错误网关

c++ - 如何在 SPOJ Feynman 中应用动态规划?

c++ - 基于 C 的应用程序/项目的文件和文件夹结构