Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clearinghouse for funding incremental development #39

Open
stevengj opened this issue Apr 10, 2018 · 5 comments
Open

Clearinghouse for funding incremental development #39

stevengj opened this issue Apr 10, 2018 · 5 comments

Comments

@stevengj
Copy link

stevengj commented Apr 10, 2018

As was brought up in response to Karthik's presentation today, it is difficult to get individual grants for incremental development (maintenance, incremental features, usability, documentation) of mid-scale projects — especially projects that are extremely useful in specialized fields but don't have the wide reach of something like NumPy or HDF, projects that rarely have dedicated software engineers.

One approach, suggested in #3, is to find a way to attach maintenance funding to other grants, and push funding agencies to be more receptive to this. A basic challenge with that approach is that a grant on other research topics is typically reviewed by people who have little interest in or understanding of software development, and you have to change the culture with lots of program managers and funding sources.

Another approach, which I'm hoping something like URSSI can pursue, is to:

  • obtain large multi-year grants for a "Software Institute" which can then turn around and give fine-grained, short term funding for incremental work in a large number of smaller projects.

    • This way, individual projects can apply for funding to an Institute that cares about and understands software issues, creating a lower barrier to entry than a traditional grant application.
    • On the other end, the Institute can present a holistic view of its work to NSF or whatever the funding sources are, rather than having to justify each incremental piece of development individually to the program manager.
    • In some ways, this could be viewed as coarser-grained (bigger grants) analogue of Google Summer of Code, but finer grained than a typical academic grant.
  • You could possibly also have long-term Institute-funded positions for software engineers who specialize in things like build systems and software integration. Projects could then apply to the Institute for portions of these software engineers' time in order to deal with incremental maintenance issues that don't require specialized scientific expertise.

    • This would be an alternative to applying directly for funding, and would alleviate the difficulty of hiring experience software developers with short-term funding.
@stevengj
Copy link
Author

Note that the Institute can set certain software best practices as a condition for funding, e.g.

  • Software must be hosted on Github or similar.

  • Software must use one of some set of standard build systems appropriate for the language(s) in question.

  • New features must have tests.

  • Etc.

In this way, the funding becomes a carrot for issues like #7.

@Dr-G
Copy link
Contributor

Dr-G commented Apr 10, 2018

Seems related to #3

@stevengj
Copy link
Author

@Dr-G, I agree; the connection to #3 is discussed in the second paragraph. The difference is whether the funding gets attached as an add-on to traditional scientific grants or goes through a separate software institute.

@aterrel
Copy link
Contributor

aterrel commented Apr 10, 2018

To this end, I would point out the NF Small Grants program.

@choldgraf
Copy link

choldgraf commented Apr 10, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants