# Submitting a paper to JOSS¶

If you’ve already developed a fully featured research code, released it under an OSI-approved license, and written good documentation and tests, then we expect that it should take perhaps an hour or two to prepare and submit your paper to JOSS. But please read these instructions carefully for a streamlined submission.

## Submission requirements¶

• The software should be open source as per the OSI definition.
• The software should have an obvious research application.
• You should be a major contributor to the software you are submitting.
• Your paper should not focus on new research results accomplished with the software.
• Your paper (paper.md and BibTeX files, plus any figures) must be hosted in a Git-based repository together with your software (although they may be in a short-lived branch which is never merged with the default).

• Be stored in a repository that can be cloned without registration.
• Be stored in a repository that is browsable online without registration.
• Have an issue tracker that is readable without registration.
• Permit individuals to create issues/file tickets against your repository.

### What we mean by research software¶

JOSS publishes articles about research software. This definition includes software that: solves complex modeling problems in a scientific context (physics, mathematics, biology, medicine, social science, neuroscience, engineering); supports the functioning of research instruments or the execution of research experiments; extracts knowledge from large data sets; offers a mathematical library, or similar. While useful for many areas of research, pre-trained machine learning models are not in-scope for JOSS.

### Substantial scholarly effort¶

JOSS publishes articles about software that represent substantial scholarly effort on the part of the authors. Your software should be a significant contribution to the available open source software that either enables some new research challenges to be addressed or makes addressing research challenges significantly better (e.g., faster, easier, simpler).

As a rule of thumb, JOSS’ minimum allowable contribution should represent not less than three months of work for an individual. Some factors that may be considered by editors and reviewers when judging effort include:

• Age of software (is this a well-established software project) / length of commit history.
• Number of commits.
• Number of authors.
• Total lines of code (LOC). Submissions under 1000 LOC will usually be flagged, those under 300 LOC will be desk rejected.
• Whether the software is sufficiently useful that it is likely to be cited by your peer group.

In addition, JOSS requires that software should be feature-complete (i.e. no half-baked solutions) and designed for maintainable extension (not one-off modifications of existing tools). “Minor utility” packages, including “thin” API clients, and single-function packages are not acceptable.

### Co-publication of science, methods, and software¶

Sometimes authors prepare a JOSS publication alongside a contribution describing a science application, details of algorithm development, and/or methods assessment. In this circumstance, JOSS considers submissions for which the implementation of the software itself reflects a substantial scientific effort. This may be represented by the design of the software, the implementation of the algorithms, creation of tutorials, or any other aspect of the software. We ask that authors indicate whether related publications (published, in review, or nearing submission) exist as part of submitting to JOSS.

#### Other venues for reviewing and publishing software packages¶

Authors wishing to publish software deemed out of scope for JOSS have a few options available to them:

• Follow GitHub’s guide on how to create a permanent archive and DOI for your software. This DOI can then be used by others to cite your work.
• Enquire whether your software might be considered by communities such as rOpenSci and pyOpenSci.

### Should I write my own software or contribute to an existing package?¶

While we are happy to review submissions in standalone repositories, we also review submissions that are significant contributions made to existing packages. It is often better to have an integrated library or package of methods than a large number of single-method packages.

### Questions? Open an issue to ask¶

Authors wishing to make a pre-submission enquiry should open an issue on the JOSS repository.

## Typical paper submission flow¶

Before you submit, you should:

• Make your software available in an open repository (GitHub, Bitbucket, etc.) and include an OSI approved open source license.
• Make sure that the software complies with the JOSS review criteria. In particular, your software should be full-featured, well-documented, and contain procedures (such as automated tests) for checking correctness.
• Write a short paper in Markdown format using paper.md as file name, including a title, summary, author names, affiliations, and key references. See our example paper to follow the correct format.
• (Optional) create a metadata file describing your software and include it in your repository. We provide a script that automates the generation of this metadata.

## What should my paper contain?¶

Important

