Episode 257

Gitcoin – Aligning Incentives in Open-Source Development

Kevin Owocki

Building open source software is a collaborative process which relies on good faith and willingness of volunteers. While most of the software we use daily relies heavily on open-source libraries, incentive models are broken. Repo maintainers are eager to see their projects evolve, but have little leverage to encourage developers to contribue. And projects contributors create enormous value by dedicating their time and expertise while getting little in return. Both open and closed-source projects utilize bountied to source engineering talent. Combined with blockchain technologies, there is a potential to create efficient, two-sided markets which align incentives for all participants.

We’re joined by Kevin Owocki, who is the Founder of Gitcoin. The Ethereum-based platform leverages the open source community to incentivize and monetize work, remunerating developers for pull requests made to projects. Gitcoin was itself built using Gitcoin and is today facilitating bug bounty payments for dozens of blockchain projects. At the time of writing, over 200 projects have used the platform to distribute over $340,000 in bounties to developers. As Gitcoin continues to grow, the goal is to expand its reach to the broader open-source ecosystem.

Topics discussed in the episode

  • Kevin’s background as a software engineer
  • The fundamental challenges in open-source development and funding
  • What is Gitcoin and how it addresses incentive alignment
  • How Gitcoin works from the perspective of both project funders and contributors
  • The platforms usage statistics (projects funded, contributors, bounties paid, etc.)
  • How Gitcoin may be used to fund closed-source bountied and public goods
  • Kevin’s proposal for recurring payments in Ethereum (EIP1337/ERC948)
  • How Gitcoin is funded and the project’s business model
  • Gitcoin’s roadmap moving forward

Sebastien Couture :  And today on the show, we have Kevin Owocki. Kevin’s the founder of a real interesting project called Gitcoin that is creating a two-sided market between project funders, and so basically people who work on open source projects and contributors who pick up bounty requests. And it’s a real interesting project where all incentive mechanisms are aligned between people who need bounties picked up for their open source projects and people who are willing to pick them up and make a bit of money while they’re at it. What did you think of the interview, Friederike?

Friederike Ernst:  I thought the project actually integrates into the existing ecosystem really nicely. It’s one of the building blocks that was missing. I really enjoyed the interview.

Sebastien:  Yeah. I thought it was fascinating too is that they’ve built this and bootstrapped it and haven’t done an I.C.O. It’s a very simple platform. In fact, we’ll get into this later in the show but they haven’t yet figured out their business model but this guy bootstrapped this project and now a bunch of projects are using it for bounties. So, yeah, it’s quite interesting.

Friederike:  Yeah, that’s actually quite a cool thing. I think this has been lost a little bit in the blockchain world, building something, first making sure it works and then selling it later. It was very refreshing.

Sebastien:  Yeah, it does work. This was quite a few projects to build on. In fact, Psygnosis did use it I think you mentioned during a hackathon. Can you talk a bit about that?

Friederike:  Yes. Basically, there was ETHBerlin that we had here in Berlin a couple of weeks ago. And we actually used Gitcoin to actually roll out the bounties to the developers who partook in the hackathon. And it worked nicely, so kudos to Gitcoin.

Sebastien :  Hi, so we’re here with Kevin Owocki who is the founder of Gitcoin. Kevin, thank you for coming on the podcast.

Kevin Owocki:  Thanks so much for having me.

Sebastien:  Before we get started, why don’t you tell us a bit about your background? You came from software development, what got you involved and interested in cryptocurrencies and Ethereum?

Kevin:  I have a degree in computer science from University of Delaware in 2006 and I’ve always been interested in entrepreneurship and technology and how I could beat a path for myself that was outside of corporate America and not a traditional career path. I think that that’s always been driven by my intellectual curiosity and in the evolution of the web and futurism and Cyberpunk ideas. I spent the first two years of my career in corporate America and absolutely hated it. I found an opportunity to move out to Colorado where I was the C.T.O. of an online dating startup, of all things, for about five years. That was a great experience that threw me in the deep end of technology and entrepreneurship. I’ve bounced around between technology startups for the last 10 or 12 years and was captured in 2011 by the bitcoin whitepaper and the idea of non-state money, the idea that money could be a native protocol of the internet.

But it wasn’t until the Ethereum whitepaper more around 2014, 2015 that I really got into the idea of programmable money. It was conversations with my friend Piper Merriam who’s now a Python team leader at the Ethereum Foundation that really got me into the idea of programmable money and what if we could program our values into our money and that money, those values and those smart contracts were immutable, what kind of better world could we create. I was just really curious about exploring those themes on today’s show and in general and professionally.

Sebastien:  Awesome. I definitely can relate. Reading the Ethereum whitepaper was also quite eye-opening for me and for us in general here on the podcast. Before we get into Gitcoin and go more in depth here, I’m curious, what was the single most important lesson you learned while working for a dating company?

Kevin:  What was the single most important question that I learned . . .

Sebastien:  You said you learned a lot of things but what’s your takeaway from working a couple of years in a dating company?

Kevin:  Liquidity matters. We ran an online dating company for five years and I think that we had 90% men on our platform and only 10% women and it created a real supply and demand problem in the double-sided market that was a dating site.

Sebastien:  I think that’s probably the case for a lot of dating sites. If you just look under the…

Kevin:  Under the hood, yeah.

Sebastien:  Yeah, under the hood. You said you transitioned out of that and into blockchain, so as a developer and working on open source projects, what did you see as some of the fundamental problems in open source development?

Kevin:  Yeah, so I’ve been an entrepreneur and software engineer for pretty much since I joined that company in 2008, so about 10 years now. The one thing I noticed was that everything that I was doing and all of my cohorts were doing is built off of open source web servers and database servers and technology but the value that’s created by open source technology is in the billions of dollars but the value that’s captured by it is much, much less than that. It just seems like a real incentive problem that you can create billions of dollars of economic output with open source software but you can’t capture any of that. I am interested in exploring how to solve that gap and I think that programmable money might be a useful tool in solving that problem.

