By Sammie Buzzard, University College London; Martin Donnelly, University of Edinburgh.
Introduction or why does this matter?
Whether our involvement in software is in developing it from scratch, building upon existing code, reusing or repurposing someone else’s work, or preserving it (for ten years or until the end of the world, whichever comes first), good software practices benefit us all. This could range from basic version control for an undergraduate’s first coding project to passing well-documented software from one research project to its successor, but the best way to motivate people to improve their practices will be highly dependent on the individual and their circumstances and drivers.
Additionally, appealing to the individual is effective but it doesn’t scale—there are simply too many people involved in research software for a small community of advocates to reach on an individual basis. There are also more wide-ranging actions that could be taken, for example by journals and funding bodies, that could catalyse change within the research software community as a whole. Like any bridge, it is a good idea to start building from both ends...
So what can we do at an individual level?
In common with most other kinds of intervention, the easiest people to reach are those who know they need help. Code review groups or clubs have been seen to work especially in small communities and they can be a less intimidating environment especially for those less experienced.
However, these individuals are often early career software users, and it can be hard for them to instigate change from the grassroots up. Identifying and incentivising senior champions can be harder, and the motivation may have to change to fit the individual. Will providing concrete examples of how change can help and on the plate solutions work, or are individuals more likely to be motivated by the possibility of citations, research grants, or protecting their legacy?
In addition, there are also those who don’t consider themselves traditional software users (e.g. not realising that Excel counts as software). We need to take care to speak the right language to reach non-core communities and consider providing welcoming forums for no-judgement questions to encourage those who don’t recognise their current relationship with software and its relevance in their work.
And how can we improve the community more widely?
As with research data, enlightened self-interest can be a compelling driver. Funder and publisher policies are often more persuasive to researchers than, for example, institutional policies, although these obviously have their place. If journals begin to require code submission in the name of reproducibility en masse, this will compel better software practices, and enhance research and knowledge generation as a whole. Likewise, if research funders start to mandate sustainability for code, then better software practices will be ‘baked’ into projects as business-as-usual, and enhance the impact that a research project may have beyond its immediate lifecycle—another convincing driver for researchers at all career stages.
Bringing these types of stakeholder onside will require community efforts. Organisations (including the Software Sustainability Institute) could arrange for training or advocacy/outreach events for the more senior members of of organisations who may be less open to change, and encourage the uptake of the Institute's sustainability survey.
Furthermore, researcher development initiatives such as VITAE and the Doctoral Training Centres could also be approached to build responsible software management into their curricula. Universities and professional organisations can also help prepare the ground for the sustainable software message for early-career and establish researchers alike.
Ultimately, if we manage to reach out and motivate the younger generation of researchers on a global scale, then this is a problem which solves itself in time, but there are thousands of reasons not to restrict advocacy reasons to only this section of the community. Just think of the opportunities that would be missed in the meantime!