I believe that the decision was to keep Pkg.jl limited to only building the environment (fetch, solve dependencies, version resolutions, install code). The metadata for package would be handled through something parallel.
This seems like a classic “perfect is the enemy of the good” situation: CodeMeta is the perfect here,
CITATION.bib is the good. The
CITATION.bib convention is truly the dumbest, simplest thing that could possibly work, but it’s extremely pragmatic. The CodeMeta thing is better, smarter, more general… and something that few people seem to know or want to do. To that end, I’d like to propose the following:
- Those who don’t want to deal with CoteMeta should just write
CITATION.bibfiles by hand;
- Authors are encouraged to use CodeMeta as the source of truth and generate
CITATION.bibfiles to check into packages.
It may be possible to write tooling to reverse generate CodeMeta data from the
CITATION.bib format, which should be used as a one-time utility for those who want to transition, after which CodeMeta should be considered the source of truth. This way people using LaTeX for publication only ever need to look at
CITATION.bib and don’t need to install any tooling to parse and format CodeMeta files just to cite something.
It would help to encourage the use of CodeMeta if someone could decipher the standard sufficiently to figure out how to write citations in packages. I have not been able to glean basic things like:
- what the file name should be
- what the relevant field names are
- what tools one should install to parse and transform CodeMeta
- what command invocations are necessary to generate BibTeX from CodeMeta
Without that basic information distilled somewhere, I don’t think CodeMeta has a snowball’s chance in hell of taking off in the Julia ecosystem and this thread merely serves to cast FUD on the already-fairly-successful
I’ve recently fallen into some familiarity with schema after searching high and low for various neuroscience related databases. If someone is truly motivated to become familiar with CodeMeta and translate it they can take a look here.
For what it’s worth, I’m starting to think CodeMeta is a bit of over engineering. Most people don’t care about all the stuff it’s trying to do and those who would care can get all that information elsewhere (e.g., Project files).
Just an FYI. I was led to https://github.com/adamslc/Citations.jl to put citations in docstrings. It needed some love so I did a very basic pull request that makes it so that it loads now. However, if this is something we intend to use to support bib files someone who knows more about text parsing and the documenter system should probably take a look at it.
codemeta.jsonis the standard name (codemeta/codemeta#81)
- the possible fields are listed here: https://codemeta.github.io/terms/
- it’s a JSON file.
doi2bibfunction I posted above, at least in the minimal case of a single
citationgiven by a DOI, although technically the
citationfield is a URL so you’d need split out the part after
http://dx.doi.org/first … you could also support other kinds of URLs as I mentioned above. (The
citationfield can also be an array.)
I agree that their documentation is abysmal, though.