dev_guide icon indicating copy to clipboard operation
dev_guide copied to clipboard

Guidance on package archiving (Zenodo &co)

Open maelle opened this issue 6 years ago • 16 comments

@noamross, you wrote "Archiving - eventually making sure all RO packages go to a scientific repository, not just JOSS packages." in https://discuss.ropensci.org/t/should-the-ropensci-dev-guide-include-package-citation-best-practices/1551/4

How should our guidance about that look like? Recommend setting up Zenodo integration + adding last DOI badge? There's no helper for that right?

And then how to add that latest DOI in the CITATION file automatically? cf also #115

maelle avatar May 14 '19 07:05 maelle

In the current approval template there's

<IF JOSS>
- [ ] Activate Zenodo watching the repo
- [ ] Tag and create a release so as to create a Zenodo version and DOI
- [ ] Submit to JOSS using the Zenodo DOI.  We will tag it for expedited review.
<IF JOSS/>

We could make it

- [ ] Activate Zenodo watching the repo
- [ ] Tag and create a release so as to create a Zenodo version and DOI
- [ ] Add a latest DOI badge to your README and create a CITATION file blablabla.
<IF JOSS>
- [ ] Submit to JOSS using the Zenodo DOI.  We will tag it for expedited review.
<IF JOSS/>

It'd be actually a bit complicated if we were to recommend something else than Zenodo for archiving: some repos would end up with two types of archiving if they were submitted to JOSS.

maelle avatar May 15 '19 10:05 maelle

This seems fine, but I think a better way to in the medium term would be for us to do this, preferably in an automated way. Like, after repo transfer, a single post-approval button should make Zenodo archiving happen, build the docs, etc. (Relatedly we could run some sort of check to make sure CRAN releases after acceptance are also tagged/archived.)

noamross avatar May 15 '19 13:05 noamross

The docs are now built centrally, for each push after repo transfer (very new system though).

Wouldn't the authors want to own the Zenodo thing? And even if we made the archiving happen, it'd be on the authors to add a badge?

maelle avatar May 15 '19 14:05 maelle

Yes, authors should control their own Zenodo record. I just hate piling more tasks on rather than automating them away. Does Zenodo read codemeta.json files yet? If not, maybe rodev can import codemetar and generate both the codemeta and .zenodo.json files? Could it then also insert the badge and make the citation file?

noamross avatar Jun 17 '19 22:06 noamross

I don't think Zenodo reads Codemeta yet cc @cboettig

Even if creating a .zenodo.json there'd be something to activate over at Zenodo, correct?

Automatically inserting the badge will only work fully automatically if the README has markers for the badges paragraph but the function could use usethis::use_badge() that gives an informative message when the badge needs to be added by hand. How would one know what ID to have in the badge? I guess that it's related to my question in the previous paragraph + the R tooling for Zenodo API. :thinking:

maelle avatar Jun 18 '19 09:06 maelle

Postponing this until we get/make an up-to-date Zenodo R client.

maelle avatar Jun 19 '19 15:06 maelle

To be explored https://cran.r-project.org/web/packages/zen4R/index.html

maelle avatar Sep 11 '20 11:09 maelle

R package + PR bot?

maelle avatar Nov 30 '20 14:11 maelle

The topic of package archiving is related to the topic of package citation.

cc @mpadge

maelle avatar Jan 10 '22 12:01 maelle

I think that this issue is best postponed for now and merged with development of ropenscilabs/deposits. I'll open a parallel issue there for a single function which authors can then call locally to automatically create the zenodo deposit. Until then, milestone will be bumped to 0.9.

mpadge avatar May 09 '22 09:05 mpadge

@mpadge could your current work on deposits help with this or should we shift this to a later milestone?

maelle avatar Nov 08 '22 14:11 maelle

Yes, please shift to a later milestone. Thanks

mpadge avatar Nov 09 '22 08:11 mpadge

@mpadge any update on this?

maelle avatar Dec 12 '23 11:12 maelle