PUBLISHING YOUR SOFTWARE PROJECTPUBLISHING YOUR SOFTWARE PROJECTWITH THE JOURNAL OF OPEN SOURCE SOFTWAREWITH THE JOURNAL OF OPEN SOURCE SOFTWARE
Lucy Whalley
lucydot.github.io/slides
MATERIALS DESIGN GROUP @ ICLMATERIALS DESIGN GROUP @ ICL
github.com/WMD-group
CASE STUDY: CASE STUDY: effmass.pyeffmass.py
code: research paper:
github.com/lucydot/effmassarxiv.org/abs/1811.02281
FROM THE FROM THE
JOSS GUIDING PRINCIPLESJOSS GUIDING PRINCIPLES
"We like to think of JOSS as a‘developer friendly’ journal. That is, ifthe submitting authors have followedbest practices (have documentation,tests, continuous integration, and alicense) then their review should be
rapid."
WHY SHOULD I SUBMIT TO JOSS?WHY SHOULD I SUBMIT TO JOSS?
published paper and citationsan incentive to learn new toolspeer review process brings increased confidencegood way to promote your code to the community
WHY SHOULD WHY SHOULD WEWE SUBMIT TO JOSS? SUBMIT TO JOSS?
well-documented and well-tested so�ware freelyavailable to the research communityreproducibility: see "The Scientific Paper IsObsolete"
THE JOSS THE JOSS SUBMISSION AND REVIEW FLOWSUBMISSION AND REVIEW FLOW
A JOSS PAPER CONTAINS...A JOSS PAPER CONTAINS...
A list of the so�ware authors and their affiliationsA summary describing the high-level functionalityA statement of needA list of key referencesA summary of research projects using the so�ware
THE JOSS REVIEW CRITERIATHE JOSS REVIEW CRITERIA
So�ware licenseFunctionalityInstallation instructionsCommunity guidelinesTestsDocumentation
TESTSTESTS
unit tests: test individual functionsintegration tests: test functions work togetherend-to-end tests: test from start to finish
Tools: , , effmass: , ,
See
pytest Travis CI Jupyter Notebookunit tests CI (manual) E2E
Katy Huff's Python testing workshop
DOCUMENTATIONDOCUMENTATION
tutorials: how to complete a particular taskexplanation: background theoryreference: API-documentation / command linereference
Tools: , , effmass: , ,
Jupyter Notebook ReadTheDocs Sphinxtutorial background reference
FINAL THOUGHTSFINAL THOUGHTS
JOSS are always looking for new reviewersPossible ways to support each other? --> workshops,code review, mentoring.Other relevant journals:
slides and image credits at
www.codeisscience.com
lucydot.github.io/slides
DISCUSSION QUESTIONSDISCUSSION QUESTIONS
How can the research so�ware community supportwork in the materials department?
Which languages, so�ware and tools do you use andwhy? Are there others you would like to learn/use?
What are the main so�ware-related challenges toyour work?