-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
License field #133
Comments
Another interesting idea: What about allowing an array of licenses to be specified? I just saw the Planet Disaster Data Catalog and it includes:
For dual-licensed data, there is no good way to describe them in STAC, but it could be an array:
|
SPDX supports multiple licenses via AND and/or OR, so perhaps that's sufficient? |
This was discussed in STAC spring #3. We concluded to allow SPDX licenses in the Some interesting SPDX tools I just found:
These tools are probably mostly interesting for clients, e.g. STAC browser. Others handling that issue:
PR still to be done by @jeffnaus or me. |
So now I'm wondering if we need license_url at all, and instead can just include license as a link with rel="license" |
I think I like link with rel=license. Especially if we do have a license name as a property. And yes, I think we start with 'proprietary' for non-SPDX license. I don't think most imagery is 'unlicensed', it's in non-free license. We might choose a subset of SPDX - just the Creative Commons, odbl and public access ones, since software licenses aren't really applicable. We could also say 'custom' and require that the link to the license is there if you use 'custom'. Eventually may be good to say some 'types' of proprietary licenses, like 'derivatives allowed'. But defining that list is far out of the scope of STAC (I've wanted to work on it before, since it is really needed) |
I do see advantages and disadvantages in the rel=license thing:
+1 on +1 on SPDX licenses, but definitely -1 on subset of SPDX licenses within STAC. This complicates things and we need special treatment in the spec, which should be avoided to keep things simple. Licenses not applicable will just not be used anyway. Most times the license is set before making a STAC item so users will not go through the SPDX and choose one, but just look for their pre-defined license identifier. I don't see any benefit on sub-setting. |
I think there will be other cases where info is split up so I don't see that as much of a problem. With Datasets we'd probably want a Dataset field indicating the dataset it belongs to, but then also a link to it, so it's a similar case. |
Either I don't understand your last paragraph or there are some "dataset" that should be replaced by "license"... |
Ah, good point on SPDX licenses. I wasn't thinking of doing a full constraint on them. Maybe just more a 'recommendation' - these are good ones that are relevant to geospatial information. As for the disadvantage, @mojodna seemed less compelled by arguments that 'it's harder for tooling' (like links vs dicts), since it is just a bit of code that has to be written once. |
Sure, it is not a big thing. I'll make a PR next week. |
Is included in the restructuring PR #202. |
This should be completed with the latest PR. |
I am just comparing standards and how they handle certain aspects, e.g. the license field. When looking into STAC I found that there are several inconsistencies in the documentation.
In the JSON spec it says:
extensions/transaction/transaction-fragment.yaml / json-spec/json-schema/stac-item.json / api-spec/STAC-fragment.yaml define the files as follows:
The JSON spec does not mention what the guidelines for non-SPDX licenses are and looking through the SPDX web page I couldn't really find an answer. Additionally, the other mentioned schemas in the repository don't mention anything other than SPDX licenses. So what to do for proprietary licenses?
The catalog (static-catalog/json-schema/catalog.json) even specifies a new JSON object for licenses, which can be used instead of the the SPDX licenses. It doesn't look to be well thought out though, e.g.
shortname
of"format": "email"
sounds confusing:Another question regarding the license in the catalog: Is it the data license or the catalog metadata license?
One of the examples uses it completely different: json-spec/examples/digitalglobe-sample.json contains
(C) COPYRIGHT 2016 DigitalGlobe, Inc., Longmont CO USA 80503
.That should be sorted out and be made uniform across the spec.
Suggestion / Alternative 1: I'd suggest to change the license definition and make it an object.
Fields:
Example for SPDX licenses:
Or a longer form, replicating information from the SPDX list:
Example for non-SPDX licenses:
One thing that bothers me here is that the
url
(or should it belink
?) could also be in the links section with the rel type "license", but that would spread information about licensing in two different places.Alternative 2: If we don't want to change the current specification much, but want to be flexible: Allow only SPDX license identifiers in the license field and require users to add a link with rel
license
to the links for other licenses.What do other specifications/standards do?
license
andrights
.license
holds a reference to "a legal document giving official permission to do something with a Resource".rights
seems to be free text. Note from the docs:MD_LegalConstraints
, which holds several properties, including access and usage constraints, which itself are classes of typeMD_RestrictionCode
, which have actually 8 properties: copyright, patent, patentPending, trademark, license, intellectualPropertyRights, restricted, otherRestrictions. Seems to be completely over the top. Mostly free text and seems to result in overly long "expressions" (Example).rights
and doesn't really cover the license. It is simply a string with "Information about rights held in and over the resource". Example from the spec: "Copyright © 2011, State of Texas"The text was updated successfully, but these errors were encountered: