Closed bshoshany closed 3 years ago
I see 2 potential issues:
Thanks for your reply!
When (if) you submit, it would be good to mention the commit and time history. It would then likely go through a scope query, where the editors discuss it over a week or so and come to a decision.
The submission would be need to include a Statement of Need, which could highlight a few specific research problems where the software is needed/used, in addition to making a more general case for it.
I see. So, to be clear, you are saying that I should submit the paper, and it will not be rejected outright, but whether it gets accepted or not depends on the editors' decision. Is that correct?
That's my opinion, but I would like to hear from @arfon or someone else on the @openjournals/joss-editors team for confirmation
Thanks. I will wait for their confirmation before I submit my paper.
The hpp files is 498 lines TOTAL, which is already short for C-code, and much of that file is comments, so it's really only a few hundred lines of actual code. This does not seem to meet the criteria, though the readme is very detailed and the author seems to have packed a lot of features/functionality into those lines.
Perhaps I should mention that making the code as short as possible was an explicit design choice, in order for the thread pool to have the smallest memory footprint possible. The total lines of code in the current version, excluding comments and blank lines, is 238 in total, or even less if we don't count the two optional helper classes - but that's not a bug, it's a feature that I worked quite hard to achieve.
I took a quick look at this project and think it actually is an example of why we can't always look at code size as a measure of effort. Small can be beautiful--and powerful.
In a now bygone era, I co-developed a concurrent library (pre-JOSS era, bummer), JHPC, which was cited as related/prior art by the authors of the Java JSR-166 specification for concurrent utilities. While the idea of a thread pool is not new--and was included in our Java library among many other techniques--it seems to be nicely done in this project with a similar lightweightness to what we envisioned for parallel and distributed computing in Java. I also have a soft spot for documentation, and the pages are extremely detailed and well put-together. At a minimum, I'd consider the docs to push beyond what our normal thresholds are in terms of code size.
Not that I really need more work, but I would be willing to act as editor for this submission, should it be determined that this meets the substantial scholarly effort criteria.
I also took a look and came to the same conclusion as @gkthiruvathukal : code size is not a good measure of effort and utility sometimes. In some cases, shorter and more concise implementations reflect a higher degree of effort in order to achieve brevity. (I regard a good day of coding to be one where I end up with equivalent or increased functionality with less lines of code than I started with!)
With respect to the technical content, concurrency control is hard to get right, so bigger usually means harder to reason about correctness. Code complexity is generally considered the opposite of what you want in a system where correctness is hard to reason about.
Thanks @gkthiruvathukal and @mjsottile! I'm glad to hear that. So would you recommend that I try to submit a paper about this library to JOSS for consideration?
@danielskatz is one of our EIC's, so I would defer to him for the final bit of encouragement, but I am definitely in the camp that would encourage you to do so and and think it is within scope.
Yes, please go ahead. Maybe mention this issue https://github.com/openjournals/joss/issues/918
when you do so
Hello,
I am the author of a C++17 thread pool library, intended for use in high-performance scientific computing. I recently posted a paper about it on the arXiv. I am interested in publishing a paper about it in JOSS, to increase exposure and reach more researchers who may be interested in using the library in their research software.
However, I am not sure if it satisfies the journal's minimum requirements, since this page says that "single-function packages are not acceptable". Please let me know if you would consider publishing a paper on my thread pool library in your journal.
Thanks, Barak Shoshany