Begin your paper with a summary of the high-level functionality of your software for a non-specialist reader. Avoid jargon in this section.

JOSS welcomes submissions from broadly diverse research areas. For this reason, we require that authors include in the paper some sentences that explain the software functionality and domain of use to a non-specialist reader. We also require that authors explain the research applications of the software. The paper should be between 250-1000 words.

• A list of the authors of the software and their affiliations, using the correct format (see the example below).
• A summary describing the high-level functionality and purpose of the software for a diverse, non-specialist audience.
• A clear Statement of Need that illustrates the research purpose of the software.
• A list of key references, including to other software addressing related needs. Note that the references should include full names of venues, e.g., journals and conferences, not abbreviations only understood in the context of a specific discipline.
• Mention (if applicable) a representative set of past or ongoing research projects using the software and recent scholarly publications enabled by it.
• Acknowledgement of any financial support.

As this short list shows, JOSS papers are only expected to contain a limited set of metadata (see example below), a Statement of Need, Summary, Acknowledgements, and References sections. You can look at an example accepted paper. Given this format, a “full length” paper is not permitted, and software documentation such as API (Application Programming Interface) functionality should not be in the paper and instead should be outlined in the software documentation.

Important

Your paper will be reviewed by two or more reviewers in a public GitHub issue. Take a look at the review checklist and review criteria to better understand how your submission will be reviewed.

## Example paper and bibliography¶

This example paper.md is adapted from Gala: A Python package for galactic dynamics by Adrian M. Price-Whelan http://doi.org/10.21105/joss.00388:

---
title: 'Gala: A Python package for galactic dynamics'
tags:
- Python
- astronomy
- dynamics
- galactic dynamics
- milky way
authors:
- name: Adrian M. Price-Whelan^[Custom footnotes for e.g. denoting who the corresponding author is can be included like this.]
orcid: 0000-0003-0872-7098
affiliation: "1, 2" # (Multiple affiliations must be quoted)
- name: Author Without ORCID
affiliation: 2
- name: Author with no affiliation
affiliation: 3
affiliations:
- name: Lyman Spitzer, Jr. Fellow, Princeton University
index: 1
- name: Institution Name
index: 2
- name: Independent Researcher
index: 3
date: 13 August 2017
bibliography: paper.bib

# Optional fields if submitting to a AAS journal too, see this blog post:
# https://blog.joss.theoj.org/2018/12/a-new-collaboration-with-aas-publishing
aas-doi: 10.3847/xxxxx <- update this with the DOI from AAS once you know it.
aas-journal: Astrophysical Journal <- The name of the AAS journal.
---

# Summary

The forces on stars, galaxies, and dark matter under external gravitational
fields lead to the dynamical evolution of structures in the universe. The orbits
of these bodies are therefore key to understanding the formation, history, and
future state of galaxies. The field of "galactic dynamics," which aims to model
the gravitating components of galaxies to study their structure and evolution,
is now well-established, commonly taught, and frequently used in astronomy.
Aside from toy problems and demonstrations, the majority of problems require
efficient numerical tools, many of which require the same base code (e.g., for
performing numerical orbit integration).

# Statement of need

Gala is an Astropy-affiliated Python package for galactic dynamics. Python
enables wrapping low-level languages (e.g., C) for speed without losing
flexibility or ease-of-use in the user-interface. The API for Gala was
designed to provide a class-based and user-friendly interface to fast (C or
Cython-optimized) implementations of common operations such as gravitational
potential and force evaluation, orbit integration, dynamical transformations,
and chaos indicators for nonlinear dynamics. Gala also relies heavily on and
interfaces well with the implementations of physical units and astronomical
coordinate systems in the Astropy package [@astropy] (astropy.units and
astropy.coordinates).

Gala was designed to be used by both astronomical researchers and by
students in courses on gravitational dynamics or astronomy. It has already been
used in a number of scientific publications [@Pearson:2017] and has also been
used in graduate courses on Galactic dynamics to, e.g., provide interactive
visualizations of textbook material [@Binney:2008]. The combination of speed,
design, and support for Astropy functionality in Gala will enable exciting
scientific explorations of forthcoming data releases from the *Gaia* mission
[@gaia] by students and experts alike.

