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.