I've thought at length before reputation system. Since I've put any real work into that ([[Designing Decentralized Reputation]]) a few interesting things have happened. First, with the increased review load on the open source [[Ghostty]] project starting to become crushing, the project instituted a "vouch" system. In this system, only developers who were "vouched" for by one of the projects maintainers could submit PRs to the project. I believe the file exists as a simple text file in the project's git repo and may have some automation around its use. While that idea is very cool and may indeed solve the problems that project is having, it's only one project and it's really feasible to generalize that across a very large ecosystem. And that's where [[Tangled]]'s *vouch* system comes in. Inspired by the former, Tangled added the ability to set a simple positive or negative flag for a developer (eventually with a comment) from one identity to another (Tangled is built on the [[ATProto]] ecosystem, and so has the luxury of a relatively strong identification system). The notable here is mostly a side-effect of having that strong ID system: the vouching is somewhat binding because users (generally) value their digital identities. Much of the technical aspects are made easier by ATProto as well.
So with this, I think we can identify the necessary ingredients for a (mostly) functional reputation system:
- Stable, unique user identities
- Ideally ones that the user cares about and is unlikely to abandon
- Incentives to participate in the reputation process
- A place for reputation to be stored and queried
- A reasonable UI to interact with the reputation