Speakers
Description
Rosetta is one of the largest software suites for macromolecular modeling with 3 million lines of code and many state-of-the-art protocols. It is developed by the RosettaCommons, a community of developers from 60 laboratories worldwide. Since the mid 1990’s, Rosetta has been primarily developed in an academic environment by scientists with backgrounds in chemistry, biology, physiology, physics, engineering, mathematics, computer science and related disciplines. Challenges in scientific software development are many developers’ lack of formal training in software engineering or computer science and the academic environments’ under-appreciation of sustainability and maintainability of tools developed for basic science research.
Here we present lessons learned from a period of over two decades in how to develop advanced scientific software in a global community with hundreds of developers. We address aspects like version control, licensing, testing, documentation, maintenance and a variety of community features such as conferences, training, hackathons, user interaction, as well as outreach and diversity efforts.