-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Rough draft CFF file #1388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rough draft CFF file #1388
Conversation
Generated this with cffinit & entered whatever data I could find on GitHub for the authors Some data may need to be modified/augmented
I don't think this task is relevant to this PR, but leaving it in to be on the safe side: "Adds description and name entries in the appropriate "what's new" file" |
I just confirmed that indeed GitHub does parse this CFF file and provide a new "Cite this repository" button: Bearing this in mind, I think the README.md will need to change, specifically the "citation" section. I'll add a task for this so it's not forgotten. Note: I won't start working on this yet until there is some discussion/guidance from maintainers. |
I'm in favor of adding this citation file. If we agree we should open an issue to edit the README, as @ColmBhandal notes. |
Is APA the only citation style? We use IEEE. It looks more like this:
anyway not a blocker to me, but unfortunate if that's a limit |
See: citation-file-format/ruby-cff#64 Sadly, it's a limitation of GitHub. Presently the only support APA. |
Not sure it this counts as a "style" but there is a "BibTeX" button next to the APA button, that produces this:
|
I'm not so sure this is a good idea. pvlib python is the product of many more people than the 4 listed in this cff. I think the best practice is to cite the DOI generated by zenodo for the version of pvlib used in a work. We already have the JOSS paper for a too-narrow citation (I'm now a bit ambivalent about the JOSS paper since it's only myself, Mark, and Cliff). Bigger picture question: what are the reasons to cite pvlib python? Give credit to contributors? Give credit to maintainers? Adds credibility to a user's work? Quantifies use of the software which is important for e.g. DOE funding? I feel like the currently proposed cff only manages to advance one of those goals, albeit an important one: give @kanderso-nrel credit. Seems like other maintainers feel differently, and if they still feel that way then I'm fine with moving forward. (Just caught up on the new discussion in the issue - maybe better to respond there?) In any case, thanks @ColmBhandal for the proposal! |
IMO, to point readers of a paper to more information about pvlib. It hadn't occurred to me to also provide a CFF for each release. I was only thinking how to encourage authors to cite JOSS instead of one of the conference papers. |
I think the cff is used by zenodo to create a citation based on the release of the software - so I believe the goal is not to refer to the JOSS/research paper, but to the version of pvlib used in the work that cites it. Ideally that zenodo citation would have all of the contributing authors listed. Perhaps it's not time yet to switch to the cff if the maintenance burden is too great. I looked at matplotlib, scipy, and numpy and none are using a cff
I kept searching:
So I wonder if we want to the first to break ground on this. I apologize to everyone on what seems like a red herring |
@mikofski No research is wasted! Like the original issue said, "what is a citation format file?" I think the various discussions and explorations we've had answers that question. I tend to agree with you that it's probably a better approach to sit back and monitor the CFF usage over the next years, and if it does indeed take off then cross the bridge when you get to it - at which point hopefully there's better support for things like citation styles & automatically keeping it up to date with an author list. So I'm totally happy to close this PR without merging (and maybe the issue could be closed as WON'T-DO also, so that future new contributors don't get sucked into it?) |
Hey folks, @mikofski @cwhanse @wholmgren @kanderso-nrel - I will close this PR by EOD unless anyone has a specific objection to me closing it. I am assuming that the general consensus for the CFF, based on everyone's comments, is "could be good in future - but let's leave it for now". Bearing that in mind, I'd rather close the PR so that it doesn't become one of those stale PRs that hangs around for months and then dies a slow death. Thanks! |
I asked about CFF file on NumFOCUS, got this response: However, I did discover something interesting:
Numpy and SciPy are also using a
I'm still fine with closing this issue and waiting on the CFF, but we might consider adding a I think the long term goals are to:
|
The twitter screenshot confuses me because Zenodo is still issuing new DOIs for every pvlib release. The zenodo DOI in the readme is https://doi.org/10.5281/zenodo.3762635, which resolves to v0.7.2. Zenodo also says
So maybe a short term solution is to update the readme to point to that catch-all DOI. I feel like we discussed this 2-3 years ago too, so maybe I'm forgetting something. |
@wholmgren TBH it went a little over my head b/c I don't understand/know how zenodo is set up to create new DOI's for each release -- but my general takeaway was that this problem of chicken/egg wasn't unique to CFF's, and that a common solution is to make latest point to the versionless DOI, so that stable always points to the current DOI on zenodo, or something like that. Anyway, what do you think about adding a CITATION.bib file instead of a CFF? And if so, would it point to JOSS or zenodo? If JOSS then seems to miss the point of cite this repo (should be zenodo), but if zenodo, then how to generate a complete list of authors, update to current DOI, and then seems like CFF would be the right approach afterall. |
I learned some more interesting info about this lately.
more info: |
Matplotlib now uses a CITATION.cff file FYI. |
Generated this with cffinit & entered whatever data I could find on GitHub for the authors
Some data may need to be modified/augmented
docs/sphinx/source/whatsnew
for all changes. Includes link to the GitHub Issue with:issue:`num`
or this Pull Request with:pull:`num`
. Includes contributor name and/or GitHub username (link with:ghuser:`user`
).As far as I'm aware, a CFF file is a file that you add to your GitHub repo which allows others to cite your repo correctly, and gives them guidelines on how you'd like them to do that. The CFF file is both human and machine readable. For humans, think of it as the analogue to the metadata on a research paper which allows others to cite that research paper- many code repositories don't have such metadata. A CFF aims to solve that.
Because it's machine readable, the CFF is / can be parsed by downstream tooling e.g. GitHub seems to parse it & render the citation info on the repo page, as well as giving others a Bibtex format that they can use to cite the repo in regular research papers.
For more info: https://citation-file-format.github.io/#:~:text=cff%20files%20are%20plain%20text,to%20correctly%20cite%20their%20software.&text=cff%20files%20is%20the%20Citation%20File%20Format%20(CFF)..