-
-
Notifications
You must be signed in to change notification settings - Fork 18
Weight idea: Consider the fraction of total commits per contributer #132
Comments
This was one of the first ideas for weights, but it was rejected. People who want to increase their salary will massively increase their commit count without actually improving much. For me this weight feels as good as measuring the amount of weight somebody contributed to an airplaine for their salery. Even though if an airplane is finished, this metric would not be too bad, but as an up front work encouragement it would have pretty negative effects. |
Please elaborate more, why it's bad. |
Let's just look at our project. When you click on It looks like @kikass13 has only contributed a little but acutely he defined the software architecture in many ways. |
The problem with my proposal is that I pushed many times directly to the master. You acutely have to look into the PR and keep out the direct pushes to the master. |
I thought that the general idea was, that many different metrics are combined, because every metric in itself is not sufficient. |
regardless of my personal involvement in anything. We can hopefully agree on some wrong interpretations of hard metrics:
I like the idea of soft metrics like (mentioned by @Ly0n):
|
I am also not a fan of overall amounts of something. It is not feasible to compare 1000 apples against 1 pear. consider a list of users [A,B,C,D] and a list of metrics [M1, M2, M3, M4]:
and then apply an linear or exponential filter to degrade the fulfillment of every metric with time passed.
|
Just as an idea for a metric, a metric could take the activity change (first order derivative) into account to encourage people to do more than last month. I am not suggesting though that this is a good metric, The point is, the metric are always complex and you always have to think about people who try to exploit them to appear very active when in reality those people contribute as little as possible, or even harm the project in practice. |
@krux02
seems like a nice thing to add .
That is exactly why these metrics have to depend on things (commits, actions, reviews) [what @Ly0n said] that have to do with merges and should not involve direct amounts of things (1000 commits vs 10). Instead, these should be a checklist(true,false) of weights that can be achieved (cumulative) In my opinion, we should start looking at those metrics as "goals to achieve". A developer either achieves something or he doesn't. If so, the weight of this achievement will be added to the sum of all other weights, therefore it is more likely for a person with more achievements to receive a payout. To ensure that these achievements are not all flagged as true after a period of time (because at some point, someone will eventually tick all the boxes), these should "degrade" over time. That way, an achievement which would correspond to a 1.0 to the sum of weights for a specific user would be downgraded if that achievement was long in the past and throttle at a minimum of (for example) 0.01 [1%] so that everyone still gets a chance, even if his contributions are way in the past in relation to other fresher contributions of other contributors (users). |
And one important sentence in this context I also want to cite here from our README: To get next to something that many people will call "fair" you need to experiment with different weight calculation concepts and constant feedback of your contributors. We have here the change to experiment with that so that others can learn from our experiences. That's why we should discuss about every weight and even integrate it despite it may not be useful for OpenSelery. We can just show that by giving it a low weight.
|
|
@Ly0n
We do not have to worry about fairness, because we simply let users tick their respective boxes. They cannot really abuse that because once they "did a thing" (contribution type = true) they cannot "benefit" from doing it again. The user will be punished if he does not do it again in a timely manner (because his contribution will degrade over time if the project is moving on). We therefore minimize the "damage by exploitation" to a simple boolean flag with simple validity checks. |
I have found a nice little random blog [CLICK] which sums up to the following:
|
The artical you linked has also many other good ideas:
You could use emojis to upvote and downvote issues and use that as an additional bonus on the weights when solving the issue.
Where is such a platform? Does somebody know about a company that is doing that besides our project in a real automated way? @kikass13 the combination of multiple soft contributions and a degregration time could be a good next weight to work on. |
Another weight idea:
The text was updated successfully, but these errors were encountered: