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](https://github.com/degenrocket/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. ```js tags: [ [ "license", "MIT" ] ] ``` ### Implementation Here is an example of adding an MIT license to each Nostr event as a tag. ```js let nostrEvent = { kind: 1, created_at: Math.floor(Date.now() / 1000), tags: [ [ "license", "MIT" ] ], content: "not your keys, not your words", pubkey: "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9", } ```