okfn / licenses

Open source and open knowledge (data and content) licenses together with API and web service.

Home Page:https://licenses.opendefinition.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Big Refactor

davidread opened this issue · comments

Summary:

  • No longer be a python lib (python just used in bin for s
  • Remove grouping (do it in clients)

Directory layout at the end of this process:

licenses/{id}.json # json
licenses/{id}.json.js # jsonp
bin/ # scripts
index.html # home page
README.md
datapackage.json # data package info

No longer be a Python lib

  1. Remove LicenseList
  2. (?) Remove service.py (issue is this requires client changes e.g. in CKAN)
  3. WONTFIX Put in convenience methods for osi compliant and okd compliant on License object
  4. Deprecate groups (they should move to respective systems using them e.g. CKAN) and only have osi::compliant, okd compliant. Logic: Clients should keep their own list of ids and load from the package or from the API at runtime.

Data

  1. Convert from one big licenses.db into .json files named after the license.
  2. Put in a domain fields of domain_data, domain_content, domain_software being booleans where true indicates this license is applicable to that field.
  3. Remove date_created (meaningless) on license dicts
  4. Remove tags as unused.
  5. is_generic field for "licenses" which are really generic categories rather than licenses.
  6. WONTFIX rename okd_compliant to od_compliant

Deploy

  • Build a couple of consolidated files ...
    • all.json
    • osi.json - all Open Source definition compliant licenses
    • okd.json - all open definition compliant licenses
  • Build jsonp files with callback named licenses_callback and with extension .json.js