in Activism, Software Development

The economics of open source development

Recently, I watched a video from JSConf.EU by CJ Silverio on the economics of open source development. She recounted the story of the start of Node.js and the Node Package Manager (NPM), and how the creator of Node.js gave the source code to the Node Foundation, but the creator of Node Package Manager retained all rights and created a company to continue development of NPM and took VC money. The video is a good watch, with lots of excellent examples on how business get value from open source software, but don’t (in general) pay anything for the software (either development or support costs). My additions to this video: (1) people who want to make money from the software they create should think hard about how they are going to do that before they start releasing that software, and (2) people who use open source for profit should invest some of their profits in keeping the wheels of progress turning (pay the developers something), otherwise the supply may dry up.

Write a Comment

Comment

Webmentions

  • 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”).