No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
EXPLORATION - Integrate SourceCred into Gitcoin Townsquare
gitcoinco
JavaScript
# Why
Gitcoin is a mission driven network to grow & sustain open source. ( https://gitcoin.co/mission )
Gitcoin started life as a web3 bounty platform. You do X, you get Y tokens.
We have since evolved into a network with many products ( http://gitcoin.co/products ) that serve the mission of growing/sustaining open source in different ways.
As we've evolved, we've achieved some amount scale (https://gitcoin.co/results), and by doing so, learned about how a mix of intrinsic & extrinsic motivations can provide a great UX for OSS developers & where it cant.
One current I see as very important to us is moving from a * quid pro quo * network to a *pay it forward* network. Local communities like Boulder Colorado have this great attribute to them called [GiveFirst](https://givefirst.techstars.com/) wherein you can give value without the expectation of return, and by sheer force of this social norm & penetration of this spirit, the value will return to you down the line. (In some traditions, this is called karma or "you reap what you sew").
We've made some good steps towards creating this type of environment at Gitcoin ( see, the launch of Gitcoin Grants & Mini CLR rounds), but we still need to dial it in.
I believe that Gitcoin needs to get better at rewarding users who are implicitly providing value to the network, and that Sourcecred solves that problem for us.
## What
### Some History
I've been in touch with Dandelion Mane from early 2018 about the sourcecred project, back when both projects were just saplings, and have been following their work since then.
Gitcoin is a mission driven network to grow & sustain open source. ( https://gitcoin.co/mission )
SourceCred is a tool for communities to measure and reward value creation.
IMHO We have very similar missions & very different but complimentary ways of getting there.
### All about SourceCred
This is how Sourcecred self describes themselves in [their docs](https://sourcecred.io/docs/intro/what):
```
Everything people do to support a project—like writing code, filing bug reports, organizing meetups, or even mediating hard discussions—is considered a contribution.
These contributions are connected to each other based on their relationships. For example, a pull request may fix a particular bug, and a code review may review that pull request.
This network of contributions and relationships form a contribution graph. SourceCred applies the PageRank algorithm to this graph, generating a score, called cred for every contribution.
The basic idea is: a contribution earns cred if it is connected to other contributions that earn lots of cred. Contributors are connected to the contributions they've helped with, which means that they also earn cred.
The project's community and maintainers have a lot of influence over this process. They can reconfigure SourceCred weights and parameters. For example, they could assign extra weight to some very important contributions, or decrease the weights of contributions that seem spammy. They can also add heuristics to do this automatically.
````
## How
We've taken a stab at integrating before ( https://github.com/gitcoinco/web/issues/2160 ) but that was before the plugin architecture was built ( https://github.com/sourcecred/sourcecred/tree/master/src/plugins ) .
I now believe that the time has come to get serious about a SourceCred integration into Gitcoin.
To restate the goal of this integration: I believe that Gitcoin needs to get better at rewarding users who are implicitly providing value to the network, and that Sourcecred solves that problem for us.
### Setup
From the sourcecred docs:
>> The contributions are arranged in a graph where contributions are nodes, and have edges indicating how they relate to other contributions. Contributors — like you or me — are also nodes in the graph, and are connected to the contributions that they create.
- what is a contribution? why should some of these contributions have high cred?
The strongest candidate can see for contributions on Gitcoin is social post like this one https://gitcoin.co/townsquare?tab=activity:283220
and a directional edge could be someone LIKE-ing this post, COMMENT-ing on this post, or TIPPing me for this post.
Another candidate for a node on Gitcoin could be a tip. A tip is me sending someone a message (and ERC20 tokens) because I think they’ve done something valuable.
There’s clearly some value being transfered when I tip someone on Gitcoin (not only of tokens, but of reputation). But I’m not sure if minting cred on top of it is duplicative.
> - where will we mint cred (i.e. which contributions create new cred "out of thin air" that will then flow across teh graph)
The trusted seed is Owocki and the Gitcoin team I think. To start, all cred flows outward from what we think provides value. Later on, this will become more progressively decentralized.
### Milestone 1 - proof of concept
What an integration looks like:
- (note: this section will not make sense until you've [read SourceCred's core concepts](https://sourcecred.io/docs/concepts/cred) and [interacted on Gitcoin a bit](https://gitcoin.co/townsquare))
- Sourcecred outputs two currencies from each system that it uses: Cred & Grain.
- We would like to add Sourcecred to the Gitcoin docker containers on this repo, and integrate it with Gitcoin such that gitcoin users are nodes, and contributions to gitcoin are edges. The end result will be a management command that can be run & the Gitcoin DB will be aware of how much "cred" and "grain" each user has.
- My initial thinking is that Sourcecred nodes can be any anything that happens between two users on Gitcoin. But I'm not toally sure yet. For milestone 1, it is sufficient to get the sourcecred system + Gitcoin talking for one of these models:
- Examples of Edges: `dashboard.models.Earnings` objects or any `townsquare.models.Comment`, `townsquare.models.Like` or Status Post, Wall Post, Rating, etc.
### Milestone 2 - production - ready
Production-ready integration:
- This may be a complete rewrite of Milestone 1, or it might not.
- Gitcoin has 40k users, the system must be performant at 10k - 100k "nodes".
- Probably 3-6 more requirements, that fall out of Milestone 1.
## All about you.
The Gitcoin Core team is busy with many important initiatives, so I unfortunately do not have internal resources available to me to help experiment with this integration.
That leaves an opportunity for YOU , my bounty hunter friends, to add some value to Gitcoin. This bounty is ONLY for milestone 1, but I would like to work with the same person for both milestones 1 & 2.
All about you:
- Senior dev
- Knows python & javscript
- Proficient in Javascript
- Good/reliable communicator.
- Has time in the next 2 weeks to sprint on this.
- Would be open to this becoming a longer term relationship.
- Going to actually read the SourceCred docs, wiki, and understand how SourceCred works. Dandelion (our counterparty at sourcecred ) is great, but they are busy. If you're not respecting their time and not doing your homework by reading docs + getting versed in how they work, youre not a it for this project.
## Further Reading
- https://sourcecred.io/
- https://discourse.sourcecred.io/t/sourcecred-beta-and-pilot-partnerships/449
- https://twitter.com/sourcecred
- https://www.youtube.com/watch?v=yVTqRLekRl4
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save