Friederike:  Good. Then you started Gitcoin. Can you explain to us what Gitcoin is and how it addresses that problem?

Kevin:  Yeah, sure, happily. We have not decided our business model yet and there’s no I.C.O. or no token. Gitcoin is a place where you can get coins if you’re a software engineer. It’s a double-sided market where people who want to fund development, specifically open source software development can put an ERC-20, which is the Ethereum token standard bounty, on any GitHub issue, GitHub issues being where people track change requests whether they’re bug requests or future requests on GitHub. And that will be paid out when that GitHub issue is closed. To date, we’ve done about 2000 transactions between about 200 funders and 600 coders all across the world. Our mission is to support open source software. To grow and sustain open software and bounties is just the first act in how we’re going to grow and sustain open source software and allow software developers to capture some of that value that open source software creates in the world.

Friederike:  Super cool. Can you describe how the user experience is both as a funder and as a contributor? Because they differ from each other, right?

Kevin:  Yeah, that’s right. If you go to gitcoin.co/new, you will see our funder onboarding experience. Basically the way it works is that if you have a GitHub issue, you can paste that into the GitHub issue U.R.L. field on that form and then we’ll pull in a title, a description of that issue, a bunch of keywords and then you can basically tag that bounty with some metadata and attach Ethereum or any ERC-20 token to that bounty. When you click submit, you’ll be asked to confirm the submission of that bounty to Gitcoin and the staking of those tokens to that bounty. Once the transaction clears, your issue will be posted on the GitHub Issue Explorer which is the repository of open work on Gitcoin and it will also be emailed out to our community of 11,000 software developers who are looking to contribute to open source software.

We found that the combination of the tooling with trustless bounty posting and then also the community that’s watching that tooling has been a killer app for funders to instantly add software developers to their project. As we know in the blockchain world, software developers are a pretty important addition to any project and we’re happy to be a recruiter for software development projects in that respect. That’s why people have put over $300,000 worth of bounties on Gitcoin to reach our audience of 11,000 software developers.

To answer the second part of your question, if you are a coder on Gitcoin, you can go to the Gitcoin Issue Explorer or just keep an eye on your inbox and if there is an issue that matches your skill set and you have the time and gumption to turn around the issue, you can click a button called Start Work which basically is a signal to the rest of the network that I’m working on this, please don’t work over top of me. Typically because software development is an abstract thing, there’s a little bit of back and forth that happens with the funder or the repo maintainer on the GitHub issue. We think that GitHub is an excellent collaboration layer for open source software. We are not in the business of reinventing the wheel, we’re just adding an incentivization layer on top of GitHub’s collaboration layer and so we put a lot of the collaboration type stuff over on the GitHub thread because it’s working really well and that’s where open source software is hosted.

You’ll probably go back and forth with the funder a couple of times about what they meant about specific parts of the scope. You will turn around a pull request which is a change request for that piece of software. And then when you’re ready to attest that you have finished with the work, you will press a button called Submit Work which is basically a way of saying, “Here is my Ethereum address. Please pay me for the work that I’ve done.” Then once the funder is happy with that work, they will submit the payment to you and that’s the lifecycle of a Gitcoin bounty. What we found is that this is a low-risk way for coders and people who would hire them to work together. Oftentimes people take their relationship off Gitcoin after they’ve found someone who can provide value to their project and vice versa.

Very happy to have facilitated over a dozen fulltime people working in the space that otherwise would not have built those relationships. That’s the one metric that I’m most proud of is lives change, people are now working professionally in the blockchain space and otherwise wouldn’t be. Yeah, that’s the user experience of Gitcoin on both sides of the market.

Sebastien:  Interesting. If I just recap here, as a project maintainer, let’s say I maintain an open source project and there are issues coming in, so I could be creating these issues myself, my team could be submitting these issues, users could be submitting these issues as well, they show up in GitHub, this is typically what people are used to when using GitHub is they’ll use the issues tool there. Usually there’s some sort of curation of issues, so issues might get tagged as like a bug, a feature, like a critical security pass or something of that nature, then as the software maintainer, as a project maintainer or I guess the funder, I put that issue up on Gitcoin, that creates the call to the market to call upon developers to address this issue.

On the other side of the market, developers or contributors can pick up these issues. When they’re picked up, they’re no longer available to the market while that person’s working on them. You mentioned there may be some back and forth, so that makes sense. Then when the issue has been resolved, a pull request gets sent on GitHub and the project maintainer then, when he approves it, the Gitcoin automatically makes the payment which I forgot to mention which is sort of an escrow while the issue is being worked on. Does that summarize it correctly?

Kevin:  Yeah, that’s pretty much the long and short of it, yeah.

Sebastien:  Okay. Looking at this, I can see a couple of things I want to address. The first would be with regards to GitHub itself seems pretty well-placed to implement the system. If GitHub wanted to implement some sort of a bug bounty reward system, it would be pretty trivial for them to implement that, implement it into the issues platform, like a project maintainer can put up a bounty, that money gets held in escrow by GitHub. Then when the issue gets resolved, the payment gets made, they could even handle dispute resolution, this sort of thing. These types of things exist if you just look at Fiverr or any type of gig economy platform, these things exist. Why do you think this has never been part of GitHub’s business model to implement this sort of thing? Why do you think they’ve not went down that path? It seems like a pretty easy thing for them to do.

