Liberal Radicalism In Open Source Software


#1

A recent paper entitled ‘Liberal Radicalism’ explains a mechanism to fund and sustain open source software (and other public goods) in a new and unique fashion. Written by Vitalik Buterin, Glen Weyl, and Zoë Hitzig, the paper introduces a mechanism called ‘CLR’ (‘Capital-constrained Liberal Radicalism’) which I’ll explain in greater detail later a bit below.

A summary of the paper (and the CLR mechanism), is as follows.

We propose a design for philanthropic or publicly-funded seeding to allow (near) optimal provision of a decentralized, self-organizing ecosystem of public goods

Individuals make public goods contributions to projects of value to them. The amount received by the project is (proportional to) the square of the sum of the square roots of contributions received.

We’ll dive into ‘the square of the sum of the square roots’ which is 1) a mouthful and 2) a bit confusing for those who need to brush up on their maths, like me. However, it’s important to note that CLR’s mechanism is 1) is focused on ‘optimally’ funding public goods (like open source software) and 2) is relatively simple to implement.

But First… Why Does It Matter For Open Source?

For the past decade, open source software has been the internet’s largest blind spot. — Nadia Eghbal, Roads & Bridges

As highlighted time and time again, open source software is broken. We currently expect domain-specific expert developers to maintain internet-critical code for less than they could make as first year developers anywhere in the US. Many times, even that much money is a stretch.

I’d recommend reading pages 23–24 of the paper for more. Here are a few snippets, for now.

(As) Lanier (2013) argues, in many ways the open source movement has been a failure. It almost always relies on some level of proprietary corporate backing or directed, hierarchical government support, and even then almost all contributors tend to be geeky men from privileged backgrounds, as others cannot afford to give their time away in this manner…

Open source communities are increasingly trying to address these limitations and provide funding for public goods provision through open source development through a variety of methods.

( Vivek Comment: Including many of the ideas on the Lemonade Stand)

The CLR mechanism is proposed to solve this problem by determining how valuable a piece of software is, then paying the developer (or team, or project) accordingly. A pretty simple idea, really.

It’s also a pretty simple formula to achieve this goal.

  1. Crowdfund individual donations towards open source projects.
  2. ‘Match’ or ‘top-off’ the contributions of individuals from a government, grants program, or private philanthropist

Each of these mechanisms have been tried individually (crowdfunding and large, grant donations). What hasn’t been attempted is putting these two ideas together. If Weyl, Buterin, and Hitzig are right, that will make all the difference.

To me, this is a fascinating way for us to be at the forefront of a movement to sustain and grow open source while testing an innovative economic approach. This also follows @owocki’s growing narrative that the ‘killer app’ of blockchain is the funding that is native to the protocols which are being created.

It also just so happens to coincide with what we’re already doing with Gitcoin Grants…

So What Exactly Is CLR?
CLR is a mechanism that allows individuals to state how much they value a public good, and make a contribution towards that good knowing their contribution could be matched by a philanthropic authority (like EF / ConsenSys) if enough public interest is shown.

An example of this is included by Alex Tabarrok here.

In equilibrium, individual 1 contributes 45/8 to the public good, individual 2 contributes 5/8 and the remainder,15/4, is contributed by the government. But recall that the government had no idea going in what the optimal amount of the public good was. The government used the contribution levels under the top-up mechanism as a signal to decide how much of the public good to produce and almost magically the top-up function is such that citizens will voluntarily contribute exactly the amount that correctly signals how much society as a whole values the public good. Amazing!

This allows for some interesting features, including a main idea relevant to open source: “The mechanism provides much greater funding to many small contributions than to a few large ones.” The fact that many small contributions are made to @austingriffith ’s Burner Wallet means that the EF / ConsenSys / another beneficiary would programmatically contribute more to getting this done than if one big contribution was made.

I still have some brushing up on the maths to fully explain CLR, but the paper / resources help and I think this illustrates it for now.

As I’ve heard Dr. Weyl say in the past, CLR benefits from following the categorical imperative made famous by philosopher Immanuel Kant. “Act only on that maxim through which you can at the same time will that it should become a universal law [of nature].” When you contribute to something via CLR, you know that a contribution is coming back from the universe.

Open Questions

There are a number of open questions associated with CLR, including the following.

  • Sybil resistance: We know that grants which receive many small contributions result in a larger ‘top-off’ value from the ‘benefactor’, incentivizing an attack vector to create multiple dummy accounts to try to confuse the system
  • Reliance on philanthropists: In practice, CLR still suffers from reliance on a benefactor or government, a part of the problem which it purports to solve. The paper simultaneously shows disappointment in OSS leaning on “proprietary corporate backing or directed, hierarchical government support” while CLR still requires a ‘benefactor’ to direct capital towards OSS resources of value. This being said, it is clearly an upgrade to use crowdfunding signals to

Implementing CLR Using Gitcoin Grants

Using ConsenSys Grants + Ethereum Grants as a proxy, build a Liberal Radicalism ‘track’ into the grants program, stating that every contribution from the community will be ‘matched’ by ConsenSys / the EF in the LR fashion.

