UNSW researcher publishes on GitHub, helps innovate the way science is shared

Publishing your research outputs in open access journals is an awesome way to increase your impact and share your research, but it’s not the only way to get your research out there.

Rusty Nicovich, a researcher at UNSW Australia, often builds microscopes or microscope parts in order to complete his projects. The details of the biological and chemical experiments done on the microscopes are published through traditional methods in scholarly journals. But, Rusty believes there’s value in the details.

Rusty publishes build files and build notes for his custom microscope parts, as well as the code that makes them move, with open licences on the platform GitHub.

Read more about why Rusty publishes parts of his research with open source licences below:

Can you tell us more about the research project related to your GitHub posts?

My projects involve designing and building fluorescence microscopes and analyzing the data these instruments acquire, all for biological and chemical research. We build instruments to measure things related to a chosen research goal, but along the way we might come up with a new or interesting way to do a sub-section of the instrument, a new way to mount a component, or a bit of code to drive a particular controller. There are also software packages that have been written to analyze data in a new way, or even done in an old way but done better.

While the results of the code go into a journal article, the source code needs to be released to the public, partly because of journal obligations, and partly because it’s the right way to do science.

Why have chosen to publish some of your research on GitHub as opposed to in a traditional academic publication?

This is largely related to the impact and size of the body of work. An academic journal article might represent years of work for multiple researchers. The article typically has to fit into a “nice story,” as professors are prone to say. It needs to convey some new understanding in the scientific field.

I might make a new optics mount on my 3D printer and think that it’s kinda cool and that it might be useful for other people. It’s not going to be anywhere near big enough of an impact to turn into a journal article. Even a collection of such things might not be novel or cohesive enough to make a decent article. But, I can upload binary build files, a text file with some build notes, and a couple of pics into GitHub, then send out the link on Twitter, and get my research out there to people who can use it now.

GitHub, as a version control platform, also makes it easy to build a project up in pieces over time. I can edit or add portions of the project, and the repository stays together as a unit. That basically can’t be done with a journal article. If you publish code as supporting material in a journal, that material is frozen in that state. If you fix an error in the code, release an updated version, or add new models to your 3D printed files library, the changes are not automatically included in the journal; if you push those files to your GitHub repository, they are.

Releasing the files on a University or personal webpage is also an option, but GitHub actually releases all versions ever included in the GitHub repository, not just the latest one, so others can track back to previous versions of your code without much hassle at all. Not to mention, making a GitHub repository is dead-simple to do, and making your own webpage can be complicated.

What has been the greatest value of publishing on GitHub instead of in a journal?

Publishing on GitHub is fast, free, and public, while still being considered professional. In the software world, a project on a GitHub page carries weight like a journal article on a CV would. For scientists, this might not be quite the same, but it’s still seen as a serious, reputable place to display and share work. That work can be a single 3D printer file, up to an entire project on how to build your own fiber-optic-coupled laser launch. Things like this were (and still are, to a degree) restricted to institutional knowledge within research groups. GitHub provides a route to share these bits (literally) that might not have as much scientific weight as is needed for release in a journal, but still have value to the wider scientific community.

Also, publishing in a journal can take weeks of work and months of waiting. Pushing files to a GitHub repository gets the information out to the community nearly instantaneously.