What is SourceCred?
SourceCred is a reputation protocol for open collaboration. At a basic level, SourceCred tracks the contributions that are made to a community project. It does this by assigning each contribution and contributor a score, called “Cred”, based on the contributions’ value to the project.
You can think of SourceCred as turning community collaboration into a game. To earn high Cred scores you need to make contributions that the community values. SourceCred itself is dogfooding SourceCred and you can get involved by discussing SourceCred on this forum or contributing to SourceCred on GitHub.
The way SourceCred works is that it organizes the contribution history of a project into a graph. Nodes on the graph represent contributions. SourceCred then runs a modified PageRank algorithm on the graph to produce scores for each node. Every time a contribution is referenced it increases the importance of that node. Nodes that are referenced a lot will have a lot of credibility in the graph.
We call the scores for nodes on a SourceCred graph “Cred.” As people make contributions the scores of nodes on the graph will change. This makes the graph like a living system and Cred like a force of nature within that system. You can think of Cred like a liquid that “flows” through the graph towards important nodes. Nodes can be contributions or contributors. If you (a node) contribute to something that is important (another node), then Cred will flow to that contribution and then to you.
As an example, this Discourse post is a node on the SourceCred community graph. As people engage with the post by liking it or linking to it, Cred will flow to the post’s author, editors, replies in the thread, etc.
Every week the SourceCred community mints tokens called Grain. We distribute Grain based on people’s Cred scores. This is accomplished by comparing your lifetime Cred with your recently earned Cred. Once you get Grain, it’s yours to keep. Just like grain harvested IRL is separate from the water that was used to grow plants, Grain harvested in SourceCred is separate from Cred that flows to users based on their contributions.
When other projects adopt SourceCred they will create their own instances of Cred and Grain that are tied to that project specifically. When you contribute to this forum or SourceCred’s GitHub, however, you will get Cred and Grain in the core SourceCred community
How do you play SourceCred?
Mechanisms that are in play
Likes are like tips. Every time you like a post you send the creator of that post some Cred. Every time you get likes on your posts you get some Cred. Sharing is caring, so please share likes accordingly. If you don’t like any posts people will notice and they will not want to play with you.
Just like on the web, every time a post or comment gets linked to the importance of that thing increases. This is because the same algorithm that Google used to index the web is used to index this forum. Just like when writing research papers, if you don’t list citations no one will take you seriously. On a more concrete sense, if you don’t remember to link and tag things Cred Historians and Curators will come along and do it for you. When they do they will earn a small portion of the Cred that flows through new links and trails they create. The Cred has to go somewhere, so if you play by the rules you’ll be rewarded, but if you don’t you’ll create an opportunity for someone else
Mechanisms that are still being designed and developed
Boosting is a way to put a +1 on ideas. The Cred flowing to something that is boosted will be increased. Anyone who engages with that thing (whether a question, Initiatve, or anything else) will earn extra Cred.
Boosting costs Grain. When you spend Grain to boost something that Grain is staked to that thing. This not only causes more Cred to flow to anyone who engages with that thing, but as they do some of that Cred will flow back to whoever boosted it in the first place. If you find (or create) valuable content you can then boost it to then receive some of it’s future Cred flows. Due to the nature of the PageRank algorithm if no one engages with the content you’ll lose Grain, but if they do you’ll gain some. This makes Boosting a sort of prediction market on ideas.
Initiatives are projects to do stuff. If you take initiative to start a project you can become it’s Champion. Like boosting, champions will receive a portion of the Cred flows to the Initiative. Consider Championing like creating “sweat equity” in a venture. If Grain holders think an Initiative will be useful they can also boost it to get a piece of the action. Unlike traditional investments, however, boosting actually increases the amount of Cred that will flow to all parties involved. It’s a positive sum game.
As Champions work on Initiatives they will add links to references and contributions to that Initiative. Then as the deliverables of that Initiative are used by people in the future, Cred will flow back to the creators and contributors to that Initiative. This encourages people work on and boost things that will actually create value vs just hype.
Artifacts are things that provide ongoing value. For example, an Initiative might build a well, but an Artifact might be the well itself after it’s built. The well will require maintenance and stuff over time so more Initiatives will be initiated to keep the well in good standing. Every time someone uses the well the creator and maintainers of that well will get Cred. This incentivizes people to not just start stuff, and not just finish stuff, but to actually maintain stuff. If people no longer use the well people will not be incentivized to maintain it, so again, this incentivizes and rewards the maintenance of really useful stuff.
Platform Specific SourceCred Gameplay
Looking at the weights it seems like currently only GitHub Issues, Comments, PRs, Reviews, Likes, and “Hoorays” are counted. Is that true?
How do you deploy SourceCred for your community / use case?
What else should I know?
- SourceCred Manifesto - Answers the question: "Why SourceCred?’
- SourceCred Overview - ELI5 SourceCred.
- Playing The SourceCred Game - SourceCred is live on this forum!
- SourceCred Codebase Walkthrough - Explains the thinking and design behind SourceCred’s code.
- SourceCred Mega Thread - Everything you ever wanted to know and more.
- SourceCred Website - High level overview of SourceCred.
- SourceCred Community Call - Every Tuesday at 11am PT / 7pm CEST.
- SourceCred GitHub Org - Where most of the hacking on SourceCred occurs.
- Twitter - Updates and cool stuff related to SourceCred.