Kevin:  It’s funny, it’s apropos that you’re asking me this question right now while I’m in San Francisco. I’m actually from Colorado but I’m out in San Francisco because we’re sponsoring GitHub Universe right now. We think that they’ve built an excellent collaboration layer and our aim is to be the incentivization layer that’s built on top of that collaboration layer. To your point, this idea has been tried before. I think that for the first three months of when I started Gitcoin, every hackathon I went to, a couple of software engineers were like, “Why don’t we combine open source and blockchain and see what happens?” But there’s a certain amount of a lead that Gitcoin’s built up because of my background, 10 years of doing tech startups and experience with software engineering that I think it’s created some momentum for us in the brand category and also in marketing. We’ll get into it later but we’re backed by ConsenSys which is the largest blockchain accelerator in the world.

I think we’ve achieved a scale in our user experience in the liquidity of the pool of software developers on Gitcoin that’s approaching a competitive advantage. But the thing that I’ll say is that people have noted this incentive problem in open source software in the past, namely that it’s easy to create value but it’s hard to capture value. The fundamental difference with Gitcoin relative to bounty sources, for example a web2 version of Gitcoin, and they’ve been around for 10 years, the reason why Gitcoin has a fundamental competitive advantage is because there’s actually funding available for open source software in blockchain. The combined market cap of all these cryptocurrencies is in the hundreds of billions of dollars and this is even in a bear market. Everyone’s chasing too few developers to get attention to their projects. There’s a fundamental shift in the way software development is being funded associated with blockchain and I think that we’re probably the first company that’s figured out how to capitalize on that and create a liquid market for software bounties.

Just to bring it back to the GitHub question, we would absolutely love to partner with them and to bake our futures more into the user interface. We’ll see what happens with our sponsorship of GitHub Universe but looking to exit the blockchain echo chamber and to bring the good news of software development bounties and funding to the broader open source community.

Sebastien:  We’ll maybe get into this a bit later into the usage of the platform but it sounds by what you’re saying, and I guess it does make sense, that most of the projects that are on the marketplace are blockchain related projects. Are you seeing any adoption from web2 projects, other source projects?

Kevin:  No, not really. I think that 95% of the projects that we’ve seen on the platform are blockchain based projects and I think that that’s a result of where our efforts have been and where we have been able to find funding for open source software. We’ve gotten grants from the Ethereum Community Fund and the Ethereum Foundation themselves, MakerDAO Stable Fund. All of these projects want to accelerate blockchain development and help Ethereum 2.0 and projects based on Ethereum go to market faster. We also want to see that happen so it’s been where our focus has been. I think that that’s healthy for where the blockchain space is right now, but eventually we’re going to shift our focus to the broader open source market. Our sponsorship of GitHub Universe in San Francisco this week is just our first litmus test for what that’s going to look like in 2019 and 2020.

Friederike:  You’ve already mentioned a couple of names. Can you go into what projects you found have already successfully bounties on your project?

Kevin:  Yeah, sure, happy to. The other thing that I’ll note is that I think transparency is a really important value for a blockchain project. As part of that ethos, we have built the Gitcoin leaderboard which you can access at gitcoin.co/leaderboard and always see an updated version of the answer I’m about to give you. But to answer your question, we have done a handful of bounties with MetaMask which is the largest Ethereum-based browser wallet in the world. We have done some bounties with the Ethereum Foundation itself. Gitcoin is built with Gitcoin, so any time I have a software development task that I don’t have time for or I am not a subject matter expert in, we put a bounty on Gitcoin’s open source repo and build Gitcoin with Gitcoin so it’s been a way that we’ve been able to do a lot with a small team.

MARKET Protocol which is a derivatives trading platform on Ethereum has used us a lot and if you go down the list, you can see names like Decentraland, cybercongress, Augur, web3j, Giveth. We’ve done bounties with a lot of different projects in the space and it’s been a real blessing to learn from all of the different use cases that people are trying to build in Ethereum because they’re quite vast.

Friederike:  Maybe this is the time to go into some stats. You actually have quite an extensive stats section on your website. How many bounties are there on Gitcoin total?

Kevin:  Right, thanks. As you noted, if you go to gitcoin.co/results, you can also see our updated stats. The reason that we’ve done that is because people typically see the Gitcoin landing page and they say, “This looks well done and it’s a good idea but does it work?” “Well, hey, flip over to the stats section and here’s all our numbers. Do you think it’s working?” To answer you’ve question, we’ve done almost about 1000 bounties on Gitcoin over the last year and we also have this feature called Tips which is just sending money from person A to person B. We’ve done about 1000 of those for a total of 2000 transactions. We have done a total of $343,000 worth of total platform value on Gitcoin. If you break that down by month, that’s on an upwards slope as we get more adoption in the space over time.

The most current stat is 220 funders, reaching audience of just over 10,000 developers and complete 2000 transactions with 550 unique coders. That’s the volume that’s going through the double-sided market in total. On a per unit basis, if you post a bounty on Gitcoin, you can expect that it’ll be started within seven hours. That’s the median bounty start time. You can expect that it’ll be turned around at about 85% success rate once it’s started. That will usually take about six days for the median bounty. The hourly rates on the platform are between $20 and $60 which is quite a wide range but I think that we’re starting to put more analytics into what the hourly rates are for specific bounty types because we think that right now Gitcoin is buoyed by the fact that everyone’s searching for software developers in the blockchain space and so there’s a lot more demand than there is supply.

But over time, we think it’s really important for the brand that there’s healthy hourly rates for Gitcoin bounties because we don’t want to be another Fiverr or another Upwork where it’s just seen as a race to the bottom. We think it’s really important to provide leverage for software developers to lead better lives and to get involved in a space that’s making the world better. We’re really focused on that hourly rate number as Gitcoin grows from having 200 funders to 1000 funders and beyond.

Friederike:  Good. I think you named the numbers, so we could do the math, so what’s the average funding of a bounty?

Kevin:  The average funding of a bounty is about $170.

Friederike:  Cool. Are there bounties that don’t get collected?

