1.5 KiB
NIP-110
License tag
draft
optional
author:degenrocket
This NIP defines how to add licenses to Nostr events.
Problems
Currently, the Nostr ecosystem is growing in a very friendly environment, but once the environment will change to hostile, relays and clients can face legal responsibilities for distributing the copyright-protected content. At the moment of writing, a user who signs a Nostr event doesn't give an explicit permission for his content to be distributed without any restriction.
Another problem is that some users want to use different licenses for different content like text and media files.
Solution
The easiest solution for this problem is to add a license to each signed event in accordance with the SPASM specification.
Then relays and clients can check whether events have an MIT license or any other license and choose whether to display/distribute such events or not.
While adding a dedicated license field (e.g., "license":"MIT"
) would be ideal, the easiest solution with backwards-compatibility is to add a license as a tag.
tags: [
[
"license",
"MIT"
]
]
Implementation
Here is an example of adding an MIT license to each Nostr event as a tag.
let nostrEvent = {
kind: 1,
created_at: Math.floor(Date.now() / 1000),
tags: [
[
"license",
"MIT"
]
],
content: "not your keys, not your words",
pubkey: "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9",
}