# Mathematics

Single dollars ($) are required for inline mathematics e.g.$f(x) = e^{\pi/x}$Double dollars make self-standing equations: $$\Theta(x) = \left\{\begin{array}{l} 0\textrm{ if } x < 0\cr 1\textrm{ else} \end{array}\right.$$ You can also use plain \LaTeX for equations $$\label{eq:fourier} \hat f(\omega) = \int_{-\infty}^{\infty} f(x) e^{i\omega x} dx$$ and refer to \autoref{eq:fourier} from text. # Citations Citations to entries in paper.bib should be in [rMarkdown](http://rmarkdown.rstudio.com/authoring_bibliographies_and_citations.html) format. If you want to cite a software repository URL (e.g. something on GitHub without a preferred citation) then you can do it with the example BibTeX entry below for @fidgit. For a quick reference, the following citation commands can be used: - @author:2001 -> "Author et al. (2001)" - [@author:2001] -> "(Author et al., 2001)" - [@author1:2001; @author2:2001] -> "(Author1 et al., 2001; Author2 et al., 2002)" # Figures Figures can be included like this: ![Caption for example figure.\label{fig:example}](figure.png) and referenced from text using \autoref{fig:example}. Figure sizes can be customized by adding an optional second parameter: ![Caption for example figure.](figure.png){ width=20% } # Acknowledgements We acknowledge contributions from Brigitta Sipocz, Syrtis Major, and Semyeong Oh, and support from Kathryn Johnston during the genesis of this project. # References  Example paper.bib file: @article{Pearson:2017, url = {http://adsabs.harvard.edu/abs/2017arXiv170304627P}, Archiveprefix = {arXiv}, Author = {{Pearson}, S. and {Price-Whelan}, A.~M. and {Johnston}, K.~V.}, Eprint = {1703.04627}, Journal = {ArXiv e-prints}, Keywords = {Astrophysics - Astrophysics of Galaxies}, Month = mar, Title = {{Gaps in Globular Cluster Streams: Pal 5 and the Galactic Bar}}, Year = 2017 } @book{Binney:2008, url = {http://adsabs.harvard.edu/abs/2008gady.book.....B}, Author = {{Binney}, J. and {Tremaine}, S.}, Booktitle = {Galactic Dynamics: Second Edition, by James Binney and Scott Tremaine.~ISBN 978-0-691-13026-2 (HB).~Published by Princeton University Press, Princeton, NJ USA, 2008.}, Publisher = {Princeton University Press}, Title = {{Galactic Dynamics: Second Edition}}, Year = 2008 } @article{gaia, author = {{Gaia Collaboration}}, title = "{The Gaia mission}", journal = {Astronomy and Astrophysics}, archivePrefix = "arXiv", eprint = {1609.04153}, primaryClass = "astro-ph.IM", keywords = {space vehicles: instruments, Galaxy: structure, astrometry, parallaxes, proper motions, telescopes}, year = 2016, month = nov, volume = 595, doi = {10.1051/0004-6361/201629272}, url = {http://adsabs.harvard.edu/abs/2016A%26A...595A...1G}, } @article{astropy, author = {{Astropy Collaboration}}, title = "{Astropy: A community Python package for astronomy}", journal = {Astronomy and Astrophysics}, archivePrefix = "arXiv", eprint = {1307.6212}, primaryClass = "astro-ph.IM", keywords = {methods: data analysis, methods: miscellaneous, virtual observatory tools}, year = 2013, month = oct, volume = 558, doi = {10.1051/0004-6361/201322068}, url = {http://adsabs.harvard.edu/abs/2013A%26A...558A..33A} } @misc{fidgit, author = {A. Smith}, title = {Fidgit: An ungodly union of GitHub and Figshare}, year = {2020}, publisher = {GitHub}, journal = {GitHub repository}, url = {https://github.com/arfon/fidgit} }  Note that the paper ends with a References heading, and the references are built automatically from the content in the .bib file. You should enter in-text citations in the paper body following correct Markdown citation syntax. Also note that the references include full names of venues, e.g., journals and conferences, not abbreviations only understood in the context of a specific discipline. ## Checking that your paper compiles¶ JOSS uses Pandoc to compile papers from their Markdown form into a PDF. There are a few different ways you can test that your paper is going to compile properly for JOSS: ### JOSS paper preview service¶ Visit https://whedon.theoj.org and enter your repository address (and custom branch if you’re using one). Note that your repository must be world-readable (i.e., it cannot require a login to access). ### GitHub Action¶ If you’re using GitHub for your repository, you can use the Open Journals GitHub Action to automatically compile your paper each time you update your repository. The PDF is available via the Actions tab in your project and click on the latest workflow run. The zip archive file (including the paper.pdf) is listed in the run’s Artifacts section. ### Docker¶ If you have Docker installed on your local machine, you can use the same Docker Image to compile a draft of your paper locally. In the example below, the paper.md file is in the paper directory. Upon successful execution of the command, the paper.pdf file will be created in the same location as the paper.md file: docker run --rm \ --volume$PWD/paper:/data \
--user $(id -u):$(id -g) \
--env JOURNAL=joss \
openjournals/paperdraft


Submission is as simple as:

• Filling in the short submission form
• Waiting for the managing editor to start a pre-review issue over in the JOSS reviews repository: https://github.com/openjournals/joss-reviews

## No submission fees¶

There are no fees for submitting or publishing in JOSS. You can read more about our cost and sustainability model.

## Preprint Policy¶

Authors are welcome to submit their papers to a preprint server (arXiv, bioRxiv, SocArXiv, PsyArXiv etc.) at any point before, during, or after the submission and review process.

Submission to a preprint server is not considered a previous publication.

## Authorship¶

Purely financial (such as being named on an award) and organizational (such as general supervision of a research group) contributions are not considered sufficient for co-authorship of JOSS submissions, but active project direction and other forms of non-code contributions are. The authors themselves assume responsibility for deciding who should be credited with co-authorship, and co-authors must always agree to be listed. In addition, co-authors agree to be accountable for all aspects of the work, and to notify JOSS if any retraction or correction of mistakes are needed after publication.

## Submissions using proprietary languages/development environments¶

We strongly prefer software that doesn’t rely upon proprietary (paid for) development environments/programming languages. However, provided your submission meets our requirements (including having a valid open source license) then we will consider your submission for review. Should your submission be accepted for review, we may ask you, the submitting author, to help us find reviewers who already have the required development environment installed.

## The review process¶

After submission:

• An Associate Editor-in-Chief will carry out an initial check of your submission, and proceed to assign a handling editor.
• The handling editor will assign two or more JOSS reviewers, and the review will be carried out in the JOSS reviews repository.
• Authors will respond to reviewer-raised issues (if any are raised) on the submission repository’s issue tracker. Reviewer and editor contributions, like any other contributions, should be acknowledged in the repository.
• Upon successful completion of the review, authors will make a tagged release of the software, and deposit a copy of the repository with a data-archiving service such as Zenodo or figshare, get a DOI for the archive, and update the review issue thread with the version number and DOI.
• After we assign a DOI for your accepted JOSS paper, its metadata is deposited with CrossRef and listed on the JOSS website.
• The review issue will be closed, and an automatic tweet from @JOSS_TheOJ will announce it!

If you want to learn more details about the review process, take a look at the reviewer guidelines.

## Confidential requests¶

Please write admin@theoj.org with confidential matters such as retraction requests, report of misconduct, and retroactive author name changes.

In case of a legal name change, the DOI will be unchanged and the paper will be updated to use the new name and note that a name has been changed, but without identifying the author.

JOSS will also update CrossRef metadata.