Have you seen the Software Sustainability Institute’s petition on Change.org?
We must accept that software is fundamental to research, or we will lose our ability to make groundbreaking discoveries.
The petition advocates for cultural and structural changes in how science treats software and the people who create it. It says that science has a software development problem. It doesn’t say why science has this problem, but several of the points in the petition hint at the problem.
1. We want software to be treated as a valuable research object which befits the same level of investment and effort as any other aspect of the research infrastructure.
2. We want researchers to be encouraged to spend time learning about software, because the value of that knowledge is understood to improve research.
3. We want the people who develop research software to be recognised and rewarded for their invaluable contribution to research.
4. We want a research environment in which software-reliant projects are encouraged to hire software developers, rather than having to hide these valuable staff members in anonymous postdoctoral positions.
5. Ultimately, we want the research community to recognise software’s fundamental role in research.
I was initially thrilled to read it. Just a few months ago, I’d pressed a colleague with ties to Software Carpentry (now under the SSI’s umbrella) to do just this sort of thing. I don’t disagree with any of these goals. I think implementing them could be great for science. But I don’t want to sign this petition.
Tenure track positions are the only permanent positions in academic science. Pretty much everything else is temporary – lab technicians, managers, field crews are all typically short term and soft money positions. Most positions in a lab are officially trainee positions, regardless of the expertise and experience required for those positions. People jump from project to project and study system to system. Not only do they leave valuable knowledge behind every time they leave a lab group (along with mysterious files and incomprehensible lab notebooks), they also leave behind their lives. The only valued output is papers (and grants to some extent). Data curation, sample storage, lab organization and safety and other very important things get sacrificed all too often.
We want to fix software development in science because the current method of software development means our science is often wrong and unreproducible and people are treated like crap. Well, our current method of doing science means our science is often wrong and unreproducible and people are treated like crap.
So, if it’s all broken, why not start with fixing software development? Well, because I think it has the potential to make the diversity problem in science worse. Programming is dominated by white men for a lot of reasons that I will not talk about here and that bias is likely to be perpetuated within the sciences. If we approach this problem at its structural roots, we help people across the board in science. If we approach this from software development, we help white men disproportionately.
I think there’s a lot of momentum behind reforming software development in science and I would like to see that conversation expand to include some of the things I’ve brought up here because if we fix software development and not the reasons software development in science is broken in the first place, we still won’t have reproducible science and the only people with better jobs in science will be (mostly) white guys.
I’ve taken a stab at some different petition wording that I think would address the SSI’s desires, improve science, and make the lives of non-TT scientists better. What do you think? I’m not a lab scientist and have no experience as a post-doc, so I had to go from second-hand knowledge there.
1. We want software, data sets, and research protocols to be treated as valuable research objects which befit the same level of investment and effort as any other aspect of the research infrastructure.
2. We want researchers to be encouraged to spend time learning about software, data management, and reproducibility because the value of that knowledge is understood to improve research.
3. We want the people who develop non-paper research objects to be recognised and rewarded for their invaluable contribution to research.
4. We want a research environment in which scientists are hired as staff (preferably long-term) rather than hidden in anonymous postdoctoral positions.
5. Ultimately, we want the research community to recognise the fundamental role of non-PI researchers and non-paper research objects in research.