  Software is the key crosscutting technology that enables advances in
mathematics, computer science, and domain-specific science and engineering to
achieve robust simulations and analysis for science, engineering, and other
research fields. However, software itself has not traditionally received
focused attention from research communities; rather, software has evolved
organically and inconsistently, with its development largely as by-products of
other initiatives. Moreover, challenges in scientific software are expanding
due to disruptive changes in computer hardware, increasing scale and complexity
of data, and demands for more complex simulations involving multiphysics,
multiscale modeling and outer-loop analysis. In recent years, community members
have established a range of grass-roots organizations and projects to address
these growing technical and social challenges in software productivity,
quality, reproducibility, and sustainability. This article provides an overview
of such groups and discusses opportunities to leverage their synergistic
activities while nurturing work toward emerging software ecosystems.
