extend schema
Related to issues escape_metadata_template#6 (moved) and escape_metadata_template#7 (moved)
How to extend our metadata schema?
It is clear we need to extend the schema for several use cases, such as:
- "category" entry to define the content of the software (jupyter-notebook, docker-image, singularity-image...)
- "related entries": where to find related docker and singularity containers, binder URL...
Option 1:
Hack the codemeta or schema.org schema and use an existing entry with our own keywords Example:
"description": some text, docker-container:URL,
"keywords": jupyter-notebook,
Pros: keeps a compatible schema with other services using codemeta / schema.org
Cons: needs a lot of parsing, error-prone
Option 2:
Extend the codemeta schema with new entries. Example:
"authors": John Doe,
"EscapeSoftwareCategoty": jupyter-notebook
Pros: the base schema is the same
Cons: the schema is then considered invalid in theory but many services will still work, parsing only the valid/known entries. There is a risk however that this breaks the use of other services (to be verified)
Option 3:
Extend with another metadata file escape-metadata.json
where we define our own schema.
Pros: codemeta.json
still valid, lot of freedom with escape-metadata.json
Cons: lot of freedom brings lot of issues, maintenance and problems, adds a new file in every repository entry, more complicated
I would personally investigate more in-depth option 2 first