sourcecred/operations

Write a SourceCred mission plan

Closed this issue · 2 comments

We should have mission plan for SourceCred.

I've put a preliminary outline below. I'll try to convert this into a longform document (likely checked into Git in this repository) soon.

Thanks to @meiqimichelle for prompting this.
cc/ @flyingzumwalt @sternhenri @wchargin @momack2


1. Vision/Setup

  • Credit Attribution: The problem SourceCred is trying to solve
  • Why this matters / What it enables (paying open source, better-resourced communities)
  • Vision for how SourceCred will look + operate in the long run

2. How SourceCred Works

  • PageRank algorithm and the graph based approach
  • Customizability + flexibility through...
    • Plugins which add new nodes (w/ example)
    • Plugins which add new kinds of edges (w/ example)
    • Heuristics on the values of nodes and edge (w/ example)

3. Current State of the project

  • "Late Alpha" type software that proves the general approach (link to prototype)
  • Strong technical foundation (thoughtfully architected Graph class, great test coverage, static typing)
  • Uses data mostly from GitHub (issues, pulls, comments, etc), few plugins
  • Decent job with identifiying top contributors, but struggles to accurately assess value of specific contributions
    • e.g. it can't tell which commits are important

4. Key Risks / Issues

  • SourceCred might be easy to game
    • Discussion of how social norms constrain gameability, hence focus on transparency, but it needs to be proven out
  • SourceCred might fail to appreciate non-technical contributors
  • SourceCred might produce weird social norms / disrupt the social ecology of open-source projects
  • The PageRank/Cred Graph approach might not be flexible enough to accurately value contributions
  • GitHub could restrict access to their APIs

5. Key Initiatives

  • Grow the project
    • Increase # of people working on / contributing to SourceCred
    • Increase # of people using SourceCred, i.e. increase adoption
  • Improve credit attribution on open-source projects
    • Add features like time-based cred and code analysis so that SourceCred is dramatically better at credit assignment on a median open-source project
  • Improve credit attribution on SourceCred itself
    • Use SourceCred as a testing ground for new techniques that require engagement from the community but could be a lot better overall.
    • Try to prove that SourceCred can reward all types of work, not just coding, by proving it on SourceCred itself

Hey sorry for the lag @decentralion.

I like this proposed structure a lot. I especially like section 4, which I might split into "product risks" and "social risks" as you implicitly seem to. It seems to me this would mean section 1 mirrors it with the "what it enables" (social goals) and "how it will look" (product goals) subsection. It'll definitely be challenging to be succint but complete in what should be a pretty concise vision doc.

With regards to key initiatives, dating them would be great so people could see progress over time (though just linking to successive updated vision docs may do the trick).

Let me know if you want more specific feedback, but this seems a great proposal to me.

@sternhenri would you take a look at the overview produced here: #6 and comment?

It already merged, but I'm happy to take feedback and keep iterating on the overview. (Soon(tm) I plan to use it to update the official sourcecred website)