SourceCred

SourceCred governance

Not to bikeshed (please don’t reply to this if you think it is or you’ll give me cred), but what is SoureCred’s position on governance? I know that seems like a tomorrow problem. But if this is going to direct money (the end game), it’s going to be political. The most succinct definition of politics I ever heard was “how to decide how to spend the money”. In any SourceCred instance, the parameters choices will always be value judgements, whether subjective or objective (“All Models Are Wrong But Some Are Useful”) . Whether that be the value of PR reviews (“we value helping onboard newcomers, because that’s aligned with our values and goals”), valuing one repo over another (“look, this one is important to the business goals”), the time-variant weights (“we reward older contributions more, to incentivize long-term comittment/thinking”), etc. etc. etc. It’s endless. And when there’s money on the line, SourceCred parameters will become a battleground. I mean that in a good way. I think the main problem with our current political system is that it creates apathy. The most logical response it to check out. Work your corporate job (which you have no control over at the end of the day), drink a beer, watch Game of Thrones, and let (barely) elected representatives/corporate boards make major life decisions for you. People know they’re being fucked, but have no real power so what’s the point? Once people realize there is real, tangible benefit to participating in politics, once politics has been brought to a more granular sphere where your opinion actually matters (via your income), you are going to develop strong opinions. On SourceCred parameters.

Data point. I work primarily for a cryptocurrency DAO (Decred). Which allows token holders to vote on how to spend the treasury (~$18M at exchange rate at the time of writing). Since October, all new funding has been approved (or rejected) by stakeholders. The average turnout is roughly 30%, the highest in crypto. Most proposals have been uncontroversial. Either they pass by a wide margin, or are shitty, low-quality proposals that are overwhelmingly rejected. But there have been a few controversial ones…which have surprised me. And invariably offered interesting insights into community priorities. In the most controversial recent proposal, which turned out %48.62 of stakeholders, a single comment resulted in a stakeholder voting roughly ~100k USD worth of Decred against the proposal, effectively killing it. One comment. The proposal looked like it was passing before that. These are arguably bigger decisions on larger budgets. But I imagine if this is taken down to a more granular level (e.g. every time I submit a PR it is going to generate cred->USD), people will care more, not less.

Perhaps the governance layer is not SourceCred’s problem. There are certainly other cryptos focused on governance willing to service this need (e.g. Aragon). But I’m wondering, what is SourceCred’s stance on governance? Does an awareness of its political importance affect its design considerations?

2 Likes

I see a few questions here (feel free to comment if you think I’m missing any):

  • For projects using SourceCred, how will SourceCred interact with their own governance?
  • How will projects using SourceCred govern their usage of the tool (e.g. parameter choices)?
  • How will the two above influence demands on SourceCred itself, and for governance of SourceCred?

Some thoughts on these subjects:

  • SourceCred can be a very useful input to projects’ governance. To use the example of decred: Politea works because there’s a way to ration votes (based on DCR tokens). Most OS projects don’t have a token associated, and so it’s harder to implement vote-based governance (without getting Boaty mcBoatFace-d). SourceCred makes that much easier; also for crypto projects, having weighted voting that mixes tokens and cred would enfrancise contributors and not just investors.

  • Questions around parameter choices will definitely be political ones, and sometimes the subject of intense controversy. I want to move SourceCred (the team / community) out of the center stage for these questions, by making it very easy to change the parameters, and understand the implications of parameter changes. So each of these fights is a local rather than global issue.

    • Many projects might stick with default parameters, which would tend to make SC’s choices more contentious. We should make it easy to publish alternative full parameter configs (like Babel presets) so that people can come up with different defaults without forking SourceCred. (In general, I want SC to empower communities to ask and answer these questions, but not answer them directly.)
  • Also: once we reach 1.0, I think we should treat any SC change that would change the cred distribution as a breaking change, so that people don’t get surprised by unexpected cred changes.

  • For projects that don’t yet have much in the way of governance, SourceCred can act as a neutral default. I had a conversation a few weeks ago with @mikeal about why people see funding open-source projects directly as a bad idea compared to supporting individual contributors. Basically, he said that many OS projects have really bad governance, and so giving money to the project is a mess. If SC does a reasonable job without much configuration, it can give a way to route around this problem (just distribute the $ via SC) while also giving input for better governance (since it creates legible status).

