SIAM News Blog
SIAM News
Print

NumFOCUS: A Fiscal Sponsor of Scientific Software

By Andy R. Terrel

NumFOCUS was founded in 2012 with the simple goal of helping to fund the maintenance burden of scientific software. Over the past two decades, the community has recognized a gap between the organizational practices of open source communities and the practices that raise funding. We can address this gap with fiscal sponsorship: a financial tool for sharing fiscal and legal entity status between groups. Today, NumFOCUS promotes open practices in research, data, and scientific computing. It is the fiscal sponsor for more than 100 projects, many of which are used every day by academic and industrial researchers. Here I review the necessity of our work, the role of the fiscal sponsor in applied mathematics research, and the ways in which scientists can engage with our efforts.

Software Libraries: The Backbone Between Industrial and Applied Mathematics

Nearly all of the software that powers applied mathematics research has shifted to open source distribution models, which allow researchers the freedom to create derived works and distribute their own software. As a result, open source scientific software has become the backbone for the delivery of applied mathematics libraries to the wider community. The community then employs these libraries in a broad array of applications that range from space launches to internet businesses, home appliances, and so on. Unfortunately, the research groups that develop these software libraries have difficulty procuring reliable funding for maintenance.

A software’s popularity is both a blessing and a curse. The credit for innovative applied mathematics research is several degrees removed from commercial applications, and profits are not shared with the software communities. Because software maintenance is not the primary goal of any organization, it becomes an unfunded burden that is left to the mathematical researcher. As a result, open source scientific software is rarely maintained to professional standards.

Researchers constantly seek new funding opportunities, ultimately creating a complex “funding fabric” that is comprised of various grants, contracts, book royalties, event fees, and other sources. Managing this fabric is therefore an administrative challenge that university mathematics departments are not equipped to handle — especially since mathematicians are not isolated within a single entity or country. Many commercial solutions have emerged over the years, such as the use of consulting agencies (e.g., Kitware for ParaView), value-added resellers (e.g., Red Hat for Linux), and internal groups within companies. However, these groups have different goals than the software community. Fiscal sponsorship is thus a solution that offers the community a sense of control.

Fiscal Sponsorship

At face value, fiscal sponsorship simply serves as a way for numerous like-minded groups to share legal and fiscal status. But even the mere act of accepting a check as a project—rather than as an individual—changes the relationship between the funder and the contributor. Fiscally sponsored software projects, on the other hand, can professionally manage their assets and liabilities.

Furthermore, a project’s legal status allows it to manage contracts. This ability opens the door for hiring, insuring events, and owning trademarks and copyrights. However, every asset class almost certainly comes with an accompanying liability. Figure 1 presents a modest list of the types of assets and liabilities that may arise within an open source software community.

Figure 1. Assets and liabilities that may arise within an open source software community.

The Fiscal Sponsor’s Role in Applied Mathematics Research

For several decades, the standard in scientific software was that a university or government research laboratory would own the assets and liabilities for open source projects. This trend has changed over the last 10 years due to the recent explosion of software teams in both number and size. These teams have also crossed more borders and organizational boundaries, making it even harder to share costs.

We can measure the growth of software complexity in numerous ways, including with the number of lines of code, modules, contributors, and supported systems. NumPy and Jupyter—prominent software libraries that mathematical researchers regularly use—serve as two illustrative examples. NumPy seems like a straightforward array library, except for its deployment and downstream dependency requirements — it supports a dizzying number of compilers and plug-ins on laptops, servers, embedded systems, and so forth. The project currently has more than 300,000 lines of code, 850 contributors, and 90 million downloads per month. Financial support for this library stems from contributors’ salaries at universities and various companies around the world, but the first grant to work directly on the software came about only recently. As for the second example, Jupyter’s contributors are spread across Asia, Europe, and North and South America. We hence see that an open source foundation can work directly with professional programmers throughout the world.

Few organizations are willing to take on this common effort for software support. Hiring and organizing people becomes a challenge even at a single institute, and the specialized skillsets of numerical software developers make them some of the most expensive hires in industry. Company employment requires numerous confidentiality agreements to protect trade secrets and intellectual property; these agreements are often vague in terms of the software’s contribution to the public. Even universities greatly differ in their technology commercialization policies for work of this nature. Furthermore, promotion and recognition usually depend on results that are produced for the commercial entity — not on the success of outside projects. Laws that pertain to employment also vary widely in different countries. As such, bringing open source software teams under a single institutional banner is certainly not without its challenges.

The open source fiscal sponsor has become an archetypical organization in the software business world. These types of organizations are growing in popularity and act as a natural place to land the intellectual and communal assets of open source projects. Other fiscal sponsorship organizations have also become commonplace. The Apache Software Foundation—born out of the need to support the Apache HTTP Server when many web servers were becoming commercial—maintains software for the public good. The Linux Foundation supports the Linux ecosystem and provides a neutral, trusted hub where developers can code, manage, and scale open technology projects. The Free Software Foundation was established to bolster the GNU community. While many fiscal sponsors exist, NumFOCUS is differentiated by its sole intention to support scientific software and the needs of the common ecosystem.

How to Engage with Our Work

NumFOCUS engages with software projects through its sponsorship programs, to which projects can apply each quarter. It has three basic criteria: be scientifically oriented, be open, and be kind. We require projects to have a scientific orientation because that is our mission. To be open, a project must be published under a standard open source license and seek engagement with the public as an intrinsic part of its development. Finally, participants must be kind because NumFOCUS aims to foster a constellation of healthy, productive communities. We believe that we can only achieve this goal if every project actively works towards making their communities friendly, inclusive, and respectful of each participant. Further details are available on our website.

A list of NumFOCUS-sponsored projects, as well as further details about the mission, is accessible online. Each project has its own guidelines for development contributions, but the organization at large houses several programs that interested persons can support. These include the Open Science Champions program that promotes our mission of making scientific computing more open and accessible. NumFOCUS depends on advocates and volunteers like our Board of Directors, PyData committee members, and other committees such as our Small Grants Committee, Infrastructure Committee, and Diversity and Inclusion Committee.

Through fiscal sponsorship, NumFOCUS manages the funding fabric that is required for mathematical software projects to realize a broader impact for industry. We invite readers to join us on our mission to serve the scientific community.

Andy R. Terrel was on the NumFOCUS Board of Directors from 2012 to 2021 and served as president from 2014 to 2021. He is currently the Vice President of Infrastructure. Terrel received his Ph.D. from the University of Chicago in 2010 and has since led data science teams at Anaconda, REX Homes, and now Xometry.

blog comments powered by Disqus