Kevin:  Yeah. I’m really glad you asked this question because if you think about the gig economy, I think an example everyone’s really used to is Uber. With Uber, you take me from A to B and you do it safely and there’s no weird quirks and I’ll give you five stars and I’ll give you a tip. But with software development, it’s a little bit different because if I’m asking you to do software development for you, I’m inherently asking you to do something that’s pretty abstract. I would like feature X but then maybe I’ll get a submission that looks like feature X subprime. And then I’ll say back to the coder, “I really wanted X subprime 1 but I just was only able to elaborate it progressively.” I think that that’s one of the more happy paths on Gitcoin. We always ask that people set aside a little bit of budget to deal with progressive elaboration on their bounties.

But I think that there’s like a failure case here in which I either ask for too much and I haven’t funded the bounty at a level in which it’s going to get picked up. We call that underfunding. There is a failure case called underscoping of your issue. If you just put up something that’s not really comprehensible and you don’t provide the right documentation for how to understand the mission of the project and the ethos of the project and how to spin up the docker container for it, then you’re not going to get a lot of bytes. I also think that, quite candidly, Gitcoin is not one giant double-sided market. We’re a bunch of small double-sided markets for Python development and JavaScript development and Solidity development and security bug hunts. Each of these little niches are their own little double-sided market.

It’s like if you go on Airbnb and you search for a house in New York, the liquidity in Florida doesn’t help you with your search in New York. It’s very much the same way when you’re searching for a bounty hunger on Gitcoin. I think that there are some niches that we haven’t figured out exactly how to penetrate within software development. Probably compiler bounties, I haven’t seen a ton of those so we’ll call that the example. Gitcoin is trying to get better at building the muscle to instantly scale a double-sided market as soon as there’s demands but we’re only a small team and we haven’t quite gotten there yet. The third category of failure case that I’m trying to describe is not enough liquidity in the market. That’s the one that I think that we’re really focused on improving in 2019.

Friederike:  I have two little follow-up questions. The first one is how much back and forth is there typically between the funder and the person actually working on the bounty? Secondly, what kind of dispute resolution do you offer? Basically if I fund an issue and I get an absolutely subpar response and they want to collect the bounty for that, what would I do as the funder?

Kevin:  To answer your question, we’ve seen on average three or four comments on GitHub threads between when the bounty is posted and when it’s actually submitted, so I think that’s the answer to your first question. The answer to your second question is how does dispute resolution on Gitcoin work. The thing that we’re trying to instill in our funders here is that an ounce of prevention is worth a pound of cure. The first thing that you can do is do a really good job of scoping out what you want to see and what your coding standards are, what the acceptance criteria for your bounty is. Not all funders do this but the ones that do see way less disputes.

Another feature that we offer is called permissioned bounties. If you’re asking for something that requires a new skill set or subjective submission criteria, for example I do a lot of design bounties on Gitcoin and if I don’t like someone’s design esthetic, it doesn’t mean that their submission was wrong, it just means that I’m not going to be able to use it because it esthetically doesn’t vibe with what I’m trying to do. Approval-required bounties are another way to prevent disputes from happening and so we’ve tried to convince funders to use that as much as possible. That’s prevented a lot of disputes.

The question becomes well what if those two preventive measures don’t work, then what happens? I think that there are two levels of answering your question with respect to how dispute resolution works on Gitcoin. One is what’s the trustless dispute resolution immutability layer for Gitcoin and the second one is what are the social norms that are acceptable in open source software and specifically on Gitcoin. Now, Gitcoin is one of the first bounty networks that actually has scale and that people are actually using Ethereum smart contracts to work for their first crypto and buying their first crypto, and so I think that we’re an interesting test case here.

We’re also very lucky to be working on open source software where there are social norms around what’s acceptable because everything you do is for the most part tied to your real identity, your GitHub profile which is tied to your real identity. We’re lucky that there’s an ethos in open source software where we treat each other like humans and also it’s connected to our real world identity. That creates a social norm where if someone submits something that truly isn’t usable and if it’s against my specifications, then I’ll go back to them and say, “Hey, can you please revise this?” Maybe they will, maybe they won’t. If they do, then maybe we’re back on the happy path. If they don’t, then maybe I’ll tip them 20% in exchange for their time and move on to the next contributor.

We haven’t seen any disputes actually escalated to Gitcoin core yet but we do know that as we scale that it’s something that we’re going to have to be able to deal with. The plan is to leverage Delphi Network which is an arbitration platform that’s being built by the Bounties Network and other ConsenSys project. The way it’s going to work is that in our bounty smart contracts, there’s an address which right now is the NULL address but eventually it’ll be a smart contract that represents five arbiters. Three out of five arbiters will have to vote in your favor in order to send the stake to the funder or to the coder. We’ve put a lot of thought into this and we don’t have it live yet but the T.L.D.R. is that in the meantime social norms have allowed us to create a good user experience without the backing of that smart contract trustless layer.

Sebastien:  On the topic of dispute resolution, this is something that we covered I feel like in previous episodes. You mentioned Delphi Network as a potential dispute resolution mechanism. I’m not super familiar how it works but do you envision that, as you said earlier, those different markets so you might have JavaScript development or Python development or at some point if Gitcoin is successful, you might see Gitcoin open up and get into other types of software development that isn’t specifically related to blockchain. It could be like security or Linux development or Windows development. Do you envision a future where as a project funder, I would specify my dispute resolution mechanism and so the one that best works for my specific use case and also where I know that I’m going to find competent dispute resolution arbiters?

Kevin:  That’s a really good question and I think that dispute resolution is something that’s hopefully we’re going to see a lot more momentum in the broader space in blockchain in 2019. The way the Gitcoin smart contracts are architected is that we’re using standard bounties which is EIP 1081 which is the standard for bounties on Ethereum. There’s actually an address field on the smart contract that allows you to plug and play any arbitration network that exists on Ethereum. I think that we’re most excited about the Delphi Network and what they’re doing with arbitration but as a funder, you’ll be able to build in any number of arbitration networks because of the extensibility of the modular design of that smart contract.

