This half-day workshop was taught at the 2018 AGU Fall Meeting in Washington DC, USA. It was organized by myself, Lindsey Heagy, Lion Krischer, and Florian Wagner. Our goal was to help people who are already programming and want to take the next step towards developing open-source software.
Modern science increasingly relies on code, ranging from small scripts to workflows with many interacting parts. Reproducibility and extension of studies employing these codes require that they are accessible. The open-source community has established modern best-practices for making software available, usable, and maintainable. In this workshop, we will demonstrate a workflow for publishing research code following these best-practices. We will cover open-source licenses, version control, automated testing, documentation, and continuous integration. The workshop will be hands-on: participants will work to set up a project using sample code provided by the instructors. By the end, participants will have the knowledge needed to continue learning independently and apply these practices to their own research code. These resources can be applied to any programming language or scientific discipline.
Our aim with this workshop is for participants to: