TY - JOUR
T1 - Better together
T2 - Elements of successful scientific software development in a distributed collaborative community
AU - RosettaCommons Consortium
AU - Leman, Julia Koehler
AU - Weitzner, Brian D.
AU - Renfrew, P. Douglas
AU - Lewis, Steven M.
AU - Moretti, Rocco
AU - Watkins, Andrew M.
AU - Mulligan, Vikram Khipple
AU - Lyskov, Sergey
AU - Adolf-Bryfogle, Jared
AU - Labonte, Jason W.
AU - Krys, Justyna
AU - Bystroff, Christopher
AU - Schief, William
AU - Gront, Dominik
AU - Schueler-Furman, Ora
AU - Baker, David
AU - Bradley, Philip
AU - Dunbrack, Roland
AU - Kortemme, Tanja
AU - Leaver-Fay, Andrew
AU - Strauss, Charlie E.M.
AU - Meiler, Jens
AU - Kuhlman, Brian
AU - Gray, Jeffrey J.
AU - Bonneau, Richard
N1 - Publisher Copyright:
© 2020 Public Library of Science. All rights reserved.
PY - 2020/5/1
Y1 - 2020/5/1
N2 - Many scientific disciplines rely on computational methods for data analysis, model generation, and prediction. Implementing these methods is often accomplished by researchers with domain expertise but without formal training in software engineering or computer science. This arrangement has led to underappreciation of sustainability and maintainability of scientific software tools developed in academic environments. Some software tools have avoided this fate, including the scientific library Rosetta. We use this software and its community as a case study to show how modern software development can be accomplished successfully, irrespective of subject area. Rosetta is one of the largest software suites for macromolecular modeling, with 3.1 million lines of code and many state-of-the-art applications. Since the mid 1990s, the software has been developed collaboratively by the Rosetta- Commons, a community of academics from over 60 institutions worldwide with diverse backgrounds including chemistry, biology, physiology, physics, engineering, mathematics, and computer science. Developing this software suite has provided us with more than two decades of experience in how to effectively develop advanced scientific software in a global community with hundreds of contributors. Here we illustrate the functioning of this development community by addressing technical aspects (like version control, testing, and maintenance), community-building strategies, diversity efforts, software dissemination, and user support. We demonstrate how modern computational research can thrive in a distributed collaborative community. The practices described here are independent of subject area and can be readily adopted by other software development communities.
AB - Many scientific disciplines rely on computational methods for data analysis, model generation, and prediction. Implementing these methods is often accomplished by researchers with domain expertise but without formal training in software engineering or computer science. This arrangement has led to underappreciation of sustainability and maintainability of scientific software tools developed in academic environments. Some software tools have avoided this fate, including the scientific library Rosetta. We use this software and its community as a case study to show how modern software development can be accomplished successfully, irrespective of subject area. Rosetta is one of the largest software suites for macromolecular modeling, with 3.1 million lines of code and many state-of-the-art applications. Since the mid 1990s, the software has been developed collaboratively by the Rosetta- Commons, a community of academics from over 60 institutions worldwide with diverse backgrounds including chemistry, biology, physiology, physics, engineering, mathematics, and computer science. Developing this software suite has provided us with more than two decades of experience in how to effectively develop advanced scientific software in a global community with hundreds of contributors. Here we illustrate the functioning of this development community by addressing technical aspects (like version control, testing, and maintenance), community-building strategies, diversity efforts, software dissemination, and user support. We demonstrate how modern computational research can thrive in a distributed collaborative community. The practices described here are independent of subject area and can be readily adopted by other software development communities.
UR - http://www.scopus.com/inward/record.url?scp=85084276754&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85084276754&partnerID=8YFLogxK
U2 - 10.1371/journal.pcbi.1007507
DO - 10.1371/journal.pcbi.1007507
M3 - Review article
C2 - 32365137
AN - SCOPUS:85084276754
SN - 1553-734X
VL - 16
JO - PLoS computational biology
JF - PLoS computational biology
IS - 5
M1 - e1007507
ER -