Sebastien:  At the moment, Gitcoin primarily is hosting bounties for the blockchain ecosystem, blockchain projects and what would be desirable would be to see that expand into broader open source development. Companies like Facebook and Google and other large web2 companies use bounties to identify security vulnerabilities on their systems for example that has been quite successful for many of them. Do you see Gitcoin moving into the closed source software space and how would that play out in your view?

Kevin:  I think that by and large the ethos of the project right now, it’s stated right at our mission page is to grow and to stay in open source software, the commons of the software development world. I think that our mission is one of the big reasons why people choose to do bounties on Gitcoin. I like to say that we as web3 designers need to design for humans and not just wallets. One of the things that we’ve learned about human beings is that they decide to do work not only based upon the compensation that they’re doing but also upon the impact that that work is going to have both on their own lives and skill sets but on the world at large, and also whether or not it aligns with their values. I think that the open source ethos of Gitcoin has really buoyed us as we’ve been coming out of seed stage and growing a little bit larger.

Now, that being said, there is a large portion of the world that operates on norms of closed source software. We do plan on building a bridge from the community of Gitcoin contributors that are right now focused on open source and building a bridge to closed source bounties. You can expect that in the future, if you post a bounty on Gitcoin on a closed source repo, it’ll maybe have an option to N.D.A. a contributor and give you instant access to the code base as soon as you’re accepted on that bounty. That’s a future set that you could hope to see in the future.

Really what I think that we’re disrupting when we go into closed source bounties is software development recruitment. Anyone who’s been on LinkedIn for more than six months knows that software development recruitment is broken. Or if you’ve spent some time doing whiteboard interviews, then I think that you might think that your interview for a position as a software engineer in a major tech company maybe doesn’t approximate what the real world user experience of working in that company is. The reason why we want to enter close source bounties is we think that bounties are fundamentally a better way to hire software developers than whiteboard interviews or spraying LinkedIn messages. You can basically just set up a screening bounty for your company and not work on something that approximates what it would be like working at that company but actually work on work that you’d be doing if you worked at that company.

That’s a really great way to understand in a low pressure way, no whiteboard interviews, no long phone calls, no recruiter screens, that’s a way to try before you buy on hiring. We think that that’s not only new feature for Gitcoin but that’s a potential revenue opportunity for the project in the future.

Sebastien:  Sorry, just a side question, what’s a whiteboard interview?

Kevin:  A whiteboard interview is if you’re recruiting for a software development job, you’ll probably go through a phone screen and then you’ll get invited on site. Then you’ll be asked to stand up in front of a whiteboard, in front of a couple of people who would be your teammates and sort a binary tree or something like that. Basically the complaint that software developers often have about whiteboard interviews is that if you want to sort a binary tree in your day job, you just Google how to do it and then you just code it in front of your computer. But a lot of software developers are socially anxious and so standing up in front of a whiteboard and writing something down and explaining your thoughts in front of a panel of three to five people is not really a good approximation of what it’s like to do the job there. That’s what a whiteboard interview is and why it’s bad in 25 seconds.

Friederike:  You’re saying you see this more as a springboard to actually get a stable employment with a company?

Kevin:  Yeah. I think that in some cases bounties are a springboard to get stable employment with a company. We’ve also seen people that are interested in just working for bounties because they like the variety. We have a contributor in Nigeria and we have a contributor in India who are making Western wages by just working for Gitcoin, and so we’ve seen both categories of people on the application.

Friederike:  Typically people also see themselves as part of a company. It’s where people obtain meaning or it’s one of the things that lets people have a narrative about their own life and tell people what they do for a living and who they work for or what they do exactly. In the gig economy, that is something that is lost a little bit, so basically the connection between the company itself and the employee. My question is twofold. Do you think this is something that a lot of people actually want? Do they want to be freelancers and not be tied down but also not have that feeling of belonging to a company? But also, how does that actually pan out for the companies? Basically if you’re a company and you do a lot of your development work, you externalize it by funding bounties, you actually have to specify everything to an excruciating detail to actually get good results.

To me it seems like that wouldn’t work for any kind of task. Of course there are tasks where this works perfectly but if they actually have an effect on the system architecture for instance, this breaks down. Obviously there are well-contained tasks like security testing and small issues, small tickets that you can specify well, but do you think this actually scales? Can you build an entire company just by putting out bounties?

Kevin:  Okay. A, really good question. I’m going to come back to your question but first to frame my answer. I think that we’re building a completely open source financial system that’s based on money becoming a core protocol of the internet as opposed to something that was just bolted on on the side. Right now 95% of the applications in the open source financial system are Wall Street 3.0 sort of financial speculation applications and I am very, very happy to be exploring the ideas of what do open source financial system jobs look like. I think that there is one macro theme that is perpendicular to that open source financial system jobs idea and that’s what happens to jobs if and when they’re unbundled from what traditional employment looks like.

Not to expand the scope of your question but what keeps me up at night is what happens in this new ecosystem to health insurance and to retirement plans and to the stability associated with a traditional employment agreement. There’s a company in Boulder, Colorado called Opolis which is working on that, which I’m very excited about. They want to provide self-sovereign employment that you carry with you from job to job, and so your health insurance and your retirement is just part of this dao that comes with you from company to company.

