Only Mostly Dead: Grants for Software Maintenance Only

In a recent meeting, there was some discussion about a potential workshop recommendation that funding agencies should offer relatively small grants that would just be used for maintaining existing software, but not doing any new development. I had very mixed feelings when I heard this, and decided I would write up my thoughts and see what others felt too.

On the positive side, there is software that is important to a community but is not well supported, which causes problems, for example, OpenSSL and NTP. Some small and regular amount of funding for maintenance of software like this would likely be useful.  And this would address some problems about the ethics of depending on unpaid labor. We might think of this like oiling a moving machine, or patching potholes in a road.  This infrastructure is fairly static, though it does need maintenance.

On the negative side, it seems to me that there are very few such scientific packages, where both the requirements and the underlying technologies are static. If the requirements for the software are changing, or the underlying techniques, algorithms, or technologies are changing, then we really want to fund the project to recognize that full changing environment and to do the work that is needed to respond. We might think of this as a living creature, which has to continually reinvent itself to survive in its changing environment. If such a project is only funded a small amount, just for maintenance, this is a project that is going to die soon, and we are just putting off its death a bit. And it might be a better idea to let it die and start working on the next project that will better meet the new requirements.

Don’t take this to mean that I think software maintenance is unimportant – it clearly is.  The question I’m trying to address here is if software maintenance without development is a good idea, and if so, under what conditions.

What do you think?


Some work by the author was supported by the National Science Foundation (NSF) while working at the Foundation; any opinion, finding, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the NSF.


Published by:


Assistant Director for Scientific Software and Applications at NCSA, Research Associate Professor in CS, ECE, and the iSchool at the University of Illinois Urbana-Champaign; works on systems and tools (aka cyberinfrastructure) and policy related to computational and data-enabled research, primarily in science and engineering

Tags , , 3 Comments

3 thoughts on “Only Mostly Dead: Grants for Software Maintenance Only”

  1. In the exploding world of scientific python there are three very important open-source interfaces to data in HDF:
    1. h5py is a generic interface (data type agnostic) that was developed and supported by Andrew Collette when he was a graduate student. It is currently used in hundreds of open-source science applications.
    2. pyTables is an interface used primarily for fast access to tabular data in HDF. It includes some interesting indexing schemes that make it very fast for queries against these types of data. It uses a specialized HDF API developed specifically for this tool. it has recently been moderated by Anthony Scopatz.
    3. pyDAP is an implementation of the OPeNDAP web services tools that uses h5py as it’s HDF API. it was created and maintained by Roberto DeAmeda.

    These tools have (at least) three things in common: they are heavily used open-source projects, they access data stored in HDF, and the originators/moderators are moving on to “real” jobs and will no longer be able to moderate these projects.

    A recent blog post ( described this situation (sans pyDAP) and proposed a solution: integrate the h5py interface into pyTables, i.e. eliminate the current pyTables api. They also proposed a couple of other improvements that might be taken on in the future.

    The HDF Group is interested in seeing this merger take place and are willing to contribute to the long-term support of there merged stack, but, as another open-source software shop, we do not have the resources for the initial push.

    This seems to me to be a situation where support for maintenance of open source software is a good thing. It encourages the convergence of two large communities while simplifying the code base to make long-term maintenance possible.

    Ted Habermann, The HDF Group


    1. The maintenance that you describe seems worthwhile, though I am unclear if this a maintenance-only situation, or if there is more than just maintenance that the HPF group plans to do, such as new development.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s