The key challenge for SourceCred is keeping the cred graph accurate and up-to-date. So far, we’ve depended on a mixture of automatic processes (edges between posts and replies) and well-intentioned user behavior (adding references / citations to relevant work). These approaches have gotten us started, but they won’t scale.
For example, consider the SourceCred poster art. Since the poster uses the logo design, it should have an edge to the logo explorations. It doesn’t, because @LB didn’t do the cred-historical work to add the references. And that’s OK! We shouldn’t be expecting every contributor to also be a cred-archaeologist. That would become a big impediment to contributing to SourceCred.
Instead, we should have a specialized group of people–Curators–whose primary role is to upkeep the cred graph, and are rewarded for doing so. Modifying the cred graph is a sensitive matter, requiring trust, and many modifications will require review. So we’ll rate limit curation with mana, which represents trust earned by contributing to or sponsoring the project.
Boosting is the simplest spell a curator can cast, and requires the least trust/mana. A boost basically injects cred into a node. A curator does this when they think the node is under-valued, and will become more valuable in the future.
In exchange for spending their mana to boost, the curator gets a new edge in the graph, connecting the boosted node to the curator. The weight on this edge is inversely proportional to the existing cred of the node (so you get more for boosting low-cred nodes).
Thus, a curator is incentivized to boost a node that they believe will get more cred in the future. (Note that the future cred will likely come from sources other than boosting, so it’s not a “greater fool” type game.)
The second curator spell creates a new edge in the graph. This is how a curator could, for example, properly connect the poster art to the logo work. The curator then has an interest in the edge, and recieves a fraction of the cred that flows across this edge. (From an implementation perspective, we’ll probably implement the curator edge as a node, which has edges to the curator and to the target content.)
Adding edges is sensitive and more subject to abuse than Boosting. It could be used to parasitically leach value out of important contributions. Therefore, (at least initially) every added edge will be reviewed by a trusted leader of the project. We’ll develop more sophisticated governance, review, and appeals as we go.
Note: an effective curator strategy when discovering a node getting insufficient recognition will be to first boost the node (thus getting an interest in its future cred) and then create edges to the node. Provided that the newly created edges are legit, this is a fine strategy.
Often times there will be contributions that aren’t properly represented by any existing node. Possibly there will be a curator spell to create a new node for a contribution. Although it’s not clear if this is necessarily a curator ability, or if this is a permission we’ll grant to any contributor. (Creating a new node without incoming edges doesn’t require much trust, since it won’t flow any cred; it’s adding the edges to that node that is more tricky.)
On occasion we’ll find a need to refactor the cred graph. For example, we could imagine that we have a single node representing the Discourse plugin, and it now has become hopelessly complicated with dozens of commits focusing on different parts of the plugin. An ambitious curator could refactor the graph, replacing the single Discourse plugin node with sub-nodes representing different features or pieces of it.
This should be an expensive spell, because it’s sensitive and will require thoughtful review by others in the project.
Is Boosting A Pyramid Scheme?
Taken at its face, the curation game may sound like some kind of pyramid scheme. Every curator who invests in a node (boosts it) is hoping that there will be future cred coming to that node. But if cred comes from boosting, who will be the last booster?
The answer in the medium term is that the rewards will come from growth. If people do new, exciting work on the project, people will want to boost it, creating new cred. And the new work will depend on the old work, meaning payouts for the boosters–even the last booster–of the old work. (This depends on proper edges connecting the new work to the old work, but curators will be well-positioned to ensure those edges exist.)
In the long run, many projects may arrive at a steady state (‘maintenance mode’) where not much new work is happening, and not much new cred is being created. At that point, if the project is providing real value to the world (e.g. widely depended upon), then we’ll use mechanisms like Grain to flow tokens or other value directly on the cred graph. Thus, the true “last boosters” (as the project reaches maintenance mode) will get paid by the real users of the project.
@s_ben often talks about “future cred historians” picking through the early discourse posts to fix up the cred distribution and catch the things that were missed by early iterations of the algorithm. My hope is that this system will both enable and incentivize such historians, and thus bring that future much closer to the present.