[Discussion] How to scale SourceCred use into an operational tier of organizational compensation

Hello! @prose11 here again from MakerDAO. I was reading up on @decentralion’s post about SourceCred Salary Caps and their thoughts prompted me to create a broader topic, again anchoring itself in MakerDAO since that’s where I have the experience of using SourceCred and am currently tasked with researching and exploring areas of improvement. While such a discussion has obvious benefits for me, I hope SourceCred platform users will also find the questions and thoughts surrounding it to be meaningful (and helpful) to your own journey with scaling.

I believe tacking the scaling question will be critical for SourceCred (both internally and for test communities like MakerDAO). Fundamentally, this program is attempting to revolutionize the way contributors are compensated, and as the thread I linked to above explores, the motivations for how an organization might want to use SourceCred are diverse and user specific. However, at its core SourceCred has to be able to pay contributors a non-trivial amount of currency if it is to be implemented in a wide variety of organizations.

I am noticing a particular potential issue of “double pay” at MakerDAO. The community has addressed this and by and large has stated that members getting paid by the Maker Foundation (or eventually the DAO itself) still deserve to be eligible for SourceCred distributions, barring a few members whose fundamental job is to post on the Maker forum. I agree with this decision, however I don’t think the Maker community has quite worked out the “fairness” of SourceCred to the point where it actually encourages new contributors to join.

The base issue, IMO, is that it is very hard for most new users to be incentivized to get involved with Maker. I imagine this is a common problem across DAOs as without a hierarchical structure in place, it is not always apparent how a new user is to get paid for their time. SourceCred seems like an obvious solution to this problem as it seeks to pay users based on the meaningfulness of their contribution, but in practice (at least for MakerDAO) this plug-in gauge of meaningful contributions is not aligned to the real-world value.

One issue Maker has to tackle is that the top earning SourceCred contributors are also being paid handsomely by the Maker Foundation. So while it is not directly the job of someone on the Smart Contracts team to post on our forum, the work of creating the code is the real meaningful contribution (for which they are paid b the Foundation), but are again paid by SourceCred for posting about it on Maker’s forum. For reasons I am about to get into, I do not think this is a Maker-specific issue, but rather one of the SourceCred algorithm that makes it fundamentally hard to scale at organizations.

I highlighted the issues of using a salary/hourly pay in conjunction with SourceCred above, and will explore that in more detail later, but one concern I have about pushing more grain distributions into SourceCred is that it creates a feedback loop that ends up resembling a hierarchical structure rather quickly, once you have an “old guard” of users established. The way SourceCred is set up (for sure at Maker, but from what I can see here as well), users can create multiple cred streams from a single idea. In practice this looks like getting cred for proposing an idea, more cred for presenting the work that the idea proposed, and even more cred once the implementation goes on-chain/executes in the real world. From an incentive structure this makes sense, since contributing at any stage of this development is useful to the organization and in theory can be done by any actors in the community. But what happens when we compare the cred flows along that path for an established vs a new user?

The big issue I see is that “old guard” members have much more of a following. As such they will receive more “likes,” links, and replies than a new member, even if they both contribute something of equal weight. Part of this is because of social constructs that are hard to counteract, but I think it gets to the deeper issue proposed by @elie in Building SourceCred for the Wider World: SourceCred was designed to break down patriarchal power structures with regards to compensation, but with society still favoring contributions from privileged members, instances that generate Cred will be skewed toward existing power structures. In my example it is an established community member vs a new one, but it could just as easily be a contribution from a man vs one from a woman, or favoring contributions from a neurotypical individual.

Ideally, the community using SourceCred would be aware of these biases, and even have programs in place to help prevent them from entering the workspace. However, it’s worth noting that even if all users were hyper-aware of this phenomenon, SourceCred favors interactions with more established members of the community. In other words, individuals will receive more grain from engaging with privileged members of an organization, economically incentiviezing them to do so over an equal opportunity to engage with someone with less privilege at an organization. In practice, that leaves a user stuck between doing what is right and what will get them paid, a tangential reason for SourceCred’s creation.

