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


5 Likes

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.

Folks I am still searching around but for the life of me searching on ‘opt in’ and FAQ etc. I can NOT find out how to opt in.

Surely I have to connect a wallet or something to the account but so far after 10-15 minutes of searching I can’t find anything. Waaaayyy past 5 minutes so far.

Thank you in advance for any help.

Yo. Sorry about that. I think I linked to a Discord announcement post, which is not ideal (and possibly bad?). Reposting the announcement with instructions below. tldr; just fill out the google form. No wallets required yet, as Grain is not an ERC-20 yet. If you want to sell Grain just contact @decentralion and let them know the amount you want to sell. They can then arrange a sale to Protocol Labs (our sponsor and main Grain buyer) or another party. Clunky I know. We’re all looking forward to some sweet on-chain infra :sunglasses:

Grain Opt-In Announcement: With the coming SourceCred beta launch, Grain is becoming more “real”, as we’ll now be tracking it in a proper ledger. In the future, we’re planning to turn it into an ERC-20 token. This may have legal or tax implications that some contributors have expressed they’re not comfortable with. Therefore, we’re switching Grain to an explicitly opt-in system. If you’d like to keep your Grain balance, and continue earning Grain in the future, we need you to opt-in via the form at the bottom of this message. You’ll have through Sept 1 to opt-in; anyone who opts-in will have their existing Grain balance ported into the new ledger system. If so, you might be responsible for paying taxes on your Grain; we’ll provide some info on how to approach this, but ultimately you’ll be responsible for your own legal/tax situation. If you choose not to opt-in, you’ll keep earning Cred, but you won’t get Grain, and your existing Grain balance (if any) will disappear. If you change your mind and decide to opt-in after Sept 1, you will start earning Grain as usual based on your Cred scores at that time. The Grain distribution algorithm prioritizes long-term fairness, so eventually you’ll likely wind up with the same amount of Grain either way. Either way, please fill out the form, since that way you’ll have an account to collect your Cred, even if you don’t want the Grain. If you have any questions, you can reach out to me via Discord DM. Thanks, and thanks to @s_ben for helping put this message and form together. The Form

This was informative!

Are there any current artifacts on ground already? want to see some examples(First time here and a total noob :slight_smile: )

I would agree… I too read through our forums when I was new. This post is informative and when I read it …however what isnt informative is misleading. I only know this because I’m active in the project now. This post was written back when folx were experimenting with terminology like initiatives and champions etc.

When I came to sourcecred i did the thing, i fell down the rabbit hole.

A lot of what i read in our forums was misleading because it was out of date but i was being told that’s where information lives and i can learn. It took a while for me to learn that you get to know what it is best by getting involved since the project evolves and morphs so quickly.

I wasnt sure what all the (for lack of better terms) departments were…like what were people even working on? I made a project board as I uncovered souececred for myself I would call this an artifact for me as I use it to onboard new contributors now. Its a work in progress Im always open to feedback on what would be helpful to see on it as a newcomer if you feel called to share i find value in critique.

I don’t know what you don’t know cuz i tripped down the rabbit hole to make sense of what I could.

2 Likes