Skip to main content


Six tips for going public with your lab’s software: https://www.nature.com/articles/d41586-024-03344-y
1) make time for maintenance
2) simplify installation
3) add a GUI or good CLI
4) good documentation
5) use github/git
6) automated testing

Any other tips people have? #SoftwareEngineering #opensource #openscience

This entry was edited (1 week ago)
in reply to Carsen Stringer (she/her)

These cover a lot of common problems I have with scientific code, one minor one to add is "build more, smaller things" - splitting up a very large monolithic code base into several smaller pieces can work with all the above tips to make the software much more useful over time. Being able to re-use pieces between projects without needing to make future projects direct dependents of humongous prior packages is a huge deal for labs that might make many tools.
in reply to jonny (good kind)

The "simplify installation" one aka "package your code" is so huge. The number of projects I come across that are simply unpackaged or just have a plaintext list of deps and are otherwise a loose bundle of MATLAB or python files are always unfortunate, because they rarely survive longer than the paper announcement. Thinking about how I spent a day repackaging moseq bc someone in our lab was curious about it but couldnt install, and then never got a reply in the issue
in reply to jonny (good kind)

@jonny
Shamelessly being lazy: any good resources out there teaching people how to do packaging and install systems?
@computingnature