SourceCred in 5 minutes

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 :slight_smile:


How do you play SourceCred?


Mechanisms that are in play

Likes

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.

Links

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 :slight_smile:

Mechanisms that are still being designed and developed

Boosting

Boosting is a way to put a +1 :mushroom: 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

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

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


@decentralion @Beanow Where can I learn more about how to play SourceCred on GitHub?

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?


Popular Threads

SourceCred Community


1 Like

IDEA! In order to make the SourceCred graph more tangible for people, what if we had a “testnet” forum with only a few threads. This way the SourceCred graph for that forum would be relatively simple and people could interact with it. Then we could have a visualization tool that shows how engagement on the forum affects the graph.

1 Like

Not sure where to put this yet so I’m putting it here as a note to self.

Really like the way how this SourceCred Overview is structured. It clearly explains the goal, the process, and answers FAQs.

Have been thinking it would be cool to have a better way to visualize and also to have a more “real-time” aspect to it. Videogames are fun and engaging in large part due to that responsiveness. I was imagining this more on the “mainnet” graph, but a testnet graph could be fun too. Like a tutorial level at the beginning of a video game where you can learn how to use the sword, etc. (I’m not a gamer so excuse bad analogies). It seems like a lot of work, but looking the IU+Legibility item on the roadmap seems to already encapsulate much of the work. There will likely be wireframes/prototypes along that way that could be spun out and used as you describe once we get to that point?

Need to update the time of the weekly call to 11am PT

1 Like

Good catch @amico, updated. I had updated the general community call page linked to above, but had missed this one.