Recently we announced that NumPy, a foundational package for scientific computing with Python, had received its first-ever grant funding since the start of the project in 2006. Community interest in this announcement was massive, raising our website traffic by over 2600%. The predominant reaction was one of surprise—how could it be that NumPy, of all projects, had never before secured funding?
Sometimes this surprise was expressed as skepticism, or a critique pointing out that funding of a kind had gone to NumPy prior to this grant. Wes McKinney, for example, pointed out on Twitter that Numeric and Numarray (pre-NumPy projects) were supported through NASA funding at Space Telescope Science Institute, development time was put into NumPy by paid developers at Enthought, and (mostly now former) academics like Travis Oliphant spent time developing NumPy in lieu of writing academic research papers.
Why should open source software development require “huge sacrifices?”
But why have “huge sacrifices” been necessary to produce and maintain these projects? And why are sustainable funding and resources so difficult to come by?
The answers to these questions touch upon a host of challenges related to open source software development in general: burnout, overwork generated by the tragedy of the commons, and the mistaken notion that critical open source work can be sustainably produced on an all-volunteer basis.
NumFOCUS has identified three primary challenges to sustainability for open source projects in scientific computing:
1) Lack of funding mechanisms to support the ongoing maintenance and improvement of existing software
2) institutional barriers to the development of software as a research endeavor, and
3) the hindrance to academic career advancement for those who develop and support research software.
NumFOCUS recently contributed a submission in response to the NSF Dear Colleague Letter: Request for Information on Future Needs for Advanced Cyberinfrastructure to Support Science and Engineering Research (NSF CI 2030) that outlines these three challenges in depth. Over the next few weeks, we’ll be posting a blog series exploring these challenges in more detail.
The Looming Crisis in Scientific Computing
The problem of sustainability for open source scientific software projects is significant. Arguably, it affects the whole of contemporary scientific inquiry, insofar as that inquiry requires software tools that promote reproducible results (i.e. open source).
In August of 2011, Fernando Perez, founder of IPython/Jupyter, gave a keynote at Euro SciPy explaining that the entire scientific Python stack was essentially relying upon on the “free time” work of only about 30 people—and no one had funding! The key slides from Fernando’s talk:
NumFOCUS was founded in 2012 as a response to this looming sustainability crisis.
NumFOCUS is designed to provide a home for open source scientific software projects that offers independence, stability, logistical support, and access to monetary resources.
Many of the sustainability challenges Fernando highlighted in 2011 have yet to be fully addressed, but we are hard at work tackling them. This year, NumFOCUS launched our Sustainability Program, headed up by Projects Director, Christie Koehler, and supported by our Sustainability Advisory Board. The initiatives Christie is developing are designed to help secure a sustainable future for key projects in the open source scientific computing community. Keep an eye on our blog for more posts exploring sustainability in open source scientific computing. And if you’d like to take action to contribute to project sustainability, consider becoming a NumFOCUS member today.