P. Diehl. JOSS and FLOSS for science: Examples for promoting open source software and science communication. SIGDIUS Seminars, 14.06 2023, Virtual event.
JOSS and FLOSS for science: Examples for promoting open source software and science communication
1. JOSS and FLOSS for science: Examples for promoting
open source software and science communication
Patrick Diehl
Center of Computation and Technology
Department of Physiscs and Astronomy
Louisiana State University
patrickdiehl@lsu.edu
June 14, 2023
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 1 / 30
2. Motivation
(Open source) software is essential for computational sciences
For example, developing an R or Python package with some novel
algorithms which are widely used by the research community is cool, but
might not yet be considered for promotions, grant applications, or for
awarding tenure.
Bummer: NSF rejects a grant to fund the SciPy ecosystem, saying that
working on it is not impactful enough.
Contrary, people get credit for papers (citations) using open source
software. How can we change that, and people get credit for software?
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 2 / 30
3. Overview
1 The Journal of Open Source Software: Developing a Software Review
Community
2 Floss for Science: A podcast promoting open source software
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 3 / 30
4. The Journal of Open Source Software: Developing a
Software Review Community
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 4 / 30
5. Journal of Open Source Software
Developing a Software Review Community
Gabriela Alessio Robles, Mikkel Meyer Andersen, Katy Barnhart, Juanjo Bazán, Sebastian Benthall, Eloisa Bentivegna, Monica
Bobra, Frederick Boehm, Jed Brown, Pierre de Buyl, Patrick Diehl, Elizabeth DuPre, Vissarion Fisikopoulos, Martin
Fleischmann, Dan Foreman-Mackey, Jarvis Moore Frost, Nikoleta Glynatsi, Jeff Gostick, Richard Gowers, Hugo Gruson, Olivia
Guest, David Hagan, Jayaram Harihan, Chris Hartgerink, Bita Hasheminezhad, Christina Hedges, Luiz Irber, Mark A. Jensen,
Prashant K. Jha, Daniel S. Katz, Vincent Knight, Rachel Kurchin, Hugo Ledoux, Christopher R. Madan, Brian McFee, Melissa
Weber Mendonça, Kevin M. Moerman, Kyle Niemeyer, Juan Nunez-Iglesias, Lorena Pantano, Stefan Pfenninger, Viviane Pons,
Kristina Riemer, Amy Roberts, Marie E. Rognes, Ariel Rokem, Will Rowe, Kelly Rowland, David P. Sanders, Mehmet Hakan
Satman, Fabian Scheipl, Jacob Schrieber, Adi Singh, Arfon Smith, Charlotte Soneson, Øystein Sørensen, Andrew Stewart,
Fabian-Robert Stöter, Yuan Tang, George K. Thiruvathukal, Kristen Thyng, Tim Tröndle, Leonardo Uieda, Chris Vernon,
Marcos Vital, Lucy Whalley, Bruce E. Wilson, Frauke Wiese
https://joss.theoj.org
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 5 / 30
6. How to better recognize software contributions?
Find some way to fit software into current (paper/book-centric)
system
Evolve beyond one-dimensional credit model
What if we just wrote papers about software?
Gives us something easy to cite
No changes required to existing infrastructure
Publishing in existing journals raises profile of software within a
community
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 6 / 30
7. How to better recognize software contributions?
Find some way to fit software into current (paper/book-centric)
system
Evolve beyond one-dimensional credit model
What if we just wrote papers about software?
Writing another paper can be a ton of work
Many journals don’t accept software papers
For long-lived software packages, static authorship presents major
issues
Many papers about the same software may lead to citation dilution
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 6 / 30
8. What if we made it as easy as possible to write and publish a software
paper?
Embracing the hack
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 7 / 30
9. A developer-friendly journal* for research software packages
Paper preparation (and submission) for well-documented software
should take no more than an hour
The primary purpose of a JOSS paper is to enable citation credit to
be given to authors of research software
tiny * Other (commercial) venues exist for publishing papers about
software
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 8 / 30
10. JOSS process (https://doi.org/10.6084/m9.figshare.5147773.v2)
Make software available in repository
with OSI-approved license
!
:
https://opensource.org/licenses
Author short Markdown
paper: paper.md
Submit to JOSS by filling
out short form
Editor assigns ≥2 reviewers,
who review submission
$
Reviewer(s) raise comments and
issues following guidelines :
https://joss.readthedocs.io/en/
latest/reviewer_guidelines.html
Authors fix issues
&
Paper published &
receives JOSS DOI
⚡
JOSS 10.21105/joss.#####
JOSS Under review
JOSS Submitted
Editor accepts paper,
authors archive software ✔
Editor-in-chief reviews size and
scope, and assigns an editor
%
rejected
out of scope
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 9 / 30
11. JOSS - Review Checklist
Agree to Conflict of Interest & Code of Conduct
General checks: repository URL, license, contribution and authorship
Functionality: installation, functional claims, performance
Documentation: statement of need, installation instructions, example
usage, functionality documentation, automated tests, community
guidelines
Software paper: summary, statement of need, state of the field,
quality of writing, references
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 10 / 30
12. JOSS - Review Checklist Details
Definition of each check-in JOSS documentation:
https://joss.readthedocs.io/en/latest/review_criteria.html
The editor helps the reviewer and author come to agreement and some
criteria have guidance
Installation
API documentation
Community guidelines
Automated testing
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 11 / 30
13. JOSS - Review Checklist Details
Installation
: The software is simple to install, and follows established
distribution and dependency management approaches for the
language being used
: A list of dependencies to install, together with some kind of
script to handle their installation (e.g., a Makefile)
(not acceptable): Dependencies are unclear, and/or installation
process lacks automation
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 12 / 30
14. JOSS - Review Checklist Details
API Documentation
: All functions/methods are documented including example inputs
and outputs
: Core API functionality is documented
(not acceptable): API is undocumented
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 13 / 30
15. JOSS - Review Checklist Details
Installation
: The software is simple to install, and follows established
distribution and dependency management approaches for the
language being used
: A list of dependencies to install, together with some kind of
script to handle their installation (e.g., a Makefile)
(not acceptable): Dependencies are unclear, and/or installation
process lacks automation
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 14 / 30
16. JOSS - Review Checklist Details
Automated Tests
: An automated test suite hooked up to continuous integration
(GitHub Actions, Circle CI, or similar)
: Documented manual steps that can be followed to objectively
check the expected functionality of the software (e.g., a sample input
file to assert behavior)
(not acceptable): No way for you, the reviewer, to objectively
assess whether the software works
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 15 / 30
17. JOSS as a Community
Cultures change based on rules and incentives
JOSS practices have influenced reviewers and developers in terms of
what’s good and what’s minimally acceptable
Similar to rOpenSci’s influence in the R community
JOSS provides rules, and at a high-level, tries to nudge incentives
Accepted software = accepted paper
If software was cited directly, JOSS papers wouldn’t be needed, but
JOSS reviews and JOSS community would still have great value
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 16 / 30
18. Bot-based process using GitHub: @editorialbot
Interacts with authors,
reviewers, and editors in review
‘issues’ on GitHub
Compiles papers (Pandoc)
Conducts automated
‘healthchecks’ for incoming
submissions (e.g. license checks,
search for missing DOIs)
Sends automated reminders
Deposits metadata and and
registers DOIs with Crossref
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 17 / 30
19. Some data on most cited papers
More data: http://www.theoj.org/joss-analytics/joss-submission-analytics.html
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 18 / 30
20. Some data on published papers
More data: http://www.theoj.org/joss-analytics/joss-submission-analytics.html
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 19 / 30
21. Conclusion
JOSS is a collaboration between author, editor and
reviewer
Please submit your software package and get credit for your work! Slides based
on: https://doi.org/10.5281/zenodo.6305241
Guest Post — The Evolving Role of Scientific Editing:
https://scholarlykitchen.sspnet.org/2021/09/23/guest-post-the-evolving-role-of-scientific-editing/
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 20 / 30
22. Floss for Science: A podcast promoting open source
software
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 21 / 30
23. Floss for Science
A podcast promoting open source software
FLOSS for Science is a podcast
with the goal of showcasing free,
libre and open source software
uses in science.
We want to highlight how
FLOSS empowers researchers
and enables them to produce
high quality research.
So far 32 episodes published,
however, we did a break during
the pandemic
Credits to David Brassard my co-host, who started the podcast with me in
January 2018.
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 22 / 30
25. Open source software for production
Low-cost hardware is readily available
The software components required for high quality audio production
are available with open source licenses under Linux
It is strongly recommended to record every participant on individual
audio tracks to adjust their audio level separately
The setup to record a podcast with all participants on a single track
will be significantly easier to prepare and manage, but we chose to go
with a multitrack setup for high audio quality
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 24 / 30
26. Open source software for production
Portable hardware setup for podcast recording :
Behringer UMC404HD audio interface ($180)
Up to 4 local participants
One Shure SM58 for each local participants
Samson q2u USB microphone for remote participants ($70)
Other class-compliant audio interfaces and microphones are available
One computer serves as a central node for the remote and local
recording
General use computers are plenty sufficient
Recording for FFS was performed on either a Thinkpad W530 or a
Thinkpad X260
The computer will need stable network connectivity
A multichannel headphone amplifier ($35) is strongly suggested to
give audio feedback for all local participants and improve their
posture while recording
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 25 / 30
27. Open source software for production
General software
Jitsi.meet
VOIP software for remote participants
The only requirement for the participants is a webRTC compatible web
browser
Chromium
Separate Jitsi.meet instances on different tabs
Firefox did not allow to split the audio from different tabs into multiple
channels
Linux
All packages are available in Ubuntu from the main or third-party
repositories
Any Linux distribution can be made to work
Ubuntu Studio is an easy all-in-one solution for beginners
Real time or low latency kernel are suggested but not absolutely
required for less demanding recording situations such as podcast
recording
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 26 / 30
28. Open source software for production
Audio software
JACK (will eventualy be replaced by PipeWire for an easier setup)
JACK Audio Connection Kit
Linux low latency audio stack
Allow special routing between different sources and sinks
A JACK session manager and routing
software (for graphical routing)
Multiple combination/alternatives
Cadence
Ubuntu Studio Controls
Qjackctl
Catia
Patchage
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 27 / 30
29. Open source software for production
Audio software
Ardour
Multitrack audio recorder and editor
Plugin host (denoise, gate,
compressor, limiter, etc.)
CALF plugins
Decent and easy to use audio plugins
Gate, Compressor, Limiter...
Other software and services
Mediafile hosting on Archive.org
Website hosting on Github-pages
Jeckyl static generated website
Audio leveling with Auphonic online (non-free software)
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 28 / 30
30. Lessons learned
Surprising
Was quite easy to find people willing to be interviewed,
A professional graphic designer volunteered helping with the artwork
Some episodes had over 600 listeners
Challenges
Was sometimes difficult to schedule interviews, e.g. time zones,
working hours.
High quality audio is important, however, editing took much time out
of David’s resources.
Funding is needed for editing, however, we want to avoid
advertisement or sponsoring
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 29 / 30
31. Conclusion
Benefits
JOSS is one opportunity to get credit for software development
FLOSS was a good opportunity for science communication
Challenges
Obtain funding for the promotion of open-source and science
communication:
JOSS is funded by NumFocus, e.g. server, DOI. However, all editors
and reviewers are volunteers.
FLOSS was funded by the hosts with their private money. Recording,
Editing, and Graphic Design were done by volunteers.
More work is needed to get funding and credits for software development.
This work is licensed under a Creative Commons “Attribution-NonCommercial-ShareAlike 3.0 Un-
ported” license.
Patrick Diehl (LSU) JOSS and FLOSS June 14, 2023 30 / 30