Skip to content
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

Generate json file compatible with "FSF License Metadata API" #663

Open
reversi-fun opened this issue Jun 20, 2019 · 2 comments
Open

Generate json file compatible with "FSF License Metadata API" #663

reversi-fun opened this issue Jun 20, 2019 · 2 comments

Comments

@reversi-fun
Copy link

In order to make your data more reusable, please generate the file shown in the title.

"FSF License Metadata API" is defined in the following site.
It is a convenient data format that can be reused.
https://wking.github.io/fsf-api/licenses-full.json

That data format can associate the license identifiers with the catalog name and "tags".
For example,

 {"licenses":{
    "apsl2": { /* fileName of choosealicense.com/_licenses/apsl2.txt  */
       "name": "Apple Public Source License",
         "identifiers": {
                "spdx": ["APSL-2.0"],
                "OSI" : ["Apple Public Source License"],
                "FSF" : ["FSF/apsl"]
                ]
            },
        "tags": [
		"libre"  /* FSF information*/,
                "patent-use" /* choosealicense information */
        ]
   }
 }

Please have a look at the data I made for a trial.
https://github.com/reversi-fun/license_doc_similality1/blob/master/config/choosealicense-attrs.json

From this json data and the similarity of the license text, you can deduce the characteristics of the unknown license.

For example, SPDX / ODC-by-1.0 is not included in choosealicense, but it can be inferred that it has characteristics similar to SPDX / ODbl-1.0.

Please look at the attached figure.
https://github.com/reversi-fun/license_doc_similality1/blob/master/data/lic_graph.sfdp.svg
license-odc-by-ODbl

@mlinksva
Copy link
Contributor

Hi @reversi-fun I'm reluctant to add another data format which others might rely on without thinking through it a bit. The FSF API was created as a stop gap measure by @wking since the FSF doesn't have an easily machine readable version of their list, see https://github.com/wking/fsf-api

However, I welcome this issue because it got me thinking...I suspect it'd be entirely feasible to split out the license metadata from the license texts in this repo, having the metadata in separate data files. That would make using both the metadata and the license texts more trivial, no preprocessing needed. That need for preprocessing has been a minor annoyance for me many times. I'm going to play around with removing it, but no promise on quick turnaround.

@reversi-fun
Copy link
Author

reversi-fun commented Jun 25, 2019

@mlinksva, Thanks to response.
I seems that You want to implement it with license metadata in yoies own format.
OK, I request the following for your license metadata:

  • "Tags" list element is Attribute that defined by you or others.
    • not ["FSF/libre","choosealicense.com/patent-use"] , but ["libre","patent-use"]
  • Ability to map one-to-many license names.
  • Manage a namespace-qualified name that indicates the name of the organization to which the license name has been assigned.
    • There are several groups that manage more license names than SPDX license list.
    • Able to distinguish between licenses of dissimilar articles that each organization has named, as {spdx/libpng,spdx/libpng-2.0,spdx/zlib,FSF/libpng}
    • determines the correspondence between the old SPDX license name that you are aware of and the new SPDX license name.
      (For example, "SPDX/GPL-2.0" is old and deprecated. Only "SPDX/GPL-2.0-only" or "SPDX/GPL-2.0-or-later" are correct names.)
      To that mapping, the analysis of the similarity of the license text, which is the output of my tool is useful.
      • "spdx/Zlib" -> "choosealicense.com-gh-pages/_licenses/zlib
      • "spdx/GPL-2.0-only" -> "choosealicense.com-gh-pages/_licenses/gpl-2.0"
      • "spdx/GPL-2.0-or-later" -> "choosealicense.com-gh-pages/_licenses/gpl-2.0-or-later" /new/
        or
        "choosealicense.com-gh-pages/_licenses/gpl-2.0" -> ["spdx/GPL-2.0-only", "spdx/GPL-2.0-or-later"]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@mlinksva @reversi-fun and others