Submitting author: @Logological (Tristan Miller)
Repository: https://github.com/logological/gpp.git
Version: 2.27
Editor: @gkthiruvathukal
Reviewer: @Smattr, @drj11
Archive: 10.5281/zenodo.3961322
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
Status badge code:
HTML: <a href="https://joss.theoj.org/papers/974b479d51a2f14b91bf04496fb7a814"><img src="https://joss.theoj.org/papers/974b479d51a2f14b91bf04496fb7a814/status.svg"></a>
Markdown: [](https://joss.theoj.org/papers/974b479d51a2f14b91bf04496fb7a814)
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
@Smattr & @drj11, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @gkthiruvathukal know.
✨ Please try and complete your review in the next six weeks ✨
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @Smattr, @drj11 it looks like you're currently assigned to review this paper :tada:.
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
:star: Important :star:
If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿
To fix this do the following two things:
For a list of things I can do to help you, just type:
@whedon commands
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
@whedon generate pdf
Reference check summary:
OK DOIs
- 10.1007/978-3-642-37521-7_5 is OK
- 10.1109/WCRE.2001.957833 is OK
- 10.1145/363717.363746 is OK
- 10.1016/0066-4138(69)90001-9 is OK
- 10.1109/TSE.2002.1158288 is OK
- 10.1145/2211616.2211617 is OK
- 10.1093/comjnl/28.1.29 is OK
- 10.1007/978-1-4842-5149-2_10 is OK
- 10.1145/367177.367223 is OK
- 10.1145/987316.987320 is OK
- 10.1145/800197.806048 is OK
- 10.1109/IPCC.1992.673146 is OK
- 10.1093/comjnl/8.3.225 is OK
- 10.1093/comjnl/23.3.194 is OK
MISSING DOIs
- None
INVALID DOIs
- None
Hi @Smattr and @drj11, can you please give a brief update on progress to review this submission? Thank you!
Certainly. I made progress on a few of the initial checklist items, as indicated above. However, unfortunately I didn't have much time over the last couple of weeks to do more than that. I should have time this coming week to get deeper into the review.
Thanks, @Smattr. Just was doing a gentle nudge to ensure continued progress.
A couple of questions:
@smattr: According to the review criteria, a fully automated test suite is not required. It is acceptable to provide instead "documented manual steps that can be followed to objectively check the expected functionality of the software (e.g., a sample input file to assert behaviour)". I believe that we've met this requirement by including in the distribution a rather large example input file and its output—namely, the GPP documentation itself. As we write in the README and on the GPP website,
Note that the documentation itself is generated by GPP using an input file (
gpp.pp
) with macros that can automatically produce HTML, LaTeX, or troff (man page) output. Studying this file should prove instructive, and manually running it through GPP can serve as a basic test of the program's functionality.
Besides this, the documentation includes a large number of example code snippets, most of which are accompanied by the expected output or a prose description thereof.
Providing an automated test suite using Automake is something that I'd eventually like to do, though this will take some effort and, given what I've written above, I didn't think it necessary to do so for the JOSS submission.
@gkthiruvathukal to be perfectly honest it had dropped off my radar. However, I am proceeding with best speed this week.
@gkthiruvathukal The checkbox for LICENSE requires specifically a LICENSE
file. This repository has a COPYING
file, which clearly fulfills the same purpose (it is an older, GPL-era, convention). Should I file an issue to copy the text to LICENSE
? This reviewer would probably prefer that the guidelines accept either.
I am giving a generous amount of wiggle room for "non-specialist audience" because I don't believe that there really are any non-specialist audiences for macro pre-processors.
@drj11 Thanks for getting started! That's why I provide the gentle nudge. Regarding the LICENSE file, my interpretation is that it is required for the file to be named LICENSE. I tend to agree that there are traditions (e.g. GPL-era) but, for a journal, we want to see some degree of consistency among projects. I'm guessing a simple git mv
will do the trick.
@Smattr and @logological, regarding test suites, I agree that a full test suite can be painful. However, it does seem like script that checks a number of inputs against expected outputs would be more than appropriate. Based on a read of @logological's follow up, it sounds like this is indeed the approach he has taken.
Having done a lot of work on language front ends in the past and accompanying tools (levers, parsers, ASTs), I think this approach is acceptable as long as we have a robust set of cases (inputs vs. expected outputs).
Regarding the LICENSE file, my interpretation is that it is required for the file to be named LICENSE. I tend to agree that there are traditions (e.g. GPL-era) but, for a journal, we want to see some degree of consistency among projects. I'm guessing a simple
git mv
will do the trick.
Yes, consistency is best. But in this case it's JOSS which is the outlier: for 30-odd years it's been a de facto standard in the C-coding free software community (and a de jure standard for GNU packages) that licensing information goes in a file called COPYING
(or COPYING.LESSER
for LGPL-licensed projects). The GNU Autotools, which is probably still the most common packaging system for C software on *nix, hard-code this filename convention. I can't simply rename COPYING
to LICENSE
without changing my build scripts; this will moreover confuse and/or irritate many users who are expecting the licence to be in the standard place, and will prevent me from submitting GPP as an official GNU package (which is something I have been mulling over for a while).
I'd ask that JOSS's rule about the licence file be interpreted liberally in this case, or else globally changed to reflect the reality that different programming languages and communities have different standards and traditions concerning the naming of the licence file.
I agree with @logological on the COPYING/LICENSE here. While GitHub is encouraging people to add LICENSE files, we should accept long-standard community practice that share the same goals. I note that the GitHub sidebar "knows" that the project is LGPL-3.0 licensed and links to the file called COPYING
. So, even though GitHub documentation tell you to create a file called LICENSE, it still accepts and knows about it if you put it in a file called COPYING
.
Would a symbolic link be acceptable?
@logological and @drj11, I tend to agree this request merits consideration.
@openjournals/joss-eics Please see the above regarding the LICENSE file issue. Our review guidelines don't expressly prohibit placing he license in COPYING, which is really part of the GNU/GPL tradition. What is the EICs' position on this?
It's not really JOSS that's the outlier (or at least, JOSS is not alone in this outlier), it's really "the non-GNU internet". But @logological is right about 30 years of GNU-and-others tradition.
Yes, consistency is best. But in this case it's JOSS which is the outlier: for 30-odd years it's been a de facto standard in the C-coding free software community (and a de jure standard for GNU packages) that licensing information goes in a file called
COPYING
(orCOPYING.LESSER
for LGPL-licensed projects).
Oh, and just to give some quick third-party evidence of this: I surveyed the /usr/share/doc
directory tree for the official packages installed on my openSUSE system; COPYING*
files outnumber LICENSE*
files by about two to one. Packages using COPYING
are overwhelmingly C and C++ programs and libraries (but not only GNU ones), while those using LICENSE
tend to be written in Ruby, Rust, Perl, etc., or else do not contain source code at all (i.e., font or dictionary packages).
The section on licensing in the review criteria says:
Software license
There should be an OSI approved license included in the repository. Common licenses such as those listed on choosealicense.com are preferred. Note there should be an actual license file present in the repository not just a reference to the license.
Acceptable: A plain-text LICENSE file with the contents of an OSI approved license Not acceptable: A phrase such as ‘MIT license’ in a README file
And this repository clearly meets the criteria even if it does not use a file called LICENSE. I think the checkpoint text should be changed to "Does the repository contain a plain-text license file with the contents of an OSI approved software license? Ideally in the file called LICENSE
but other community-recognised names, such as COPYING
, are also acceptable.".
@drj11 and @logological, it looks like our discussion has already resulted in a patch! So please proceed with the rest of the review. COPYING is a valid license file now!
@gkthiruvathukal I have the same References question as @Smattr . Since ·whedon helpfully compiles the PDF, should we be looking at the references as they appear in the PDF and not the .bib
file?
@drj11 Yes, please check both the .bib and the PDF. If there is a problem with the entry or its rendering, it needs to be reported as an issue.
I'm done with my review. It was a pleasure to read this submission -- very informative and also high quality. I wish I'd known more about GPP previously, and it's definitely something I'll consider using in future.
I have checked paper.bib using https://biblatex-linter.herokuapp.com/validate which notes that 4 entries are missing an institution. In my opinion this is of no consequence.
@gkthiruvathukal i have completed my review.
I have checked paper.bib using https://biblatex-linter.herokuapp.com/validate which notes that 4 entries are missing an institution. In my opinion this is of no consequence.
This is because that validator expects its input to use the biblatex dialect, whereas my bibliography entries are written in the older BibTeX dialect. Whatever program JOSS is using to compile the paper is correctly recognizing the entries as BibTeX and is properly including the institutional information (which is in the school
field).
@logological ah, that is reassuring. I was wondering how I, having last touched a bitex file in 1992, was expected to know the difference between the two. :)
I was wondering myself which dialect to use for the bibliography, since I don't think this is covered in the submission instructions. I decided it was safer to go with BibTeX since the modern biblatex bibliographic processor can handle both biblatex and BibTeX dialects, whereas the older BibTeX processor doesn't understand biblatex. Perhaps this could be clarified in the JOSS style guide so that authors don't have to guess like I did.
@gkthiruvathukal Should I make a new tagged release of GPP incorporating the documentation changes resulting from the review? Or are there any further changes you think are necessary before you think this submission can be accepted for publication?
@logological Yes, it looks like we are ready for the next steps. Please do the following:
@gkthiruvathukal:
OK, the new release tag in GitHub is as follows: 2.27
The Zenodo DOI is as follows:
Thanks, @logological!
@whedon commands
Here are some things you can ask me to do:
# List all of Whedon's capabilities
@whedon commands
# Assign a GitHub user as the sole reviewer of this submission
@whedon assign @username as reviewer
# Add a GitHub user to the reviewers of this submission
@whedon add @username as reviewer
# Re-invite a reviewer (if they can't update checklists)
@whedon re-invite @username as reviewer
# Remove a GitHub user from the reviewers of this submission
@whedon remove @username as reviewer
# List of editor GitHub usernames
@whedon list editors
# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers
# Change editorial assignment
@whedon assign @username as editor
# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive
# Set the software version at the top of the issue e.g.
@whedon set v1.0.1 as version
# Open the review issue
@whedon start review
EDITORIAL TASKS
# All commands can be run on a non-default branch, to do this pass a custom
# branch name by following the command with `from branch custom-branch-name`.
# For example:
# Compile the paper
@whedon generate pdf
# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name
# Remind an author or reviewer to return to a review after a
# certain period of time (supported units days and weeks)
@whedon remind @reviewer in 2 weeks
# Ask Whedon to do a dry run of accepting the paper and depositing with Crossref
@whedon accept
# Ask Whedon to check the references for missing DOIs
@whedon check references
# Ask Whedon to check repository statistics for the submitted software
@whedon check repository
EiC TASKS
# Invite an editor to edit a submission (sending them an email)
@whedon invite @editor as editor
# Reject a paper
@whedon reject
# Withdraw a paper
@whedon withdraw
# Ask Whedon to actually accept the paper and deposit with Crossref
@whedon accept deposit=true
@whedon set 10.5281/zenodo.3961322 as archive
OK. 10.5281/zenodo.3961322 is the archive.
@whedon set 2.27 as release
I'm sorry human, I don't understand that. You can see what commands I support by typing:
@whedon commands
@whedon set 2.27 as version
OK. 2.27 is the version.
It appears all of the items on my checklist are addressed, @logological.
@openjournals/jose-eics I'm ready to proceed with accepting this submission.
@openjournals/joss-eics My bad, this is for JOSS, not JOSE. :)
Autocomplete got the best of me.
Just for clarity, @openjournals/joss-eics I am ready to proceed with acceptance of this submission.
@whedon accept
Attempting dry run of processing paper acceptance...
Reference check summary:
OK DOIs
- 10.1007/978-3-642-37521-7_5 is OK
- 10.1109/WCRE.2001.957833 is OK
- 10.1145/363717.363746 is OK
- 10.1016/0066-4138(69)90001-9 is OK
- 10.1109/TSE.2002.1158288 is OK
- 10.1145/2211616.2211617 is OK
- 10.1093/comjnl/28.1.29 is OK
- 10.1007/978-1-4842-5149-2_10 is OK
- 10.1145/367177.367223 is OK
- 10.1145/987316.987320 is OK
- 10.1145/800197.806048 is OK
- 10.1109/IPCC.1992.673146 is OK
- 10.1093/comjnl/8.3.225 is OK
- 10.1093/comjnl/23.3.194 is OK
MISSING DOIs
- None
INVALID DOIs
- None
:wave: @openjournals/joss-eics, this paper is ready to be accepted and published.
Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/1597
If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/1597, then you can now move forward with accepting the submission by compiling again with the flag deposit=true
e.g.
@whedon accept deposit=true
@whedon accept deposit=true
Doing it live! Attempting automated processing of paper acceptance...
🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦
🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨
Here's what you must now do:
Party like you just published a paper! 🎉🌈🦄💃👻🤘
Any issues? Notify your editorial technical team...
Still waiting for the doi to resolve to close the issue, but in the meantime...
Congrats to @logological on your new publication!! Thanks to @gkthiruvathukal for editing and to reviewers @Smattr, @drj11. This process couldn't happen without your time and expertise.
@openjournals/dev the doi still isn't resolving for me — can you take a look?
@openjournals/dev sorry! Looks good now!
:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:
If you would like to include a link to your paper from your README use the following code snippets:
Markdown:
[](https://doi.org/10.21105/joss.02400)
HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.02400">
<img src="https://joss.theoj.org/papers/10.21105/joss.02400/status.svg" alt="DOI badge" >
</a>
reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.02400/status.svg
:target: https://doi.org/10.21105/joss.02400
This is how it will look in your documentation:
We need your help!
Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:
Thank you to the reviewers @drj11 and @Smattr for your many insightful comments and questions, and to @gkthiruvathukal for shepherding this first submission of mine to a speedy acceptance!