  The development of scientific software is, more than ever, critical to the
practice of science, and this is accompanied by a trend towards more open and
collaborative efforts. Unfortunately, there has been little investigation into
who is driving the evolution of such scientific software or how the
collaboration happens. In this paper, we address this problem. We present an
extensive analysis of seven open-source scientific software projects in order
to develop an empirically-informed model of the development process. This
analysis was complemented by a survey of 72 scientific software developers. In
the majority of the projects, we found senior research staff (e.g. professors)
to be responsible for half or more of commits (an average commit share of 72%)
and heavily involved in architectural concerns (seniors were more likely to
interact with files related to the build system, project meta-data, and
developer documentation). Juniors (e.g.graduate students) also contribute
substantially -- in one studied project, juniors made almost 100% of its
commits. Still, graduate students had the longest contribution periods among
juniors (with 1.72 years of commit activity compared to 0.98 years for postdocs
and 4 months for undergraduates). Moreover, we also found that third-party
contributors are scarce, contributing for just one day for the project. The
results from this study aim to help scientists to better understand their own
projects, communities, and the contributors' behavior, while paving the road
for future software engineering research
