Funding free software

Sunday 29 November 2015

Open source software is great. It's hard to remember that there was a time before Linux, Apache, Python, Ruby, Postgres, etc. These days, when you want to build something, you can start with an enormous amount of high-quality free infrastructure already available to you.

But there's a problem with open source: the work that goes into it is largely unpaid. The work that happens is because of individuals' free time and spare energy. There are exceptions: many companies contribute to open source, some even fund developers full-time to work on it. But the ecosystem is full of useful and important projects that only exist because someone gave away their time and energy.

Not having real funding is holding back open source, because it makes it hard to get started (you have to have spare time and energy), and it makes it hard to stick with it. Two recent blog posts underscore this last point: David MacIver's Throwing in the Towel, and Ryan Bigg's Open source work.

We've gotten pretty far on this model. But we can do a lot better if we find ways to put real resources (money) into the system. Russell Keith-Magee said the whole thing better than I could in his PyCon AU 2015 talk, Money, Money, Money: Writing software, in a rich (wo)man's world:

If a company can find money for foosball tables and meditative ball-pits, they should be able to find the resources to help maintain the software on which they've been basing their success.

Russell has started a GitHub repo as a conversation about how we might be able to make changes. Each issue in Paying the Piper is an idea for funding open source, with discussion. Please go be part of it.

Personally, I think we should try asking companies to donate, and if we make it dead simple enough for them to do the right thing, they just might.

Questions for everyone: do you think you could get your employer to donate to an open-source funding non-profit? What are the hurdles? What could we do together to get them over those hurdles?

Django is at the forefront of this, having just funded a part-time fund-raising position: Introducing the DSF's Director of Advancement. It will be very interesting to see how that works out.

I have a double interest in this: first, the general interest in seeing the Python world grow and flourish. Second, my own work on coverage.py would be a little easier if there were some money flowing back. It wouldn't have to be much, I'm not thinking I could support myself with it, but some tangible return would make the time easier to justify.

Comments

[gravatar]
EricH 8:01 PM on 29 Nov 2015

This might not scale, but I've been donating small amounts via Patreon or Gratipay to those few projects that have signed up to use those services. They're good because they're automatic: I can tell them "donate $5/month" and they will, without my having to remember, and without my having to cough up a single large donation.

[gravatar]
Ned Batchelder 2:29 AM on 30 Nov 2015

@EricH: the problem with the Patreon model is that every project would have to create an account, and then businesses would have to track down all of these individual funding sites, and donate individually to them, somehow deciding how much each should get.

I wanted to have a one-stop-shopping model, where the business could drop some money, and it would get divvied up without them having to think about it.

[gravatar]
mwchase 5:14 PM on 30 Nov 2015

Like some kind of subscription version of Flattr, or something?

So far as Patreon funding goes, there could perhaps be some form of "recommended corporate donation" pledge level?

[gravatar]
Nicholas Chammas 8:49 PM on 30 Nov 2015

Something that could complement any funding models that people come up with is David MacIver's Two Day Manifesto:

"Each developer in your company should have at least two days per month to work on the open source software your product is built on."

http://twodaymanifesto.com/

(I can't seem to find the repo that originally backed this site. I'm guessing David took it down.)

I think it's possible for something like this to start off as a selling point for companies and teams looking to hire, and grow from there into an accepted norm in technology jobs. It wouldn't obviate the need for funding, but it would definitely help open source communities.

[gravatar]
Ned Batchelder 12:11 PM on 3 Dec 2015

@Nicholas, this is a good idea, add it to https://github.com/pybee/paying-the-piper/issues !

[gravatar]
Connelly Barnes 10:16 PM on 3 Jan 2016

I like the business model where core infrastructure is released as open source and then a Web services layer on top of the infrastructure is kept closed source and used to bring in revenue. For example, git is open source but GitHub is the closed-source service layer (GitHub last raised $250 million of venture capital). Or Continuum Analytics has a nice mix of purely open-source and closed-source "value added" products (CA last raised $24 million of venture capital). I suppose you could do something similar with your library Coverage, which appears to be widely used (although I have not used it yet, it seems I should!).

Add a comment:

name
email
Ignore this:
not displayed and no spam.
Leave this empty:
www
not searched.
 
Name and either email or www are required.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.