Software can be an important research output in some disciplines such as the physical and life sciences. One of the aims of the open research movement is to encourage researchers who generate software or code as part of their projects to make it open and accessible to others. This not only means that the software can be checked and verified by others but that it can also be archived and licenced appropriately to enable reuse by others and possibly further development or re-purposing of useful tools.
I spoke to Brendan Williams, a Research Fellow in the Centre for Integrative Neuroscience and Neurodynamics at University of Reading about why he decided to publish the software tool that he developed as part of his PhD research.
The work that I am involved in, mainly for my PhD, is on adaptive decision making and how people can respond to change and how the brain supports the behaviour which we see when people are responding to change.
What does the software that you developed do?
The software that I helped to develop is called pyfMRIqc and it is a useful piece of software for providing quality assurance metrics for neuroimaging data. One of the problems with new MRI imaging data is that it is multi dimensional and not the kind of data that you can check by hand. The software helps individuals make decisions about the quality of their data and then decide if they can use the data set or whether they need to repeat the data collection step. Because the software was developed in Python, it is nearly platform-independent and therefore can be used by the lots of researchers in the neuroimaging community.
Why did you decide to publish your software?
It was important to publish the software in order to make it more discoverable for others who might want to use it. Quality assurance in neuroimaging is a really big thing and so having software that is easily accessible for others who want to check the quality of their data is really important.
Why was it important that it was openly available?
It was important that the publication that matches the software was also open access. One of the great benefits is that it allows anybody, regardless of who they are, to access not only the software but the publication that describes the software and how to use it.
Are you more careful to check everything if you are publishing your software openly?
The software was designed with the average user at our Centre in mind. We have researchers who are relatively junior, from MSc level, right up to Professorship level. We don’t want to assume any prior knowledge when people come to use our software. We want it to be available and easy to use for anyone who needs to perform quality assurance on their MRI data. It was important to make the software easy to use but also to make sure that the documentation matches up exactly with how it works. Making everything accurate has reduced the amount of time we’ve had to spend answering support queries as well as helping the users.
How did you choose the right place to publish your software?
We published our article in the Journal of Open Research software as it seemed the most appropriate place. It is a fully open access (Gold open access) journal so anyone can read the papers in the journal without needing a subscription.
Did you have to pay an APC to publish in the journal?
Yes we did but as it was a fully open access journal that was listed in the Directory of Open Access Journals, the University of Reading’s open access fund covered the costs. That was very helpful in getting our work out there.
What are the benefits of making your software open to everybody? Do you think it might be built on by others in the future?
One of the benefits of publishing the software openly is that it can be used by anybody who wants to run quality assurance on their data with no cost to themselves or the need to write their own code. This is very important as it democratises the research process and allows anybody from anywhere, regardless of who they are, to be able to do these kinds of important checks on their data. With regard to the tool being built on by others, there’s definitely scope for that. The code is open source so if anybody wants to add new features or additional metrics they can certainly do so and we are totally supportive of people taking what we started and developing it further.
Have you received much feedback from others?
Yes, we’ve had some really positive feedback about how people have used the software and how it helped them to run quality assurance on their data. One really interesting piece of feedback was from a group that have used the tool for spinal cord imaging data. At CINN, we are usually just imaging the brain so we developed the tool with that area of the body in mind. As the functions within the tool are agnostic to the part of the body that has been scanned it was very cool to hear that others are using the software for different studies like looking at the spinal cord.
Do you think the availability of the software has had an impact on your research community?
Definitely. From personal experience with my data, it has given me more confidence that the data I was analysing for my PhD was of sufficient quality. It has also been used within the broader CINN community. If the data coming out of CINN is good quality, it will ensure that the research conducted by our community will be of a high standard.
Any tips or advice for others thinking of publishing their software?
One of the really important things for us when we were developing the software was making sure that we had our end user in mind. If you want other people to use your software you have do understand what their needs are and what their level of skills and expertise are. You can then design your software so that it is suitable for those that want to use it. I think that makes a good project.
Brendan’s paper on the software tool is openly available:
Williams, B. and Lindner, M., 2020. pyfMRIqc: A Software Package for Raw fMRI Data Quality Assurance. Journal of Open Research Software, 8(1), p.23. DOI: http://doi.org/10.5334/jors.280