Some first notes on the consent part of the interop spec
consent-first-notes #11
consent-first-notes into main
@ -6,0 +4,4 @@
It could be implemented as a plug-in for [Canimus, the protocol proposed as a content data model](/content/data-model.md). A proposal is being drafted [here](/consent/data-model.md).
## License notice
Several frameworks for license noticing can be taken into account. Copyright and Creative Commons are already defined in Canimus spec for [albums](https://github.com/PlaidWeb/Canimus/blob/main/format.md#album) and [tracks](https://github.com/PlaidWeb/Canimus/blob/main/format.md#track). Ohter license noticing mechanisms from web 3 could be taken into account: Smart contract address or IPFS hash of a legal agreement.
Possibly the best approach could be the official URI to the license spec, and maybe a short name, and leverage existing lists/directories of those (like https://creativecommons.org/licenses/list.en#licenses-40 for creative commons).
There remains a challenge of whether the players may have some form to enforce the license or not, but there could be well defined rules as to how a compliant player should provide a path to said license.
@ -6,0 +21,4 @@
`user_paid == true`: Limit disabled after micropayment.
`current_time > expiration`: Limit auto-disables after a date.
`user.subscription_active == true`: Bypass for subscribers.
Ha interesting but this will be challenging.
Because this applies to full-blown services (with user accounts) like Mirlo we need to consider how much of this should just be enforced by the service and not left to the good will of the player.
What I mean is that maybe a different approach could be, if rules are user-specific or dynamic, the player needs to query "which rules apply to this (work, user, location, etc...) right now?". So this could be included as part of the "streaming protocol".
Both the static "these are the rules so you know" and per-user dynamic checks (the server can enforce them) can be complementary.
@ -6,0 +12,4 @@
### Playback limit types
- **Time-based range limit**: Available only in a start/end timestamp range.
- **Play count**: Maximum number of streams per user per time window (e.g., 3 streams/day).
- **Concurrent stream limit**: Number of streams per user at the same time.
Not sure what concrete situation you mean here by "at the same time"
- docs/specs/consent/data-model.md
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?