Add "license" as a first-class concept
A license could be recorded now as metadata, but this issue proposes to make a separate first-class entity in Tiled that is separately exposed in the API. It should be possible to integrate Access Control Policies.
The license should include for example:
- a canonical license name
- a link to the full license text
- a link to the source (e.g. DOI)
- an author name (CC BY ...)
Collecting links to user agreements:
- https://als.lbl.gov/wp-content/uploads/2016/07/nonpropuseragreement_sample-2019.pdf (see Page 6 in particular)
- https://next-gen.materialsproject.org/about/terms
- https://www.esrf.fr/datapolicy
We should consider whether this should be added as a top-level key beside metadata, specs, and references or as a name with special significance within references. (I think we should keep it out of metadata because it's important that that be a user-space namespace with keys that mean nothing to Tiled.)
See comments on the rationale for removing references: https://github.com/bluesky/tiled/issues/432#issue-1657348968
Likewise, I think license should just live within metadata, marked up using some existing standard like JSON-LD.
NERDm uses license as part of its schema. You can see it here:
https://data.nist.gov/od/dm/nerdm/#Resource.license