Because of this phenomenon, it is unlikely that an organization would be able to exist without having some method of paying contributors outside of SourceCred. Otherwise important ideas (and even ones fundamental to building a more just organization) may not be incentivized. I am curious if the SourceCred community has reached the same conclusion, or if there is something to refute the logic I’ve put forward. Barring that refute, IMO the only way to engage paying a community that is also using SourceCred is to invert the entire concept of paid work. I believe for SourceCred to scale and work effectively, organizations will have to shift their salary/hourly compensation entirely to new/unestablished members. With something like a trial-run or organizational cap on how much can be paid to new members, people wishing to contribute to an organization will be paid until such point that they can be considered “established” already with a body of work within the organization to fuel future contributions.

By greatly increasing grain distributions and factoring some sort of cap/tax as discussed in @decentralion’s post, an organization would be able to function at scale using SourceCred as the primary way to pay its members. While there would undoubtedly be funds lost to “new” members that don’t work out/just join to game the new member pay (probably would have to figure out something to prevent Sybil Attacks as well here) I would posit that they could be controlled to be no greater than the amount already being “wasted” by double paying paid community members for their public posts (after all can you really contribute to a DAO without showing your work to the public?).

If this has already been discussed I do apologize, but from some brief snooping I do not believe that to be the case. Curious to get community reaction on this and if there’s any hope at implementing at scale. I would also like to note that the critical tone of this post is a show of admiration from me. I truly believe there is nothing out there functioning anywhere near how well SourceCred is for its stated purposes. While there are a lot of hard ideas to tackle, I think being over critical of how the program can fail to meet its objectives is what keeps the march of progress toward a world where SourceCred is commonplace; I think this would be a much better world to live in.

7 Likes

An idle thought which may or may not be useful: why not deduct any “salaries” from someone’s grain payout? That makes the salary a floor on compensation, while avoiding double paying high-profile members. Further, once a contributor’s grain compensation exceeds their salary, that salary can then be reclaimed for a new contributor.

3 Likes

I really like that idea thanks for sharing! Definitely would make the whole process easier to swallow and not get in the way of bootstrapping autonomy, which seems to be somewhat of a struggle across organizations.

Curious how intensive a dev project it would be, my thought is that is shouldn’t be too hard but I am constantly underestimating the hours of work “simple” tinkering can take. Basically, you’d just need a data base to pull from that has everyone’s weekly salary attacked to their handle and have the program run through it and deduct before distributing, adding the total to a separate address that could be used to make new-comer payments.

Really neat tweak that makes all my theorizing much more possible thanks @kronosapiens!

1 Like

Hey @prose11, welcome to the Discourse! Super interesting post with a lot of content here. As I understand it, your post has five major points:

  1. SourceCred encourages “double-dipping” by getting rewards for doing the work, promoting the work, etc
  2. SourceCred has positive feedback (“rich get richer”) effects where more prominent contributors are likely to get more Cred for the same amount of work
  3. There’s a “chicken-and-egg” issue where people get paid only after proving themselves through contributions, but they may not be able to commit to make contributions until they’re already getting paid.
  4. MakerDAO in particular has issues around people getting paid from two independent streams (MakerDAO foundation and SC instance) which creates ambiguity and fairness issues
  5. Within MakerDAO, Cred scores are not well aligned with real-world value

I’ll share my thoughts point-by-point. Please point out if I missed any important points!

SourceCred encourages “double-dipping” by getting rewards for doing the work, promoting the work, etc

Right now it’s definitely the case that you can earn more Cred for the same amount of work if you just promote it more effectively. E.g. if I make a feature, I’ll get Cred for the pull requests that implement it. If I then go and write a post promoting it on the forums, I’ll get additional likes there; likewise if I promote it on the Discord.

The underlying issue here is that we are using social reactions on these various platforms as a proxy for the value of the work. We don’t have any “source of truth” for the feature existing, or for how valuable it was or what depended on it, so we fall back on Discourse likes or Discord reactions as a proxy.

We’re working on this from an engineering standpoint–our plan is to build the Creditor, a tool which allows collectively curating nodes in the Cred graph which represent meaningful achievements, e.g. the existence of a feature or partnership. Then, we would not be using Discourse likes as a proxy for the value of the feature, we’d be using Discourse likes only as a proxy for the value of the post. And writing a Discourse post explaining the feature is a valuable contribution! But it should be valued as a post.

To make this a bit more concrete, imagine a duo, Sam and Terry, where Sam is a great implementor and Terry is a great communicator. Sam writes a brilliant new feature, and then Terry writes the Discourse post explaining the feature. Under the current set of incentives, Terry gets most of the Cred, because the Discourse post gets the attention associated with the feature. Once we have the Creditor, we’d be able to flow Cred for the feature to Sam, but Terry would still get Cred for the work of communicating the feature.