But to specifically address what you asked me about which was do people want to go from company to company and do you have to specify things in excruciating detail for every single task that’s out there in your company, I think that there’s two major axes. There’s a tradeoff here between stability and variety, both stability of work and variety of work and stability of who you’re working with and variety of recruitment that comes in. The thing that I’ll say is that we think that bounties are just our first act and we’re going to be expanding outside of just bounties in the future. There’s this computer science cliché that they taught me in Computer Science 101 which I’m going to repeat here and that’s that if the only tool that you have in your toolbox is a hammer, then every problem looks like a nail.

Bounties are amazing, I love the Bounties Network, I love the ability to instantly recruit software engineers to Gitcoin, but I think that they’re only good for specific niche tasks where you don’t need to have a lot of trust, you don’t need to provision access, you don’t need to give a lot of context. The next product that we’re going to be launching on Gitcoin is going to be a tool for you to basically give a stipend to an open source contributor over time to contribute to your software development repo. The idea there is that I will use the standard for subscriptions on Ethereum, EIP 1337, to give you a grant or a stipend of $400 per month.

Let’s say that I’ve worked with you Friederike on three or four bounties and I’ve gotten to a point where I can trust you. I know that you deliver good work and I don’t want to spend a bunch of time specifying every single task that you do for Gitcoin. I will give you 400 Dai, Dai is a stablecoin that’s worth $1. I will give you 400 Dai a month bounty and I’ll just say, “Give me $400 worth of value to my repo. You figure out what it is. Here’s your roadmap and thank you very much for becoming a maintainer of my repository.” I think that the short answer to your question is that bounties are great for adding variety to your repository but people need the stability of traditional employment and that will be our second act. You can expect that feature to be launching some time in Q4 2018 on Gitcoin.

Friederike:  Okay, cool. That’s super interesting. You don’t just have bounties, you will also have grants. The third thing that I actually thought about when I read your whitepaper is public goods. Do you think there’s a way to actually fund public goods on your platform? The thing that came to mind was a dominant assurance contract.

Kevin:  Yeah. A couple of answers ago I had mentioned that people want to do work not only that compensates well but aligns with their values and has a positive impact on themselves and on the world. One of the things that we’ve found is that we’re building this substrate for an open source financial system and in a way, you can make an argument that some of the stuff that we’re doing with the Ethereum Foundation and at a critical level is a public good. One of the dynamics that I’m really excited about talking about with respect to this is the prospect of crowdfunding a bounty. Basically if you put forth an idea that’s going to help increase the commons, then everyone should have an incentive to pile on and to add funding to make sure that that bounty actually gets turned around.

Gitcoin does support crowdfunding bounties and I think that we need to do a better job of soliciting donations in crowdfunding bounties. But I think that one of the key things with supporting the commons is to align the individual incentive of the profit incentive of a software developer. Everyone has to pay their mortgage and everyone has to put food on their table. You want to align that individual incentive with what’s good for the community. I think an open source financial system is a really good place to start and there are other commons that we need to support and structure once we solve the problem of an open source financial system.

I’m excited about the work Bounties Network is doing in Bounties for the Ocean which is a bounty that you can get paid out if you clean up trash off of a beach. I’m excited about the way bounties can be applied to combined individual incentives with community incentives in a number of different areas and I hope that we see more of that once we solve the fundamental incentive problem with the traditional financial system by creating an open source financial system.

Friederike:  If as a contributor I actually start working on a bounty, I actually have to press a button that says, “Start work,” right? In that way, I can actually stop other people from working on the same problem and I understand why. You don’t want to create race conditions for contributors, which is nice for contributors. But as a funder, how do I actually make sure that the person who said they were going to work on this actually works on this? Is there some sort of reputation that is at stake? Should they not deliver? In effect, there’s an opportunity cost for the funder, so should locking these issues be priced in some way?

Kevin:  That’s a really great question and I’m glad that you asked it. The one thing I’ll say is that the Start Work button locks the bounty in our traditional bounty type but we do have contests in cooperative bounties which cooperative bounties allow you to work together with other people. Say you’re a designer and I’m a front end engineer, our skill sets complement each other and we can cooperate on a bounty. With competitive bounties, it’s more of a race to get things done. These are dicey because you don’t want to introduce spec work onto your platform. Spec work is speculative work that you don’t know if you’re actually going to get paid.

There’s a predatory element to spec work that we want to keep off of the platform. But there is a valid use case for contest bounties, namely in the sense of like a security bounty where if you get an exploit then you should be able to get paid for that exploit. I think that that’s a healthy use of contest type bounties. Your question was about the race condition of Start Work. Would you mind repeating it real quick?

Friederike:  Sure. Basically the question was as a contributor, the issue actually gets locked for other contributors because they know someone is working on this. But as a funder, do I have control over the contributor that actually takes this? Do they have reputation? Can I say, “No, I don’t want this guy. They haven’t delivered on their past three issues.” Or they say, “I’m working on this,” and then they’re never heard from again? Should they actually have to put up some funds that are slashed if they don’t deliver or should they have a reputation system where you can see this person has consistently delivered for other projects, I should trust them well with locking this bounty and making this unavailable for other people?

Kevin:  Thanks for reorienting me there. We have permissioned bounties which is I’ll select the contributor, they’ll apply and I’ll select them. We also have permissionless which is just anyone can start and work on the bounty. We have found that there’s a small issue with bounty abandonment which is basically someone claims they’re going to work on something and then they go sailing through two weeks and then they don’t come back or they’re just not being responsive. We have a slashing condition there in which we’ll mark prominently on their profile, “This person is not communicative and they might just bail on you.” I think that reputation is being built there.

One of the items on the roadmap for early 2019 is the ability to not only have permissioned bounties and permissionless bounties but have a third option to stake some Ether that says that you’re actually serious about getting this done. Staking is a cryptoeconomic primitive that’s obviously the Ethereum Foundation is excited about with respect to Casper and other projects they’re excited about. We will be building that in to Gitcoin in early 2019.