2 Likes

Most OS projects don’t have a token associated, and so it’s harder to implement vote-based governance (without getting Boaty mcBoatFace-d).

If SourceCred launches Grain for each project, they have a token now:)

SourceCred makes that much easier; also for crypto projects, having weighted voting that mixes tokens and cred would enfrancise contributors and not just investors.

This assumes that the contributors are not also investors. I get paid in DCR, for instance, and have the ability to stake and participate in governance. But yes, by quantifying contributions (work) and creating a token, contributors will likely have a new tool to leverage in negotiation, increasing their sovereignty.

For projects that don’t yet have much in the way of governance, SourceCred can act as a neutral default.

The heart of SourceCred’s value proposition is that it is as objective and neutral as humanly possible. In most cases, the scores just make sense, even if you just use the defaults. It’s “in the neighborhood”, most of the time. However, even assuming the scores are relatively neutral, introducing a governance mechanism based on those neutral scores will never be neutral, as they are applied in a context that is by definition not neutral (as it lacks an objective way to measure contributions). It’s changing the game. Re-valuing some contributions over others. If money is already being distributed to some contributors, adopting SourceCred to change those distributions will be a non-neutral political act.

For projects that don’t yet have much in the way of governance, SourceCred can act as a neutral default. I had a conversation a few weeks ago with @mikeal about why people see funding open-source projects directly as a bad idea compared to supporting individual contributors. Basically, he said that many OS projects have really bad governance, and so giving money to the project is a mess. If SC does a reasonable job without much configuration, it can give a way to route around this problem (just distribute the $ via SC) while also giving input for better governance (since it creates legible status).

Wholeheartedly agree. In fact, having a reasonably simple, robust governance layer as part of the SC “stack” would increase its value I think, and perhaps spur adoption. Most projects do not have the bandwidth to implement such governance systems. This governance layer could materialize in the form of a partnership/integration with a crypto project focused on governance, such as Decred or Aragon.

Thoughts on the big picture Qs:

For projects using SourceCred, how will SourceCred interact with their own governance?

It will act as an input, which will drive decision-making around what to prioritize, with an emphasis on money (presumably, though there could be other big use cases).

How will projects using SourceCred govern their usage of the tool (e.g. parameter choices)?

I keep coming back to MakerDAO. One strategy to governance, which Maker has proven IMO, is to limit the scope of what is voted on to a manageable set of parameters, which are expressive enough to drive the system. In Maker, that is the stability fee (interest paid on loans), debt ceiling, which coins get added for collateral, etc. In SourceCred, there are some obvious parallels. High-level parameters which are expressive enough for the community to express its will and values. For instance, increasing the weight given to pull request reviews is a way to incentivize, among other things, new contributors. Pay for PR reviews, and they will increase in number. Another important variable (possibly the most important, like the stability fee in Maker) is the one determining how to value older vs newer contributions.

Stepping up a level, projects will probably want to weight some repos in their org higher than others. Possibly via some governance mechanism. For instance, to incentivize development of projects tied to certain goals. In Maker, this could have for instance been used to incentivize development of Multi-Collateral Dai (MCD). If the Maker Foundation was displeased with the output of the MCD repo devs (which they were for a long time), or didn’t agree with its direction, it could have lowered the wieght (and therefore money flowing to), MCD developers. Something like this could have potentially avoided the Purple Pill controversy, where developers (crypto anarchists that didn’t want to be directed by a corporate entity) did not respond well to the incentives provided by their traditional employment contracts. It was a binary proposition. Follow marching orders from a corporation (and feel you are compromising your ideals) and continue to receive a fat paycheck. Or don’t, work on whatever the fuck you want (see anarchy) and eventually get fired by an entity that felt misled (which they were apparently), setting back project goals for months or years. If the Maker Foundation could have simply lowered the money going to MCD devs according to measurable progress towards KPIs, instead of firing them, a much healthier negotiation could have occured, via voting. After all, the work had some value. The value of those devs to the community definitely had value. In this scenario, money freed up by giving the anarchists a pay cut could have been allocated to devs that did want to work directly towards the foundation’s goals.

