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...
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
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)
Extend with another metadata file
escape-metadata.json where we define our own schema.
codemeta.json still valid, lot of freedom with
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