Sebastien:  Moving on to the next topic and you mentioned it briefly previously is the EIP 1337 or leet. It is a proposed standard for subscriptions on blockchain. This is a proposal that you made on the EIP system and it’s for the ERC-948 token standard. Tell us about this token standard and why you’re advocating for it.

Kevin:  As you noted, it’s EIP 1337 which was an EIP number that I was watching for about a month and a half. For those of you who don’t know, 1337 stands for leet which is short for eleet and it’s from gamers back in the day if you got like a headshot in Doom or something, you’d say, “That’s so eleet.”

Sebastien:  Old geek reference.

Kevin:  It’s an old geek reference. Thank you.

Sebastien:  How many people do you think were looking at this EIP, just waiting for it to come up and posting something on it?

Kevin:  I’ve met at least one person who was like, “Oh man, you got it and I didn’t.” But the way I got it was I wrote a Python script that sent me a copious number of text messages when it was available. But anyway, so that’s just the number and it’s just like . . .

Sebastien:  Your true eleets are . . .

Kevin:  Yeah, that’s some of like the geeky history there. But the reason for the standard is that I think that we’re building an open source financial system and I think that tokens and I.C.O.s are just the first act of this world financial computer that we’re building. I think that I.C.O.s are really great for a lot of things but I do think that subscriptions are a very healthy way of aligning the incentives of DApp founders with consumers of DApps. The issue that I always give to illustrate this is that when you want to subscribe to Netflix which is $10 a month, you just subscribe to Netflix because it’s pretty low risk and there’s not a high information barrier to subscribing to Netflix. I just pay $10 a month and I cancel down the line if I’m not getting value from it.

There’s no whitepaper to read. We’re competing with utility tokens, by the way, which there’s a 45-page whitepaper to read, you have to understand who the founders are, what their vesting schedule is, what is the cryptoeconomic primitive of this whitepaper. I just want to use your product, I don’t want to have to do a ton of research. And so paying $10 a month is something that people are used to in the legacy web and it’s a low risk way of trying things that you can always cancel over time if you end up not using it or not getting value from it.

The other side of the coin is for a DApp founder. If you’re a DApp founder and you choose to do an I.C.O., then you get a lot of money in the door, you have a little bit of regulatory uncertainty associated with that money if you’re in the United States like I am, and you basically have to build utility and then assume that the people who bought your tokens, the speculators are going to be the same people who are going to drive utility from your platform. We think that subscriptions are a fundamentally better way to monetize your DApp because there are no speculators, it’s all just product market fit, who’s going to use my platform.

And also if I have X number of subscribers and I have Y conversion rate and I have Z churn rate, then I know my cash flow 12 months down the line. If you can find an I.C.O. or token-based system that knows their cash flow in 12 months, come find me and tell me about it because I don’t think that that exists in the tokenization model. To be clear, I think that I.C.O.s and tokenization is fundamentally innovative, but I think that subscriptions are meant to provide an alternative funding model for DApps that’s proven out. It works in Web 2.0 and we think that it should exist in Web 3.0.

And so what myself and the many, many other smart people who are involved in EIP 1337 have done is we’ve created a standard for subscriptions on the blockchain that you will be able to just drop into your DApp when we launch in two weeks at DevCon 4 in Prague. Basically the idea is that you just clone our repo and then you can instantly put subscriptions into your DApp. We have a reference implementation that’s been security audited and is ready to just be dropped into your repo, so you don’t have to do a bunch of research in order to put subscriptions into your DApp. You can just clone the repo and put it in there. Hopefully we’ll see a proliferation of projects that monetize with subscriptions instead of tokenization after we launch at DevCon at the end of October this year.

Sebastien:  Okay, so just to understand how this works, I’m a DApp developer, I’m building like a marketplace for . . .

Kevin:  For widgets.

Sebastien:  . . . Git issues or whatever. Okay, I’m building a widget. Typically I would fund that with an I.C.O., utility token or not, that’s not really the question here but you think that an alternative funder model and I guess what would make sense would be to build that DApp and rather than go out and raise a bunch of money through an I.C.O. and distribute these utility tokens, you can simply open that product to the community. As a user, I pay monthly subscription in Ether and I get access to the DApp. How does that work from a user’s perspective? Because I presume you would want to have it done in such a way that the price would be maybe fixed to something a bit more stable like dollars. Is that part of the standard or not?

Kevin:  EIP 1337 is built off of ERC-20 which is the token standard on Ethereum. We do think there is a use case for any ERC-20 token but the ones that we’re most excited about are stablecoins. Basically the way it works is that as a consumer that’s going to sebastienswidgets.com and wants to subscribe to it, you’ll be prompted to purchase a subscription and you’ll sign in a transaction in MetaMask that is your consent to debit the let’s call it 10 Dai a month just to stick with that price piton for Sebastien’s widgets. Sebastien’s widgets ships widgets to you once a month and you can revoke that consent at any time using the smart contract. Basically once you revoke consent, the provider will never be able to charge you again for that widget’s purchase and if you’ve coded sebastienswidgets.com correctly, you’ll stop sending widgets to that consumer. The idea is that you can trustlessly create and revoke consent for those ERC-20 tokens to be debited from your account using the smart contract.

Sebastien: This seems awfully similar to other solutions that people have implemented in the past for things like video streaming where there’s essentially a payment channel that’s opened up and there are transactions that are signed every second or every time period and content that is delivered in exchange. How different is that from like a typical payment channel implementation?

Kevin:  Got it. Yeah, you’re right. The streaming money use case I think is a really important one for the future of the open source financial web. The one thing I’ll say is that I’m on the business models ring at EthMagicians in Prague this fall and I’m by no means a subscriptions maximalist, I just think that the more that we can explore these different business models, the better. The difference between subscriptions and payment channels specifically is a difference in granularity. So subscriptions, the use case is a little bit more once a week and once a month. Also there’s an expectation of how you meter the charges. Basically if I’m paying for a video stream, just to use your video streaming example, and I accidentally leave on my video stream for 72 hours, then I’m liable to get charged for way more than I would if there was just a fixed price $10 a month subscription to your video channel.

