Skip to content

andreww/publishing_your_code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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, 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 and criteria 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.
  4. Applying a software license.
  5. Got any tests?
  6. Types of documentation.
  7. Using version control to work with others.
  8. Reviewing your code
  9. Automating tests and running them regularly.
  10. Documenting installation and use.
  11. Where are the gremlins.

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

About

Some notes and resources to help take software from a research project to a research software publication

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors