nips/110.md
2023-11-05 23:36:38 +00:00

52 lines
1.4 KiB
Markdown

NIP-110
=======
MIT License
-----------
`draft` `optional` `author:degenrocket`
This NIP defines how to add an MIT license to Nostr events.
### Problem
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.
### Solution
The easiest solution for this problem is to add an MIT 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 and choose whether to display/distribute such events or not.
While adding a dedicated license field (`"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",
}
```