-
Notifications
You must be signed in to change notification settings - Fork 106
Description
In a couple of recent Yggdrasil PRs I've been involved with, naming recipes/packages "has come up" (I may have assisted in this part).
E.g.,
- New recipe: MEOS Yggdrasil#9453 (comment)
- [Xorriso] add builder Yggdrasil#10956 (comment)
- Create build_tarballs.jl for norMD Yggdrasil#11075 (comment)
The BinaryBuilder docs, read:
... It should be the name of the upstream package, not for example that of a specific library or executable provided by it, even though they may coincide. The case of the name should match that of the upstream package. Note that the name should be a valid Julia identifier, so it has meet some requirements, among which:
- it cannot start with a number,
- it cannot have spaces, dashes, or dots in the name. You can use underscores to replace them.
I find myself arguing for choosing names which would pass registration as any other Julia package in the Julia General registry, e.g. opting for an UpperCamelCase name in case of ambiguity wrt. the upstream naming, e.g., Xorriso rather than xorriso. Or choosing names which do not include field-specific jargon, MobilityEngineOpenSource rather than MEOS.
Should we add something to the Name section in the docs?
Edit (2025-05-02 08:30 UTC - after some sharpening of my argument):
My two arguments:
- When, and only when, the source project does not specify casing, it might be preferable to choose UpperCamelCase.
- When, and only when, the source project name is only known in a certain field, i.e., not known in general, and the name might clash with other, more common projects (yet to be registered), it might be preferable to disambiguate using the standard Julia package naming standards.