[Proposal] Time off Summer 2021

Burnout abounds, tensions run high, many are interested in taking a month off to recenter, revitalize, and regroup. Here’s my proposal for how to work the numbers:

Proposal

No changes to grain.json.

Change pluginBudgets.json to:

{
  "intervalLength": "WEEKLY",
  "plugins": {
    "sourcecred/github": [
      {"startTime": "2018-01-01", "budget": 5000},
      {"startTime": "2021-06-01", "budget": 0},
      {"startTime": "2018-07-01", "budget": 5000}
    ],
    "sourcecred/discord": [
      {"startTime": "2018-01-01", "budget": 5000}
      {"startTime": "2021-06-01", "budget": 0},
      {"startTime": "2021-07-01", "budget": 5000}
    ],
    "sourcecred/discourse": [
      {"startTime": "2018-01-01", "budget": 5000}
      {"startTime": "2021-06-01", "budget": 0},
      {"startTime": "2021-07-01", "budget": 5000}
    ],
    "sourcecred/initiatives": [
      {"startTime": "2018-01-01", "budget": 5000}
      {"startTime": "2021-06-01", "budget": 0},
      {"startTime": "2021-07-01", "budget": 5000}
    ]
  }
}

The Explicit Impact

  • Any activity between June 5th and July 3rd will earn zero cred.
  • Contributors will get paid roughly the same rate as their June 5th distribution over the course of the break.

The Nuance

Something to consider

Currently, our discord cred minting is heavily capped by the plugin budget of 5000. This means that we are NOT set up well to handle breaks / large fluctuations in contributions, because if there is very little activity during a week, that activity will earn proportionately huge cred.

What if someone wants to work?

You can, but it will not be incentivized. I find this important because we are a web of dependency, and any contributor working is likely to create work for others. (we could retroactively turn the cred budget up proportional to actual work done after the break, but we don’t need to decide that now, and I don’t believe people should count on it)

Also if you want to work, take the beautiful opportunity to notice how different it feels to work without evaluation being attached to it, while still getting your financial needs met.

Isn’t it a little abnormal / anti-thetical to SourceCred’s values to give zero cred for work?

Depends on how you define the “thesis” of SourceCred. To my understanding, the thesis is not about giving cred to all work done, but instead a community deciding where, when, and how work is valuable. It seems perfectly reasonable for a community to declare “We do not value anyone working during Summer Break!” Hell, I wish my high school teachers had felt that way! This seems more within the thesis of SourceCred’s experiment, to me.

Isn’t this a little unfair to new contributors who are trying to build their cred base so they can achieve a good income?

It may appear that way, but actually 4 weeks of zero cred will have an equalizing effect on recent historical cred, by which activity that happens after the break will count for a lot more than activity before the break. I think this will overall make it easier actually for new contributors to approach equitable income.

Won’t this create a big gaming vector that will make people frenzy before the break to lock in a good pay rate for the break?

We have a low decay rate on our recent policy (0.16), which is used to distribute most of our grain. This means that between now and the break, you’d have to game REALLY REALLY hard to make a meaningful increase to your income. I’m not concerned about this.

The bigger gaming vector is the relatively high effect new cred is going to have after the break, but this will temper down pretty quickly. Our community is keen, pretty well behaved, and it’s all part of the credsperiment! I don’t think this concern is a blocker.

Alternatives considered

  • Use a different grain policy - none of the policies would really meet our needs if new work is still displacing people who are on break, and would still need to solve the discord budget’s low resilience to dips in work.
  • Hand-editing the ledger to make custom grain payouts during the break - super hacky, best to just use tools as they are intended.
  • Grain transfers to give custom distributions to some people - doesn’t really make sense from a treasury perspective. transfer grain from where? our sourcecred sink account? it would be an abnormal way to conceptualize the grain in that account. Also, still need to solve the problem about discord’s plugin budget not being resilient to dips in activity.
  • Turn cred minting down but not off - take the money and chill y’all. This is a good thing.

Alternatives NOT considered

  • Furlough / not paying people for time off lol

On Hashing This Out

Hashing out a previous instance config change was a major contributor to DL’s big burnout. We are already burned out. We are looking for a solution. This solution is NOT to exhaust ourselves (and particularly me) even more by getting into it over this post. Yes, please seek clarification as needed. Spitball your own ideas if you must. But also, admit that there is not perfect configuration change, that we might just not have the energy to make sure everyone is 100% clear and up to date on all the implications of every little config adjustment possibility, and maybe just access your trust in me as the proposer (circumstantially, not as a precedent for how we do governance). Rest easy with the assurance that this contributes to our health and security, it does not jeopardize it, and that it is a solution generated in service of the community’s stated needs.

I also tap in @decentralion @wchargin @topocount @s_ben to be allies in collaborating with the community towards clarity and need-meeting around this proposal (AKA share the burden of answering questions and caring for people)

Path to Ratification

  1. Public community comment/review starts now.
  2. Core Meeting will seek consensus among Core on 5/25/21
14 Likes

Thank you for addressing all of the concerns I raised @thena, and explaining the context well. Really appreciate the clarity :slight_smile:

2 Likes

So into this!

“We do not value anyone working during Summer Break!”

Hard yes / +1000 to this.

Also if you want to work, take the beautiful opportunity to notice how different it feels to work without evaluation being attached to it, while still getting your financial needs met.

YASSSSSSSS. :pray: Thank you.

Alternatives NOT considered

  • Furlough / not paying people for time off lol

Damn straight.

1 Like

Thank you SO MUCh @blueridger!!! This is a concise, well balanced, and well considered proposal. I deeply appreciate you consolidating the community opinions, concerns, and ideas in such a reasonable proposal. Not to mention the huge impact of this proposal in smoothing the way for us to find a good enough way to take a break and not tank anyone’s expected incomes.

Thank you, thank you, thank you! Been really reflecting on and appreciating lately your talent for distilling conversation into powerful steps forward.

So, uh, there’s a big problem then, as this is already not true anymore. Myself and several others have suddenly experienced a 20–35% drop, while some others have seen as much as a >35% gain. This feels extremely beyond “roughly the same,” and seriously questions the integrity of SourceCred’s technical design if it misbehaves so dramatically when the (more or less) lead programmer implements a change under such a promise.

What’s going on here? It just looks like people’s activity during this break is in fact impacting payouts by quite a lot, counter to what we were promised was going to happen.

Transient errors occurred while the Distribute Grain action was calling the Discord API. This may be github’s fault or discord’s fault. Unfortunately, our system did not retry these API calls and thus some activity from our Did-a-Thing channel was omitted during that job. This caused some people’s scores to drop dramatically in the context of that job. Jobs have not had this issue since, so I was able to hand-delete and manually re-run the distribution using the last cred recalculation.

Here’s the fix:

Here’s the job with errors:

2 Likes

Thank you for the explanation, Thena! I’m still confused by something you said:

When did this actually occur, and, if it happened mid-June, why did it affect so much when (to my understanding) the didathing channel content isn’t supposed to have much of an impact during this time, regardless?

The github action loads all historical data from scratch every week. So, many weeks or even months of did a thing data could have been omitted as a result of the error. I have seen some caching logic in our github action workflow but I don’t think it works very well.

@blueridger as the lead engineer on SourceCred, the engineering manager, and the person earning the largest profit from SourceCred over the past several months, it seems highly suspect to me that you would feign this level of ignorance for its failure to function.