I recently read a post on
funding of software developed for academic/research use, the author stated that many grants are for new applications, and that funding agencies should consider supporting existing open source software that goes unfunded. There were links to papers such as the
development of AstroPy, and a report by
Nadia Eghbal on funding of
Internet digital infrastructure development. I have touched on this topic before in a
recent post about the development/funding story of the Node Package Manager. All of these stories touch on some common problems:
- People write software, put it out on the web, people use it or they don’t.
- If a lot of people start using it, and start asking for features/fixes, how do those get done? How do the developers get reimbursed for their time and effort?
- What if a business uses open source software at no direct cost? How can they depend on that software being supported and available?
Businesses that develop physical products that contain custom software pay for that software as part of the development cost of the product. This may be the best example of funding for software development.
To me, the idea of a subscription fee makes the most sense. The user paying a fee gets a specified level of support, for example, or early access to new versions. The developer gets a steadier stream of income than one-time payments (like for smartphone apps). There are other problems to address that I am not going to solve in this post, but people who develop applications should consider these topics before starting (they should “count the costs”).