Tangled did a good post about contributions that I’ll need to follow up on but in the context of CRDTs I think it’s worth calling out a few differences and discussing best practices
Constraints
- CRDTs require storage of some portion of an OP Log
- Some portion of the storage will be on a hosted server (PDS)
- A portion of those servers will be self hosted by an individual
- Contributions can come from many users
- There is a value in allowing contributions from a wide swath of users.
Concerns
- Legal - To build a system which operates globally we have to deal with a wide variety of local laws related to the culpability of operators who host user generated data.
- Disappearing Contributors - Users may choose to remove any participation they control the hosting of for any reason, or have that participation removed due to financial or legal issues.
- Data Ownership / Right to Be forgotten - The law in many jurisdictions places strong emphasis on people owning their own data and a right to request services to remove their data in some form.
There are likely several different use cases here for instance 2 friend working on a movie script and wikipedia have very different sharing modalities, different answers for different modalities are acceptable.