Supporting and funding the creation of open source software is hard. Having access to the source code (and the binaries/packages/installers) of our favorite software is an awesome, empowering thing. And having access to them for free? Even more so.
But building great software takes time. And money. Even highly successful projects can have a hard time simply paying for their programmers, artists, testers and writers to focus on their work. But it is doable. Let's talk about how.
First off: Let's focus entirely on donations. There are other mechanisms available to fund open source projects (including selling clothing with logos, providing related consulting services, paid support contracts and more) – but donations can be easily applied to all types of projects.
Now, let's think about numbers for a moment.
Let's say we want to fully fund one full-time programmer on a project. And we want a good one - someone with some serious experience they can bring to the project.
So we'll need, roughly, $120,000 per year to afford that programmer’s full attention.
Whoah, now! 120 thousand? DOLLARS?
Yes. Take a deep breath. That's a realistic number (especially on the west coast of the U.S.), and one that is absolutely achievable. That means we need to bring in $10,000 per month (on average). Or, put another way, we need 10,000 people to see enough value in the project to be willing to donate one dollar. And we need to do that each month. Seems like a lot, right? Let's take a look at some projects to get an idea of how reasonable this is.
LibreOffice reported roughly 15 million updates from unique IPs last year. Let's assume that the real number is not quite that high... let's round down to 10 million. Seeing how many Linux distros are including LibreOffice, this honestly even seems a bit low.
But, if we go with the 10 million user number, that means we need one-tenth of one percent of the user base to donate one dollar in order to fund a full-time programmer. 0.1%. Seems pretty doable, right? It even seems like it would scale pretty doggone well!
How about if we apply that same math to smaller projects? Let's use one of my own projects, since I have all of that information at hand. And I, just recently, fully open sourced all of my software – so this is a pretty valid set of data to use.
Let's utilize numbers from my game, Linux Tycoon, which has roughly 25,000 users (that's the number of folks that own a copy from back when it was closed source... the “download number” is much, much higher). But let's stick with that 25k number for a moment.
In order to fully fund a full-time developer focused on that single project, with 25k users, we would need roughly 40% of them to donate $1.
Which seems like a stretch. But let's think about it this way:
- Having an open source project opens up the exposure and potential install-base dramatically. That 25k number was from when it was closed source. Now that it is fully open, it is available for inclusion in various repositories and even in default installs of Linux Distros.
- The average donation amount of each donation is much higher than one dollar. If you increase the average donation number to $5, you really only need roughly 8% of the users to donate.
- This is not the sort of project that would typically require a full-time developer working 40+ hours per week. It's a small project compared to most.
According to LinuxCounter.net, there could be roughly 65 million Linux users out there. Who knows how accurate this is (my guess is that it's a bit low), but for our purposes, let's roll with it.
If just 1% of those users donated $1 each month to a project of their choosing (whatever they felt was most worthy...or whatever they most want to succeed), the total donations would equate to $7.8 million injected into open source projects.
And here's the crazy thing - those folks will have donated only $12 in an entire year. And, for that, they'll get a full operating system, office suite, graphics suite... and everything else they could ever need. Pretty good deal, eh?
In other words: It's doable. Even without any other means of support, this is an achievable mechanism of funding open source development.
But there is one big problem: People are lazy. Heck. I'm lazy. You mean I need to figure out what projects I want to support? Then I need to find the donation page and figure out the donation options available for that project? Oh man. Just thinking about it makes me want to take a nap.
As a first stab at making that situation a bit easier, I put together a page that lists projects in alphabetical order with direct links to the donation page for each. It's not pretty, but it'll do.
This is sort of a "rising tide raises all boats" scenario. We, as members of the greater open source community, don't need to donate to every project. We don't even need to donate all that much. But if each of us gives a few bucks here and there, just imagine what we can create.