GitPOAP: recognizing open source contributions

24 Sept 2022 · 16:51

Sebastien Couture speaks with Colfax Selby about GitPOAP, a system for recognizing open source contributions through on-chain attestations. They discuss how contributions are measured and rewarded, the benefits for developers building a verifiable track record, and how integrating these credentials across platforms could turn passive community members into active contributors.

Speakers

Topics

Transcript

foreign [Music] 2022 in Berlin on this lovely boat the day is coming to an end people are starting to have drinks and actually we're gonna have emerged in a couple of hours but I'm here with Colfax of gitpo app yes thanks for uh thanks for joining me of course thanks for having me tell me a little bit about gitpo app and uh why why it's cool definitely yeah so I'm one of the founders of app with gitpo app is is it's a platform for awarding blockchain based badges in the form of nfts as poapps if you're familiar for software contributions on

GitHub and we're using that sort of as a building block to begin with giving people actually credit and reputation and reward for their contributions and we're starting with software and we're expanding Beyond software pretty soon actually so it's cool it's a product that's built on top of the poapp uh infrastructure like I was just talking with Patricio earlier and there'll be a video of that also uh on this channel if you want to check that out and you know poapp is an assassination server us and like they've I think you know tried to hit the use case of proving that something happened typically sort of in the Physical Realm so that could be like meeting someone it could also extend to digital in terms of

you prove that you've listened to a podcast within a specific time frame or something like that um but you guys are building on top of this infrastructure with a specific use case which is you've contributed to open source software or you've contributed to like a public good um what's unique about this use case and what kinds of things does it unlock you know because like people have been contributing on open source for forever but yep like what does this particular thing unlock for developers but also like broadly for the open source ecosystem that's a great question and so poapps are an interesting tool to essentially bring like a record of what somebody's done on chain and that comes

in the form of like owning this nft which is a poab and like with software then like once we have an on-chain record of who's contributed to which software projects like the big one that I was just having a conversation over there earlier about open source offers funding projects and it's difficult to fund especially public goods projects and sometimes it's difficult to identify where you should Channel funds have an impact on a project yeah and so once we bring the contribution records on chain it's very easy then to identify who the core developers are building these projects and we can funnel chance Channel funds directly to them yeah so directly to the people right so like and I mean it's direct it's actually direct funneling because you probably have

their ethereum address you probably you have some payment address that you can send money exactly and you can immediately tell like how much they've contributed Sunday directly to them even before you get to funding we can do things like provide utilities that can be free for core developers to different projects for example I was just talking to somebody maybe we can award you know free and fewer keys to anybody who's a top level contributor to one of the primary projects that's open source good in the ethereum ecosystem to incentivize more development and to reward people for all the hard work they're doing or for example another thing recently for Devcon Builder ticket applications they actually asked for your pull-up collection so they could evaluate how much you've contributed to the ecosystem and githubs gave you a boost on getting

a discounted ticket to Defcon 2. so fun stuff like that as well that's really cool yeah how does the attestation work though so let's get into maybe some of the technical stuff let's say I've got an open source project like maybe I have some funding I want to reward those who are contributing with a git Co-op you know the remuneration or like funding of those developers can maybe come later but how does that work is it like this is is the is GitHub looking at commits um how does one gauge the quality of those commits is it when a pull request gets merged like how does that all work yeah you're asking all the good questions so we work directly with maintainers so on board all the projects that we award get poetsu because we want to share with them sort of the vision

around what we're doing and how we can actually support their project and what we've defined as a an atomic unit of contribution so like what we actually Define as a contribution is a merge pull requests because so people love poapps which is a good thing the bad thing is that a lot of people want to like Farm or like get poapps in an un in a dishonest way yeah and so all pull requests to projects are merged by or are reviewed by a human or pull request if you're not familiar is basically just like a suggested code contribution and if it gets merged that is an attestation that it was meaningful yeah it won't get murdered if it's not meaningful and so we're piggybacking off that to only so that maintainers don't need to do

anything separate because that's already like saying that this is a meaningful contribution now the next challenge is like not all pull requests are created equal yeah I was going to say like I can I can edit a readme file all day long I don't know if I can make any meaningful you know code upgrades yeah like any of the stuff that people are building in so that's the next challenge we're working with now so we're starting off simple we're sort of iterating as we go right now you earn your annual contributor get poet for a project by having at least one pull request merged so you could have fixed the typo or you could have built the whole system and you get the same Depo app the next thing that we're working on which is extremely challenging especially at scale is how do you determine how impactful an

individual is to a project yeah and you have lots of metrics like number of pull requests lines of code other projects that developers contribute to all these different things but like lines of code is not a great metric because you could have just updated like some utils file or whatever yeah uh number of pull requests isn't great either because you maybe did five type of fixes opposed to like core features it's very hard to Define you can get a pretty good estimate based on underlying data but it's hard to Define what a truly like meaningful contribution is so that's what we're doing is like right now doing research to figure out how we can actually do that how does that get I mean how does that work now like if you have an open source project that wants to figure out in in a meaningful way who

their most valuable contributors are how do they reason about it now usually like if you ask a maintainer they know and it's usually with softer qualities around like understanding like the impact of what a person's work has done but like a one character change that fixes a critical bug in like some D5 protocol can have like a billion dollar impact but like it's a one character change that looks just like a type of fix so we're also looking at things like all right like what file types are these changes happening in yeah and is there consistent contribution over time for example it's like has this person contributed like every month for the last like 10 years or is it just like sporadic yeah um in terms of how people tell right now like it's it's very hard to come up with the underlying metrics that can actually

Define it but it's easy for a human to assess yeah so like how can we provide tools that don't add more burden to maintainers but allow them to Signal who the most meaningful contributors are is an active research item for us right now okay and I mean does does gitpo app integrate directly with the repositories is it listening to repositories or is that like a sort of like you know is there a decentralized aspect to this or does it need to be yeah you know good question so the cool thing about pops is they're self-sovereign so like you hold them in your own wallet so you're building up reputation that you bring with of course ourselves are on the blockchain but it's more like the yeah you know getting getting data I I suppose it could also be different for

every project so like one project could have could attribute a lot of value to having core maintainers be decided by like a quorum of people or perhaps even a dow could say like these are the these are the most important maintainers and other projects might have like a benevolent dictator model where it's like right one guy's deciding like these are the people who should be awarded the most valuable Pull-Ups so yeah right now what we're doing so our platform integrates uh it basically pulls data from GitHub through the GitHub apis and then issues poapps through the poapp apis so we're sort of the platform that unites it and we have a standard model of awarding these annual contributor pull-ups which is standard across all projects that we onboard yeah and soon what we're doing is we're building right now A View for maintainers like to get

pull-up issuers to create custom sets of get co-ops that they want to award that aren't just tied to software and so that gives like a little bit more control in their hands for how they want to issue things and I'm curious to see what people do with that because I think that can tie into like sort of this softer like who's a more meaningful contributor than others um and also what we don't want to do is like we our specialty is essentially bringing contribution records on chain through issuing poapps and like we're not experts at like assessing meaning of individual projects so like deciding what the most worthy things to reward what we want to do is we want to build tools that enable maintainers to be able to do that on their own yeah and so we're trying to build generic tooling

that allows the maintainers to do things and recognize like things that they already know and bring those Unchained okay yeah I mean that makes sense I mean like every Project's gonna be different every Project's going to have exactly ways that they reason about these things and so if you have sort of a generic yeah it could you could build standards and sort of more opinionated layers on top of that but I suppose like having a generic standard makes more sense and um yeah so you know going like one step ahead of that so now we know okay how these things may get issued and what are the criteria upon which uh get co-ops um might might be um awarded to developers you know one once the developer you know has like 20 gitpo apps for making like super

important meaningful contributions to code how does that impact the developer and what are the some of the things that the developer can gain from um having this like these Badges of Honor yeah that's a great question one thing is it's yeah it's effectively like a self-sover and verified resume and like we're working on bringing utility to that through things like discounted tickets to conferences different uh utility around like fun things like that like airdrops that want to do like retract and public goods funding now we have an on-chain record of like who's been an impactful contributor over time um we are tying into a number of recruiting platforms that are looking for developers and they want to be able to figure out a way to search across like who's the most impactful developers

in the ecosystem so now like you can show up uh and possibly even like find a job that way which is cool um and we're also using GitHub as a platform for contributors to find new projects to contribute to and for projects looking for contributors to find like where the contributors to come join and that's another way is kind of just sort of this like matchmaking service of putting like like-minded people in the same room um I mean maybe one perhaps like to play devil's advocate here like I mean it's great that you guys are building this on chain and everything you have this verifiable record and you know there's censorship resistance aspects to this as well because like a lot of I think a lot of this data probably gets concentrated on

GitHub right and yeah I believe githubs has some sort of badge I mean I don't use GitHub every day but I believe it has like some kind of badge system where developers can be awarded some sort of badge for having contributed but like isn't that enough yeah like I mean but if it's not like couldn't GitHub like build some sort of system that maintainers would be able to award Badges and then you know like people have that on their profile and you could also put it you know integrate with top towel or LinkedIn or whatever like how yeah yeah that's another good question like I would say the big benefit of what we're doing so GitHub is just the start for us and we're eventually going to tie into other types of contribution

platforms you could think like project management software like Trello or like design software like figma and we can tie sort of tie into all these platforms and then the really important part here is that your record of contribution is self-solver exists outside of each of those platforms so like your GitHub badges really only show up on GitHub and somebody has to look at your GitHub profile know how those badges work to understand the meaning of them whereas like with gitpo app yes the name is gitpart maybe we'll change it at some point as we broaden our vision yeah uh you have these standardized credentials that are like outside of any of these platforms so like it can be provide a more holistic view of you as a

contributor and not just tied to one individual platform okay yeah and for onlookers too like many people that aren't active GitHub users don't know how to digest the information on GitHub yeah I mean those badges the GitHub is actually working on rolling out more badges there's a bit of validation in the sense that like these badges are are meaningful thing to do but they're still stuck like on GitHub and they're only for contributions that happen on GitHub so I think it's important to have a separate system to to collect all these attributions and on the other side like you mentioned this at the top of our chat is for projects it can be also a meaningful way for them to um to find developers so there could be some sort of bounty where if you to fix

this bug or if you yeah like about you right like about you where you are awarded some sort of special limited edition gitpo app because you you fix this thing or you like you um you called in a bounty um are there any are you if there's any traction around this sort of thing as well exactly like specific that's another thing that we're working with some projects on right now is like gitpo-up is a platform to help you grow your community of contributors and like turn like passive community members into active contributors and how do you sort of incentivize that behavior like through bounties or things like that and how do you recognize like if somebody provided a really critical bug fix like

how do you recognize that as a higher level than just like somebody who did a typo yeah and coming up with ways to do that we just actually recently rolled out on our site uh borders around the gitpo apps that are based on underlying data of your contributions very Elementary right now it's based on pull requests which is not a great metric but it still gives a pretty a pretty good view of like if you did something that was really important like now you have a gold border or multiple contributors over time now you have a gold border instead of a bronze border and something like fixing a critical a bug or completing a critical Bounty could give you like a higher level or like a rarer more difficult to get co-op yeah and I think if you get the if you figure out the evaluating core contribution aspect

having wanted being awarded a good get po app could unlock like a Dao payment like paying right so there's like this kind of automated yeah um uh sort of payment flows that can then happen I think like once you have to get co-op then you're able to claim a reward that's being held by a dow et cetera like this exactly and like one of the benefits of building on the poapp ecosystem is get pops are pull ups under the hood yeah and we have instant access to all of the poapp Integrations that already exist so like gated Discord servers telegram channels Zoom calls for coordination like you can get those on GitHub or uh with uh get Pro apps yeah you can also do gated GitHub repositories so think about this

this is pretty cool so we're working with Guild right now on a test around you have a group of developers who works on a project together that now have gitpo apps yeah and now you can create a gated GitHub repository based on gitpo upholdings yeah that you can restrict to people that you've like worked on specific projects for uh together and so doing interesting stuff like that like building all these tools and I'm excited to see what people in the ecosystem do with this cool so it's an open platform anybody can use it like create their own gitpo app and exactly create right now we're doing sort of Manual onboarding of projects but we're soon going to open up the platform we have a request flow so if anybody's interested they can go to github.io onboard and initiate the request flow for any projects they

maintained or they contributed to assume we're going to open it up a little bit more to more customization and requesting and we have an API if anybody's interested in ingesting gitpo apps and sort of building on top of this on-train reputation and yeah it's cool it's really exciting I love this I mean I'm not like a developer like I don't push code to I can code but I don't push code to GitHub every day but I think like this is such a cool thing yeah yeah that's fine hey great talking to you yeah thanks for having me on thanks [Music]