SourceCred has positive feedback (“rich get richer”) effects where more prominent contributors are likely to get more Cred for the same amount of work

As with the point above, this is definitely true right now–Cred is mostly based on social feedback, and the social feedback varies depending on who it’s directed towards. To an extent, this will be mitigated by switching more of the reward signal out of the social domain and into the Creditor. However, at a deeper level, I think these kinds of positive feedback loops are simply inherent to human organizations. For example, someone who is well-known will tend to become better known over time, simply because people are talking about them. Attention, celebrity, and social power are self-reinforcing. (This is why the term “social capital” is apt; it’s a form of power that tends to reproduce itself.)

I think to say “SC will have positive feedback cycles, therefore it is broken” is unfair; it holds SC to a utopian standard while not carefully considering the alternatives. In my mind, the competitor to SC here is the system of compensation used by startups and corporations. Those systems tend to be opaque, unaccountable, and (based on the few cases where I’ve gotten to “peek in” and see the cap tables), massively, massively unfair. I suspect that if you had access to look at Maker’s internal compensation systems (including salary and tokens), and compare them to SC’s public figures, you’d find that SC has a much “fairer” distribution than Maker. For example, there are probably early contributors to Maker who got 10x more tokens than any current contributor could attain, even if that current contributor were adding 10x more value. (I could be totally wrong, I don’t know anything about Maker’s internal politics, this is just based on having seen inside of other organizations built on the same template.)

There’s a “chicken-and-egg” issue where people get paid only after proving themselves through contributions, but they may not be able to commit to make contributions until they’re already getting paid.

This is totally an issue–we need a way to give upfront, derisked compensation to contributors so that they can invest and eventually start earning plenty of Grain based on their contributions. Also, this mechanism needs to be decentralized. One idea I have (sort of a v2 of sponsorship) is to make it easy to make “Grain loans” to people. Suppose that I think Valerie will make really awesome contributions once she’s spent two months onboarding. I can give her an advance of 5,000 Grain a month. Once she starts earning Grain of her own, half of her Grain earnings will automatically go to pay down her debt, until she has fully repaid the advance. The debt would only apply within SC, i.e. there’d be no recourse to sue her if she leaves the project, so the sponsor would be taking a fair amount of economic risk. We could support reasonable interest rates to make it economically rational for the sponsor. A nice thing about this approach is that it allows anyone in the community to sponsor anyone they believe in, rather than needing a centrally coordinated hiring process.

MakerDAO in particular has issues around people getting paid from two independent streams (MakerDAO foundation and SC instance) which creates ambiguity and fairness issues

My read is that Maker is basically treating SC as a “bolt-on” piece of extra compensation to reward “external” contributors, while setting up a separate (more privileged) system for rewarding “insider” contributions. This makes sense b.c. Maker is an established organization with insiders that need clear compensation, and SC is still quite immature and struggles to perceive a lot of real and vital value. However, this use case of “external/bolt-on compensation” isn’t the use case SC is designed for and I expect this will create friction in the long run.

If I had my druthers, Maker would enable SC for everyone, and any salaries would act as compensation floors that are guaranteed on top of Grain payouts. So, e.g. if a governance facilitator is guaranteed $5000/month in income, and they earn $3500 from SC, then the Foundation would pay them the remaining $1500.

An advantage to treating the SC payments as the “base layer” is that it means there’s a consistent basic playing field for everyone in the org, and then getting into the privileged insider set gives you more benefits on top of the base layer, but it’s a little easier to navigate into/out of the insider set without having your entire compensation disappear or get re-orged.

In the long run, I expect we’ll keep building better mechanisms to manage these kinds of arrangements, e.g. we could treat Maker foundation payments as a “Grain advance” in the sponsorship model described above.

Within MakerDAO, Cred scores are not well aligned with real-world value

This doesn’t surprise me, since SC is really immature, and is only operating on the forums for Maker. My hope is that the Creditor will give us much better tools for perceiving the real flows of value in an organization, although this is still untested since we haven’t actually prototyped it yet. I’d be interested ot hear more about what you think is getting missed in the MakerDAO case (could be a really valuable topic of its own right).

2 Likes

Like this idea. It’s similar to @kronosapiens’s proposed idea of subtracting salary from Grain, but by making it “additive” (Maker pays the difference if “base” SC pay is below salary), you don’t run into problems of theoretically negative pay, and framing SC as the “base” gets people used to thinking of SC as the foundation of a pay system, not just a bolt on.

On issue that makes solutions like this difficult for Maker (or any org that also has a traditional hierarchy/compensation structure), is one of privacy vs. transparency. I agree with @decentralion that an org having its Cred and Grain scores open like SC does, which is similar to having an open salary and cap table at a startup, is going to lead to a lot more equality generally. Studies have shown that companies with public salaries have smaller gender pay gaps. I mean, would we even be discussing salary caps if grain payments weren’t prominently displayed in our UI?

However, once people have financial privacy in this form, and are benefitting from it, financially and psychologically, taking it away is very difficult. There may be more benefits to all to use a more transparent system, but psychologically, we’re wired to experience loss as much more painful than gains. I think basically, we need to ease people into it. Slowly introduce SourceCred as a supplimental, bolt on benefit if need be. Then just wait for people to get “sorucepilled” and see the potential. Or not. It won’t be a fit for every org. But I’m confident that once people start seeing the benefits of a more transparent system in tangible, real ways, they’ll be more open to SourceCred generally.

1 Like

Really appreciate the comments here, and I apologize that I’ve been distracted with other projects and not able to give a response the time it deserves. Really fired up about the prospect of SourceCred being used as a compensation method to break free from hierarchies and discriminatory pay structures.

This is a huge step forward and, IMO, will allow for scaling of SourceCred beyond the “Tech Sphere.” While you could certainly run projects not related to digital creation with SourceCred now, having the ability to add and modify offline work is a real game changer.

Definitely want to apologize for stating it the way I did. To your point, I fully believe this is the best alternative out there to the system that is currently crushing and taking advantage of labor and creativity. With that said, I wonder how inputs from social capital will effect SourceCred as it scales into being the primary compensation structure at outside projects. In your view, what are some things communities can do to curb this positive feedback loop, particularly in regards to avoiding compensation on patriarchal tendencies?

This is so cool and I would be all over it. I have so many friends that I’m trying to convince to take the dive into decentralized/distributed organizations and if there were a formal way to pay them upfront it would make the pitch so much easier, not to mention alleviate feelings of guilt that often accompany being gifted currency.

This is spot on. Much of my conversations with @s_ben have been around the question of creating buy-in/belief in the SourceCred program at Maker. It seems like it’s pretty universally enjoyed, but there’s a lot of fear surrounding scaling the program into a bigger portion of compensation. I really love your idea of using salaries to coexist in the conversation, with the idea that SourceCred can pay for at least part of it, and if your contribution exceeds your negotiating power you can get paid on top. I suspect this is the path to becoming more reliant on SourceCred.

Thank you both for taking the time here, really look forward to learning more about SourceCred and its growth! And @s_ben a huge thank you for our correspondence, I’ll see if I can type something up later as to attest to your contributions in those voice convos!

thanks for taking your time to write all of this. Really insightful. Some related side comments about :

  • how easily we can forget that SC is only a tool and it will serve a large variety of use for every community. The community is in charge of stating the objectives & the incentives so as to experience the desired value creation.

  • the changes happen for a community across time and so are the needs/objectives

  • the critical need therefore to pair this tool with some objectives & a timeframe. I think the “season” approach proposed by @LB for SC instance is interesting in that sense. And distilling the objectives could be supported with a conviction voting scheme… there might be some seasonal emoji to set an incentive cf. crediquette work @KuraFire

  • an evalutation / recap time to see where the community succeeded / failed based on metrics

I totally agree with the point you raised about

But I would say first : is this bad for the community given its objectives&needs? you may choose for a while to deep dive in your project before going wider for instance :grinning: The other exemple I had in mind, if right, was the large influx of new comers in 1hive that lead them to rethink about how cred should be minted in discord (@befitsandpiper)

If it’s bad. I think you could adjust parameters so as to decrease the weight of minting cred when interacting with the top X members in terms of cred.

Last it’s probably naive on my side but I would say that if I happen to experience being a

then it’s probably that I’m not on the right spot for myself & for the community that I’m part of…but what’s great here, it’s the possibility to opt-out.

1 Like