Deep, then Wide

SourceCred is still a very young project. As we grow it, we have a choice of priorities: do we want to go “wide” (adoption by lots of projects) or “deep” (intensive usage by a few projects)?

Going “wide” is easier. SourceCred can run on any GitHub repo, so we have a path for engagement with the entire GitHub community. We could focus on getting more and more projects to try running SourceCred, and then convert them to regular usage. If we went down this route, we would focus on features that make the existing cred scores more salient and engaging— for example, making it easy to generate “weekly reports” showing the new cred being earned by contributors.

Going “deep” is more challenging. It means finding a way to make SourceCred deeply and durably valuable to individual communities—not as a passing interest, but as something that gets a lot of community engagement, and becomes a part of how that community operates and thinks about itself.

As an added bonus to going wide, progress is much easier to measure, as it’s easier to quantify the number of projects using SourceCred, but hard to quantify the amount of value that SourceCred is adding to any particular project.

Initially, my instinct was to go both wide and deep simultaneously, as is reflected in the 2019 OKRs. Given that going “wide” is both easier and provides clearer incremental feedback (via increasing adoption), this operationalizes as a bias towards going wide rather than deep. I felt this was fine, as going wide presents a larger surface area, which means more outside contributors and developers, which theoretically makes it easier to then go deep. (“Wide then deep.”)

My views changed after an in-person conversation with @anthrocypher. She made a cogent case for going deep rather than wide. Ultimately, for SourceCred to provide the lasting, meaningful value that we envision, it needs to succeed at the deep use case— of producing high quality scores and also having good patterns on how a community can consume those scores in a healthy way. Focusing on going wide allows us to punt on this hard problem, while getting positive feedback along the way (in the form of increased engagement)—but solving the underlying issues of making meaningful, high-quality cred may get harder, not easier, with scale and momentum.

@anthrocypher also pointed out that the wide-not-deep approach brings ethical quandries along with it. If we focus on getting lots of projects onboarded to SourceCred quickly, we may be ignoring consent issues around whether contributors to those communities are comfortable with having their contributions analyzed and quantified. Also, quantification could have a lot of deleterious effects to the community, and we would be pushing this onto third parties before having really deeply engaged with the consequences ourselves.

Overall, these considerations persuaded me that we should engage with the hard problem first, and prioritize going deep. This means focusing on the needs of the SourceCred community. Right now, SourceCred does a bad job of assigning cred within SourceCred itself. The prototype only picks up on GitHub activity, so it greatly over-weights the contributions of @wchargin and myself. My hope is that through the Odyssey plugin and a Discourse plugin, we’ll be able to better pick up on all the other contributions that people are making to SourceCred.

Once SourceCred is doing a great job internally, we can start giving more attention to going wide, working closely with a few other communities that are enthusiastic to try out SourceCred. By that point, the SourceCred that they are adopting will be more sophisticated and nuanced than the one-shot score generator that exists right now.

I think that if we do a good job building a “deep” SourceCred, it will go wide easily—people will want to adopt it (and tell their friends about it) if we’ve gotten to the point where it really works within our community.

So, to sum up: let’s go deep, then wide. :slight_smile:


Very thoughtful. My inclination (often-times wrong, in retrospect) tends to go wide, to gain broad momentum, then dive deep. As a sense-check, I did this exercise interpreting the main criteria you mentioned here and applying my personal values in pair-wise comparisons. It seems that you are correct in your summing up, if going deep has a greater probability of doing no harm, transforming systems and producing better quality cred!

I feel conflicted here. On the one hand, I understand the possible harm in going “wide”. On the other, I see the possible harm in not going wide. I look at the sorry state of open source funding, still. I see the billions being made from OSS by corporations while people that create this shit live in poverty. I think of the gross inequity of it all. And I realize that SourceCred has the power to challenge that. Accurately valuing human contributions is the missing piece don’t you see. The lever of power needed to legitimately negotiate fair pay. Without that, you can’t actually. Sitting around having intellectual debates about whether or not to go wide or deep kinda feels like watching a house burn down and debating whether to use a garden hose or call the fire dept. You are the fucking fire department SourceCred!

On the other hand…if this is actually powerful enough to change society, we had better think deeply about consequences. About consent. And I suppose dogfooding and finding consentual partners to experiment with makes sense.

I may have a good candidate actually. But it would be politically risky to pursue, potentially risking my already tenuous "employment’. If only we lived in a world where the hour I just spent making this comment could increase my economic security, not decrease it due to opportunity costs…

I think if you want to realize the values espoused here, doing the development work to plug discourse into the graph might be a good first step actually.


You can also think of it as deciding whether we should put on our own oxygen mask before helping others. When the oxygen mask in question is a prototype that we’ve developed and hasn’t actually been tested yet. :slight_smile:

Yep. It’s kind of the opposite of “move fast and break things”. Open source projects may be flawed, but they’re also great, and they work. I would be sad to break them.

It’s next on my queue after the Odyssey plugin work that I’m currently integrating. (AKA manual mode cred.)


Re-reading this and it’s more relevant than ever. This approach makes lots of sense - esp since anyone can fork and modify SourceCred for their specific use cases too

I like where @decentralion has landed on the Deep vs Wide question. Discourse wrestled with the exact same question a while back, and landed on the “Rule of Three” - To build something truly reusable, you must convince three different audiences to use it thoroughly first .

Here’s the full post by @codinghorror.


Thanks for sharing, @sriche. Once SourceCred is working reasonably well on itself cred, it will be exciting to find two other projects to partner with. :slight_smile:

… Partner projects… :white_check_mark::wink:

Circling back to this ancient post…would one say were starting to go wide now or are we still going deep but in a more focused and goal oriented way?

or is sourcecred going deep(er) and metacred going wide?

or is something else happening all together?

This felt like an interesting post to stumble upon as it has nothing to do with what I’m working on

but then again maybe it does and that’s how I ended up here. :man_shrugging: