Software Isn't Sustainable
Software Carpentry didn’t start life as a training program: it began as a competition to design software tools that would be easier for scientists to use. That competition’s failure helped me realize that while knowing what to do is pointless if you don’t have the means to act on your knowledge, the best build tools and bug trackers in the world are irrelevant if people don’t know how and why to use them.
This is why I’m grateful for this new initiative to support the open source software that underpins so much of modern science, but disappointed that the words “teaching” and “training” don’t appear in the announcement. Sustainability isn’t solely a property of software: it emerges from the interplay between the software and the culture of actual and potential users. If “share, mend, and extend” is part of users’ DNA then even old Perl scripts can thrive, though good tooling and packaging can lower costs and barriers to entry. Conversely, automated tests don’t matter if users don’t understand how to run them or why to keep them up to date.
I would therefore like to see funders insist that half of every grant for open science software go to teaching people what they need to know in order to keep that software going. That may not even mean teaching people the software itself: if a project wants to use Git in clever ways, its creators will have to decide whether they can teach that cleverness to potential contributors without breaking their budget, or whether being more conservative in their technical choices would better satisfy their community’s long-term needs.
But I’m not holding my breath. Trying to get funding for training is like trying to get funding for more nursing staff at hospitals: data tells us that it’s the most cost-effective investment possible, but it’s not as glamorous as a new robotic operating theater for the cardiac surgeons to play in. This is why I believe this workshop would have more impact than anything else we could do for open source, open science, or open education: if I’ve learned anything from the last twenty years, it’s that we have to stop waiting for those in power to see the light and instead become powerful enough to make the changes we so desperately need.
This post is an update to an article originally written in 2014; my thinking about these issues has been shaped by the work of Herbsleb, Cataldo, Howison, and others on sociotechnical congruence.