A further reason we may be uniquely positioned to help push LR forward today is found at the bottom of LR.

Clearly, LR relies heavily on separate human identities and can easily
be exploited if identities can be replicated. Whether these difficulties can be overcome is an interesting question that experimentation and technological advances for identity solutions will reveal.

Given our close tie to Github (and the Sybil resistance this helps offer), we’re uniquely positioned to give this a go now — while decentralized identity is still in it’s infancy.

Next Steps

I think we’ve actually stumbled into being one of the best suited parties to help implement these ideas in a real and constructive way. These experiments fit quite well with both a) Gitcoin Labs and b) Gitcoin Grants.

Open to thoughts, feedback, and questions on this idea. I think there is the potential for usability on Gitcoin Bounties / Gitcoin Grants / potentially CodeFund if we think it’s interesting.

Please feel free to share the conversation link with anyone who you think might be interested in contributing to the discussion.

Resources For Further Reading


#2

Hi,

Tom Veatch here.

This new smoothing method of balancing the distribution of matching funds over a portfolio of charitable initiatives is a thoughtful and creative idea, perhaps especially in the context of a bunch of rich crypto holders who don’t know what next-round tech to fund but strongly believe in the potential of the space and have the resources to back that up, even if the goal is simply to retain or deliver the value in their crypto holdings. An unusual situation, unlike most patronage ecosystems where self interest is less implicated. But that’s fine, it’s a good thing for there to be plenty of money around at least it’s trying to do good things.

So. But: the more fundamental issue for crowdfunding and indeed any fundraising is: getting causes people care about in front of people who care so that the baseline donation level may be increased. Am I naive thinking that REGULAR donations are the main funding source?

In my view the normal crowdfunding of projects is enhanced by the simplicity and wide appeal of the project. This bounty approach of gitcoin and other systems, of reducing the scope of a bounty, reduces wasted competitive work, but drives isolation among donors since few aim for tiny. Community Capitalism (tomveatch.com/pffs) has a discussion of a more expansive approach, which might have more features worth pulling from.

Success will come from those who resolve the difficulties of our history enumerated in the excellent review in the section entitled Funding Models at http://wiki.snowdrift.coop/market-research/history/software

Note the long history of failed tiny-bounty systems there. How will gitcoin do better?

Better yet, How will truly mass adoption donation drives be created, and an ecosystem full of them made to thrive? Kickstarter succeeded in a piece of this by retaining the key features of private ownership while otherwise building a Community Capitalism like structure and system. Can algorithmic project management be achieved? Can retail projects be specified and crowdfunded in open source? Can the problems of Customer Pricing, First Dollar, Last Dollar, and others enumerated long ago at under Community Capitalism be solved effectively?

I think gitcoin is making a heroic stab at it and I’m so happy to have come across you. I am watching with excitement. If I can help I will.

Tom


#3

This is really cool, and I love the idea of supporting open source and the commons, but I think there’s a few attack vectors that need to be explored:

  • Signalling: like sorting on Reddit for the top posts, the top posts get the most attention and continue to be the top posts. In something like FOSS crowdfunding where most people (probably) don’t have a deep understanding of the market landscape or cutting edge software development, what’s most popular is most likely going to be the strongest signal of what to support. This leads to a game where those who can promote their thing the most and fastest get an edge over other participants.
  • Cartels: with a strong incentive to get early support/promotion, there’s an incentive to form cartels where people support projects early on. You can do this by creating a larger game outside of the smaller game of the GitCoin network where you bribe people to support your project, or simply by creating fake accounts.
  • If the whole system if programmatic, and the rewards are paid out in irreversible cryptocurrencies, this means that there’s a yuge incentive to game the system.

Potential Solutions:

  • Staking: make people who ask for grants also place a stake on that request so that they also have skin in the game like in PoS consensus or Numerai’s prediction market?
  • Self Assigned Ratings: a system where the proposer of a grant and the users of the system rate the offering, and the payouts for that offering vary based on the ratings (a variation of what I described here). Could be a single payout relative to the votes after a window of time has passed, or an ongoing rolling review so that if the project is not delivering on it’s promise people who have committed to monthly donations pay less or nothing until that sentiment changes.
  • Challenge/Exit Mechanisms: like Plasma or the Polkadot fishermen, something that incentivizes people to watch for and flag malicious/suspicious activity (such as what looks like sock-puppet/cartel behavior), and exits the crowdfund from the system if it’s found to be invalid/malicious.

Sorry if these have already been discussed/addressed elsewhere, but it seems like in general for any p2p system with rewards there also needs to be downsides and skin in the game for all participants, otherwise you get incentives for ICO like hype and marketing with no downsides or repercussions.


#4

Also, is there a reason that you guys are choosing to host this conversation here (where there’s limited engagement) rather than somewhere like ethresear.ch? Seems like this would be a good fit for the Applications or Economics categories where there’s tons of smart people there who could weigh in on this :slight_smile:


#5

This is a good point, we’ll spin up a thread there as well :slight_smile: