softwareSuggestions on schema.orgSee original GitHub issue
Splitting off this conversation from #232 given discussion with the task force on the 1/15 call.
It looks like including “suggestions” in the term name might be better than “dependencies” given that “dependency” and “optional” are kind of antonyms— it should be noted though that the codemeta crosswalk to NodeJS maddeningly includes the NodeJS term “devDependencies / optionalDependencies” and the crosswalk with Ruby includes “add_development_dependency”
R community’s use of the term “suggests” is more clarifying: “your package can use these packages, but doesn’t require them. You might use suggested packages for example datasets, to run tests, build vignettes, or maybe there’s only one function that needs the package.” This description from the R community is a bit different from the current codemeta description: “Optional dependencies, e.g. for optional features, code development, etc.”
The R description implies that the code is deliberately written with accommodations for working with specific R packages, whereas my interpretation had been more general. However, an actual list from the R community shows that the use of “Suggests” is really quite broad (i.e., suggesting
rmarkdown when any R script run in R Studio could use these).
My interpretation is that “suggestions” are really more “recommendations” here. Meaning that rather than just saying people could consider using particular packages, they are listing packages that they endorse as suitable for specific enhancements and added features. For these reasons I’m suggesting a changes to the term description and name in addition to updating my proposal text:
|Current||softwareSuggestions||Optional dependencies , e.g. for optional features, code development, etc.|
|Proposed||addRecommendations||Additional software to enable optional features, code development, interoperability, etc.|
If renaming the term is way out of scope, I would propose at least updating the description.
Updated Schema.org proposal text:
It is sometimes useful to specify when a software package is helpful (but not required) to run or test a specific code or enhance some aspect or implementation of a software package. For instance, something like the Python module “Palettable” could be used to visualize results and make a graph more accessible to people with visual impairments, but it may not be required to render the graph. Similarly, certain R and Python packages may make it easier to generate PDFs and HTML to more easily share code with others (e.g. knitr + R Studio; Jupyter)
A new property named “addRecommendations” could be used to make distinctions between true dependencies that are required to run software, and optional additional software deemed to be particular useful for a given purpose. A property like this could be used to describe something like a “software add-on” (Wikidata item) or a package that just includes useful example datasets but is not needed to run a particular piece of software (e.g., diamonds in ggplot2).
This text is also available for comment here.
- Created 3 years ago
- Comments:13 (5 by maintainers)
Top GitHub Comments
👍 to dropping a term if we don’t think it’s absolutely needed.
+1 to dropping this term as per Force11 Codemeta Task Force call.