Where Opportunity Meets Power: Harnessing Gitpaid to Fuel Open Source Projects
EthPrague 2024 · 1 Jun 2024 · 7:17
A tool turns GitHub issue labels into payable bounties so that open source contributors earn tokens for solving issues. A funder logs in with GitHub and funds a repository through an embedded wallet signed with a fingerprint, then a maintainer who labels an issue with an amount and links a merged pull request triggers an automatic payout, shown live with 150 USDC. The tool also uses a language model to summarize new issues and lower the barrier to entry, and the speaker pitches repository-level funding as a more visible alternative to milestone-based grants for foundations.
Topics
From EthPrague 2024, hosted by ETHPrague.
Holešovice Market
Transcript
set [Music] up so for the next talk we have Flynn and for the sake of time we are continuing quickly and I will be his mic as much as I can so there we go I'll uh I'll try and do both hello everyone um okay so uh what we're going to be going through really quickly uh is a product we've made and in uh London actually my team and I won the hackathon at eth Global with this project uh and I wanted to Showcase it a little bit here because it's we think it's pretty cool so what we're looking at here is um nextjs uh on GitHub and everyone's probably familiar
with the issues tab on GitHub although there's one really loud issue here which is it's it's really a one-way Street you're basically committing code to an open source project uh for street cred for essentially the ability to say you're an open source developer it's not really a two-way transaction you don't earn from doing this there's no finan incentive to do it um other than sort of increasing your job marketability and so on uh so what we built is a product called get paid that basically turns these tags into a essentially a financial layer so if we flick over here to another repo uh it's kind of blurry but you can kind of make out the tags here uh it says 100 150 usdc so what you're actually seeing here is this idea where if you solve a specific issue you
will immediately earn the amount of uh tokens that are associated with an issue and this means that we can can sort of add Financial uh aspects to a uh a system which is kind of closed typically to financial incentives right um and so how this kind of works is we have an application here uh and you can just basically have a GitHub issue and we you basically log in to our application uh with GitHub so there's no element of web 3 involved in the whole process you simply log in with GitHub uh and then that will essentially allow you to um go into the application and in this point here you can essentially fund repositories so there's no need for um elements such as as metamask or anything
it's it's fully embedded wallets you can sort of go over to a repository and you can simply click fund um and you can press the token that you want to fund and a specific amount uh and then you can choose a date in which it's locked up until uh and then you can just simply click fund uh we use an embedded wallet system so this is through Dynamic wallet um no need for an embedded uh no need for metamask or even needing to know what a wallet is you simply press confirm uh and you sign with your fingerprint uh with the hardware embedded key uh and that's how you fund a repository so essentially what we're doing is we're tying a an address to a GitHub repository and we think this is a really unique concept that we haven't seen before it allows basically people
to to fund repositories just like that so I've just funded some usdc there um to a repository which is this one here uh and let's just quickly solve an issue and show the payment process okay so um we'll just open up this repo here I'll add a simple dot on there to uh I can make it larger uh yep so I'll add a DOT there to this repository um and then I'll just push this up and then we'll quickly show this process here uh let's go like this yes okay uh so what we've done is we've pushed a a um a uh a change to this repository uh and what I'll do is I'll
just go ahead and say this is a new change and whatever the message is fine and I'm just going to open a pull request so I'm now committing some code to a repository um and I'm going to then act as both the committer and the repository maintainer in this case just for the sake of time so now I have the ability to merge this as the maintainer um as the maintainer what I can do is essentially assign a label right we just saw this before I'm going to say 150 usdc to this to this issue and now that issue is worth 150 usdc and if it's solved uh then the person who solves it will immediately get that payout um so what I'm going to do is before I emergence I'm just going to see say down here like I'm going to assign this issue uh to uh
sorry assign this pool request to an issue and so I just press on which one it's going to be assigned to and so I know like as the maintainer what it's actually solving um and just by hitting confirm that's it the person is automatically paid through the platform um and there's no need for any sort of intermediary uh element aspect in this just simply happens through the platform um and if I jump over here quickly and hit uh refresh you'll see that if I go to the issues tab there is um the payment process is automatically done through here so I'll just refresh again here it is here the issue here and you can see that if I bring this link up um it's a ether scan um of 27 seconds ago of 150 usdc being
paid automatically to the the repo owner um so basically a really really streamline way to just transact uh for solving issues on GitHub um with no element of needing to know anything about web 3 fully embedded wallets um a very streamlined process and it sort of brings that Financial rails uh that we all know and love through crypto into open source development which has never really had uh the financial incentives sort of aligned with it as it should have in my opinion um I have no idea how I'm doing for time three minutes oh cool wow I sped run that really quickly um so uh we also build in a lot of uh filtering elements here so when when you actually have an issue that gets created in GitHub we summarize the the GitHub
repo the libraries uh and the issue description and so on as well we use anthropic models on the back end to say that if a new issue gets created we summarize it um so that people can have like a really easy to understand description of what an issue is because some issues on open source can be incredibly challenging for developers to understand and that sort of increases the barrier of entry into open source in the first place so we want to lower the barrier of Entry um and so we use a model to essentially summarize what that looks like um and that makes it also translatable into different languages as well because that's also a big problem with open source software is so not everyone is is just speaking and and writing in English all the time so um we do that as the the
issues uh come in um what this also allows you to do is it allows fun foundations to easily fund repositories right I I can come in here um and simply fund a repository as I did a second ago by hitting fund this is a far better approach if you're a foundation like the ethereum foundation or arbitrum you can directly fund a repository and then the team can allocate labels to the certain issues then they can actually visually see the progress that's actually happening towards that GitHub repository like codebase rather than simply me trusting someone on the team giving them money from a through a grant process and then just hoping that they do the work through mileston so we really like this idea of having essentially a um a smart contract govern the rules around how someone can earn and then using GitHub
as that developer interface to be able to sort of track the progress as it goes um we think that works a lot better in in our specific case as well um I think that's all I have time for so if anyone has any questions feel free to come chat thank you