I think that the two primary differences between the streaming money use case and subscriptions is, A, the granularity and B, whether you’re metered based off of exact usage or just on a monthly or weekly basis.

Friederike:  Super cool. That’s a fantastic EIP. When do you think it’s going to be available?

Kevin:  We’re in a pending state right now and there’s a reference implementation that has been security audited that you can just drop into your DApp right now in the middle of October. The official launch is at DevCon 4 in Prague which is two weeks away. If any of your listeners are going to be at DevCon 4, please come find me and I will give you a copious amount of schwag. Come find me at DevCon 4. That’s the official launch date, October 30th.

Friederike:  Cool, fantastic. We’ve spoken a lot about financing different things but we haven’t spoken about financing Gitcoin. How do you finance yourselves and how do you make sure you can pay out your own bounties?

Kevin:  Good question. Gitcoin was initially funded by myself with the gains I made in the 2017 bull market for Ethereum. I was lucky enough to be introduced to Joe Lubin who is a cofounder of Ethereum and also the founder of ConsenSys, the largest blockchain venture studio in the world. I was lucky enough that he believed in our mission of growing and sustaining open source software and also realized that Gitcoin is a bolt-on accelerant to his portfolio of 50 to 100 blockchain-based projects. He has agreed to fund us while we explore the intersection of jobs and open source software and bounties and subscriptions and all of that good stuff.

I’m super thankful to Joe and to the ConsenSys mesh for being a supportive place to experiment in this area. I think that long term we’re trying to figure out what our business model is. We have made a decision that I.C.O.s are just the first killer app of the internet of money and we have a wider view than just tokenization and I.C.O.s and don’t want to just take the first exit ramp that’s made available to us. I also think that tokenization and I.C.O.s don’t fundamentally align the incentives of our users and of the founders of the network. I think that for that reason we’ve decided not to do an I.C.O. at least for now.

I’m very excited about the possibility of subscriptions on Gitcoin for all of the reasons that I’ve mentioned to you while we were talking about EIP 1337. I think that subscriptions are a great way of aligning incentives between users and DApp founders over time. I do think that another model that we’re looking at is the just taking a percentage of every bounty that’s on the platform that’s completed successfully. If we’re providing software developers to people who need software development, we think that if you consider the blockchain development rush to be a gold rush, then I think that we’re selling pick axes to the gold miners, so to speak, and that there’s a valid reason why we should be taking maybe 5% or 10% of each bounty. But we’re not exactly sure about that monetization model.

The last answer to your question is that Gitcoin is launching a non-fungible token at DevCon 4 this year and we have a business model that’s built into that non-fungible token that we’re launching at DevCon. I’m pretty excited to see whether or not people use the non-fungible token and whether or not it’s something that can provide us revenue at scale. I guess that’s my overview of the different monetization models that we’re looking at but I will just repeat that Joe Lubin has been the ultimate backer and ConsenSys has been the ultimate support system with a long-term view that is allowing us to explore this space and focus on our users without having to worry a ton about monetization yet. I’m very thankful to Joe and ConsenSys for their support.

Friederike:  Can you expand on the non-fungible token that you mentioned a little bit?

Kevin:  Sure. The official launch is at DevCon and reading between the lines, we’ve been pretty busy launching EIP 1337 and the non-fungible token at the same time. But we’re supported by bounties and Gitcoin is made by Gitcoin, so our small 11-person team is really chugging but we’re supported by a community of 10,000 that’s helping us build this. Trying to launch two major things in one week is something that I think is within the realm of ability for us. But anyway, enough framing.

The non-fungible token that we’re launching is called Kudos and what it is is say you turn around a bounty on Gitcoin and you did a really spectacular job. Gitcoin is issuing a marketplace of beautiful artwork that are attestations that you can attach to your Gitcoin profile. As you’re paying out the bounty, let’s call it $170 bounty because I told you that that’s the average bounty on Gitcoin, for the price of a postage stamp which is about 40 cents, you can show your appreciation for the software developer in your life and send them a JavaScript ninja badge or an open source sustainer badge that they will be able to trade if they want to, if they don’t care about it, or they can just display it on their Gitcoin profile.

Again, this is like LinkedIn endorsements but it’s got beautiful art associated with it and it costs 40 cents. The price is negligible enough that people won’t mind attaching it to a $170 bounty, but it’s high enough that people won’t just like endorsement spam you like you see on LinkedIn. The short answer to your question is that we’re launching an art marketplace on Gitcoin that you can use to show appreciation for the software developers on your team that you’re trying to recruit or build a relationship with.

Sebastien:  Awesome. That’s a great way to get people really excited about software development and open source. Well, Kevin, thank you so much for coming on today. It was great to have you to talk about Gitcoin and we’re looking forward to seeing how the platform evolves in the future. It sounds like already it has picked up quite a bit of attention from the open source development community in the broader ecosystem. We could point to it as one of the platforms that’s getting actual usage, and so congratulations for that.

Kevin:  Yeah. Thank you both for having me on the show and kudos for being great podcast hosts.

Sebastien:  Thank you. I guess we’ll see you at DevCon.

Kevin:  See you there.

Sebastien:  All right, thank you, Kevin.


  • DutchX

    The open, decentralized trading protocol for ERC20 tokens using the Dutch auction mechanism. More at epicenter.tv/dutchx.
  • Microsoft Azure

    Deploy enterprise-ready consortium blockchain networks that scale in just a few clicks. More at aka.ms/epicenter.

0:00:00 | -:--:--

Subcribe to the podcast

New episodes every Tuesday