More generally, tokens created based on cred could be used as “governance tokens”, whatever the mechanism (and there are many live experiments happening in crypto right now proving out these ideas). This could be just non-binding polls of community sentiment, binding voting to direct funds or make policy decisions (such as happens on Politeia with DCR), or other mechanisms.

Or, they don’t bother with governing, letting SourceCred (or projects using it) simply provide a service (e.g. distributing donations). SourceCred provides “governance as a service” (GaaS).

How will the two above influence demands on SourceCred itself, and for governance of SourceCred?

Real usage of SourceCred generally will presumably influence its development in some way. If SC feeds into governance mechanisms, projects using it for that purpose may ask for certain things based on that usage (e.g. a new parameter that captures something SC currently does not). As for the governance of SC itself, I just spun up a DAO on Araon. Just as an experiment. It only took a couple hours. It distributes ERC-20 tokens (SCCs) every block according to cred scores, as input manually by me (for now) every week. These tokens can be used to vote in SourceCred community polls that anyone can create, using an easy-to-use voting portal; they have a full stack of voting and governance now which is pretty sweet. A message has been sent on GitHub to each contributor, explaining the project with instructions on how to claim their tokens and vote (check your inbox).

Is he joking? Lol. yes.

Or am I?

1 Like

Member of 1Hive :honeybee: here (an Aragon based project). We’re creating DAO templates and apps to help open source communities make decisions, manage funds, and be sustainable. My focus in that is making sure that someone can go from reading about our project to launching their own DAO (or integrating apps into a current Aragon DAO) in less than 1 hour. To do this we’re rolling out DAO templates that you can configure and deploy via a web app. All you need is an internet browser, Metamask, and some ETH. You can also build a DAO from scratch and customize the apps you integrate. Anyways… the point is, we’re thinking about and working on open source governance/fundraising stuff and happy to jam or help out however we can :slight_smile:

Did you actually build this DAO, or were you joking? (honestly confused at that last part). Anyways, what you described is totally possible (now or in the near future). We’re integrating tons of apps/features into Aragon, so… IF you did build this DAO I’d be very curious to check it out :slight_smile:

1 Like

:wave: @burrrata, welcome to our Discourse. 1Hive looks really interesting, I wrote a post about the Harberger license here: Harberger Grain License

A very big part of the SC vision is eventually using it to create project-specific tokens (see: grain). At that point, we’ll definitely need a DAO, and I’d much rather depend on solutions from Aragon/1Hive rather than roll something from scratch. At the moment, though, my emphasis is on battle-testing and improving the core reputation protocol, and I think setting up a DAO would be a distraction: we can get all the experience we need from the OpenCollective Dogfooding.

@s_ben and @burrrata, feel free to persuade me that SourceCred should get a DAO sooner. I’ll be more receptive to it if one of you is also willing to do the legwork of getting it up and running and reasonably integrated with cred. :slight_smile:

1 Like

EDIT: so tl;dr: I think it makes sense for you guys to use OpenCollective now if that’s easy and it works. That way you can focus on your core product: the SourceCred protocol. I also think that it would make sense to brainstorm what a SourceCred DAO (or DAO template) would look like for you guys (and anyone else who wants to use SourceCred, but also needs governance features). Then we can build a beta DAO, and if you like it… later (after you’ve go the core protocol live and working) explore migrating towards that as the main fund management / governance mechanism.

  • Also, FTR if you just need a DAO to receive and distribute funds that can be set up in like 20min on Aragon. Then you could upgrade it with additional apps/features whenever you wanted. Again tho, if you have a solution that’s satisfactory for all parties involved then just go with that lol

Great! The goal with our DAO templates is to make it so that they can be setup and running in less than 1 hour. All the work happens by the Aragon dev teams to build the infrastructure (and then audit the code), but after that the actual deployment and configuration is super easy. You just need a browser, some ETH, and about an hour.

