https://github.com/andreww/publishing_your_code
Some notes and resources to help take software from a research project to a research software publication
https://github.com/andreww/publishing_your_code
Last synced: 5 months ago
JSON representation
Some notes and resources to help take software from a research project to a research software publication
- Host: GitHub
- URL: https://github.com/andreww/publishing_your_code
- Owner: andreww
- License: other
- Created: 2020-09-28T07:53:05.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-21T10:43:22.000Z (over 5 years ago)
- Last Synced: 2025-09-09T07:26:26.506Z (10 months ago)
- Size: 18.6 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Publishing Your Code
Many researchers will produce software as part of their research and, in order to
gain recognition of the work involved in this, as well as to enable reuse, it can be
beneficial to formally publish this software. This repository contains a collection
of notes and resources to help researchers publish software for the first time. The
material may eventually form the basis of a short course or workshop.
## Target, aims, and objectives
There are many potential venues for the publication of research software and many
who may benifit from publishing their software. Software can be made available
online in multiple ways and described within theses, in conference proceedings, or
alongside the research results. Here I focus on the researcher who has developed
software for the first time, has probably generated some scientific insight using
that software, and is now ready to prepare the software for wider dissemination. In
particular, I imagine publication in the the
[Journal of Open Source Software](https://joss.theoj.org/), but the process of preparing
for publication there will also cover most other targets. More importantly, the process
of preparing the first peice of research software for publication should provide
valuable lessons for the development of future software. Applying these lessons
should make it easer develop and share software in future.
Reviewing for JOSS involves judging submitted software against a [short
checklist](https://joss.readthedocs.io/en/latest/review_checklist.html) and
[criteria](https://joss.readthedocs.io/en/latest/review_criteria.html) but rather
than stucture the material here around these lists I have attempted to arrange
things in an order that makes sense for a first time developer rather than a
reviewer (who is likly to be a more experianced developer). My hope is that if
somebody works through the material in the order presented here they will
be in a position to publish their software, to act as a reviewer for software
publications, and that the order that material is presented follows a logical
path.
## Content
1. What's interesting about your software?
2. A stand-alone package or part of something else?
3. [Version control: getting organised](version_control.md).
4. Applying a software license.
5. Got any tests?
6. Types of documentation.
7. [Using version control to work with others](version_control_repos.md).
8. Reviewing your code
9. Automating tests and running them regularly.
10. Documenting installation and use.
11. Where are the gremlins.

This work by Andrew Walker is licensed under a Creative Commons Attribution 4.0 International License.