Was thinking how this is cool as “Proof of Contribution” vs “Proof of Work” in Bitcoin. Then it dawned on me… what if the data that your cred is based on disappears?
What if a repo is deleted or a Discourse forum shut down in favor of something else like Keybase or Discord? Or more trivially, what if someone deletes a post that is the anchor for a high value thread? What if a core user just deletes their profile, and with it, all their data and posts? Would that change the underlying data and thus make SourceCred retroactively adjust the Cred of everyone who interacted with the data (user or post) that is now gone?
[moderation note: I moved this to a new topic]
This is a good question, and one we haven’t addressed yet.
Our current design for the SourceCred instance system is that every SourceCred instance is a Git repository, where every point in the history contains the full cred graph.
If e.g. a Discourse were to go permanently offline, the content would disappear, but we could keep the cred graph (the record of how the content was connected), so it would be possible to retain the cred for those contributions. However, they would stop getting any future cred, since no new links would be possible.
In the future, we might imagine the community making tools to help projects back up (and potentially restore) key pieces of infrastructure. E.g. snapshot all the raw data every month and store it on Filecoin.
Awesome! That’s great news.
Does this mean that people could fork the SourceCred graph to A/B test new experiments on top of the current data set? Then they could compare that to the original or even create “extensions” or 3rd party experiences/extensions based on the “main game.” If a feature/thing is cool SourceCred would be free to integrate it, but also people can experiment in a way that is opt-in for users and doesn’t disrupt the core SourceCred game. All this is, of course, dependent on the data itself being permanent, verifiable, censorship resistant, and open source. That would be really cool as an evolution of social networks
Yes. The existing UI already supports tweaking the weights and re-generating. In the near term, I’d like research notebooks to allow even more powerful experiments with tweaking the cred.
Also, in the future we’ll support ‘heuristics’ which basically allow adding custom logic that rates or evaluates contributions. And, of course, people can create new plugins that incorporate new data sources.
Going even further afield: we could totally imagine different sub-communities creating their own cred and grain that are based on the shared cred. For example, we could make “documentation Grain” that is exchangeable with Grain in SourceCred, but represents contributions to or support of documentation efforts in particular.
You could even aggregate multiple cred sources (all related to a project, or related to a user across multiple projects) to create a Cred index that is the average of multiple related cred scores
If we had documentationGrain, designGrain, implementationGrain, supportGrain, and so forth: then we could have base Grain be some sort of reserve-backed asset that yeah, acts as an index over all of them. And perhaps by changing the the reserve ratios or pricing or something, the project could express needs like: too few people are doing documentation, exchangeability of documentation grain for base grain increases.