That being said… from what my understanding of the SourceCred goals (allocations, voting, token vault, redemptions, bonding curves, etc…) most of the Aragon apps to do this are in early beta. They will be ready to be deployed to Rinkeby (Ethereum’s testnet) in about a month. Mainnet launches will probably happen a few months later. This means that I could spend the next few weeks chatting about what you want your DAO to do, then roll out a demo, and if you like it you can upgrade to mainnet whenever you want (this is what we’re doing at 1Hive).

Of course… it’s never quite that easy. Setting up an Aragon DAO with currently built apps is easy, but integrating the actual SourceCred protocol would take some work. For that I’d recommend an Aragon Nest grant. The main feature of Aragon is that every app that gets added to the platform can be integrated into any current or new DAO. As the number of Aragon apps increases linearly, the number of possible DAO configurations increases exponentially. As such, the Aragon community is very keen on funding work to integrate awesome crypto protocols into Aragon DAOs. This would make it so that any community that wants to use an Aragon DAO (which is currently the easiest and most secure DAO framework) would also easily be able to integrate SourceCred with a few clicks. It also means that you guys would be able to offer a DAO package to SourceCred users along with just the protocol. Along the way you could build this sustainably via funding from Aragon. Just throwing that out there…

Anyways… as you can tell I’m super pumped about all this so if you want to chat more about what an Aragon DAO for SourceCred might look like I’d be happy to help set up a beta for you guys :slight_smile:

Cool, thanks for the info @burrrata. We’re agreed on the conclusion that setting up a SC DAO is premature at this point. But let’s definitely keep in touch about it. I like Aragon’s vision a lot and I think our projects are well aligned. (It would be great to meet up with you or other Aragon folks in person – I’m in Berlin all of August, and then will be in Valencia for most of September, if that’s convenient at all.)

Regarding the nest grant: Once we are confident in SourceCred’s ability to rewards people effectively (based on our dogfooding), we could set up a cred instance that’s focused specifically on an Aragon-SC integration, and then pay the nest grant out to contributors according to cred (with the ANT tokens being distributed by the finished DAO). It would be another great dogfooding experiment!

1 Like

Awesome! Yeah I would really like to see that happen :slight_smile:

and I don’t do conferences, but most of the 1Hive team will be at ETHBerlin if you want to sync up and chat. I think you’re already talking to Luke, but the way way to reach out to the team is via our public Keybase chat

Welcome @burrrata! Digging your posts!

Did you actually build this DAO, or were you joking? (honestly confused at that last part). Anyways, what you described is totally possible (now or in the near future). We’re integrating tons of apps/features into Aragon, so… IF you did build this DAO I’d be very curious to check it out Did you actually build this DAO, or were you joking? (honestly confused at that last part). Anyways, what you described is totally possible (now or in the near future). We’re integrating tons of apps/features into Aragon, so… IF you did build this DAO I’d be very curious to check it out 

Heh. Half joking? Really I just got carried away imagining the possibilities, but was also maybe challenging @decentralion a bit by pointing out that nobody needs permission :innocent: :man_shrugging: :japanese_ogre: I do think Aragon offers the best governance stack right now, and could be a good fit for SC.

I also think that it would make sense to brainstorm what a SourceCred DAO (or DAO template) would look like for you guys (and anyone else who wants to use SourceCred, but also needs governance features). Then we can build a beta DAO, and if you like it… later (after you’ve go the core protocol live and working) explore migrating towards that as the main fund management / governance mechanism.

While I agree it’s a little early to start building a SourceCred DAO, I’d definitely be interested in brainstorming.

I took a look at 1Hive and it looks like a rad project! I’m currently writing an article for SC actually on how it might fit into the “DAO stack”. That has me thinking about all the potential problems DAOs face, and 1Hive’s model seems to address them all in what looks like smart design decisions. Can send you a draft of the article if you’re interested. Would be curious to hear any feedback re: my framing of the general DAO problems and how SC might address them.

Also keen to check out Aragon, DAO templates. My main issue right now is just bandwidth. My DAO habit is quite expensive (like heroin expensive), and I need to focus on paid work here for a bit (my main gig is working in the Decred DAO as a technical writer actually, so still DAO’ing it:). I will probably get paid something for this post due to the Dogfooding SourceCred via OpenCollective experiment, if @decentralion integrates Discourse before the end of the month. But I’m imagining this sentence is only worth a couple cents :stuck_out_tongue:

If 1Hive or another DAO project you know wanted to go Deep, then Wide and integrate with SC and provide feedback, that could possibly align enough with SC’s KPIs and budget to be worth some coin…

In any case, happy to spend a few hours sketching out what a SC DAO could look like down the line, checking out 1Hive and Aragon’s offerings. Glad to see all the interesting convos!

2 Likes

Yeah that sounds awesome! The 1Hive model on the website is the MVP. We have like 10 other models being brainstormed and we’re going to do a huge upgrade in the near future. The cool thing about Aragon is that we can add and remove apps in a modular fashion to add features and/or mitigate risk. For example, we could add a Voting app that splits voting between non-fungible token holders (BEEs) and fungible token holders (HONEY) which would require alignment between both groups to make decisions. We can also impliment a locking app so that once you vote YES on a proposal you’re locked in to the org for a while and can’t vote on things that hurt the org and then cash out. There’s also a Challenge app that allows people to submit data to a DAO contract, and then the community can challenge that data if it looks inaccurate - creating a decentralized community driven oracle solution. Anyways… the point is, we’re thinking hard about how to optimize DAOs for various usecases to empower communities, and if we think of something we missed we can always just build an app for that :slight_smile:

It’s just a template for an Aragon DAO: a set of apps and their configuration. Templates can be deployed via the CLI or a web app. Then you just add your members and you’re good to go. Takes < 1hr to go from 0 => DAO.

I feel you. One of the main features/goals of the 1Hive model is to reward contributors so that more people can spend more time supporting the commons. Currently we’re only doing that with magic internet tokens (HONEY), but in the future we’ll make them exchangeable for real money via a Redemptions app or a Bonding Curve. Anyways, if you want to jam on ideas and earn some HONEY :honey_pot: I’ll def nominate you for our next Allocations vote!

I’m not quite sure what you mean here? Are you talking about a collaboration between SourceCred and Aragon to make a SourceCred Aragon app that allows any DAO to integrate the SourceCred protocol into their project to reward contributors? If so, then hell yes! We’d need to get a Nest Grant for that though, and it would require a dedicated amount of time from the SoureCred team and an Aragon dev team (potentially 1Hive). Happy to work to make that happen tho :slight_smile:

1 Like

Integrating SourceCred with Aragon makes a lot of sense, and I would definitely be interested in exploring that possibility. What I mean about the KPIs is just that in SourceCred’s dogfooding experiment, contributors will be paid according to contributions, which are weighted by @decentralion, at least in the initial phases. I am also familiar with SourceCred’s KPIs, which include finding deep partnerships SC can learn from. So I am financially incentivized to further that goal – also ideologically incentivized, as I think this is a better way to pay people. So I am hesitant to commit to something unless there’s a good chance it aligns with those KPIs. I :heart: Aragon though, and am down to to spend a little of my (possibly unpaid) time exploring that possibility.

Interesting… so @decentralion controls the funds, and thus the KPIs? Are those set in stone tho, or subject to change?

Can you please be more specific here. What exactly do you mean when you say “deep partnership?” Does that mean finding domain experts who can contribute to improving SourceCred itself, or does that mean integrating SourceCred with other projects and learning from the experience?

SourceCred’s is sponsored by Protocol Labs, which has an internal quarterly OKR process. For the Q3 OKRs, I set the goals for SourceCred to get some adoption from real users, so that we can start to test + get feedback on the software. Since then, though, I’ve decided to prioritize the dogfooding experiment more highly, as it gives us feedback and real experience in a tight loop that directly grows the project.

For upcoming PL planning, I’m going to try to move it all into the open (e.g. on this Discourse), since planning that is opaque to the community isn’t very well aligned with open source (or nearly as useful as plans).

1 Like