
In my travels recently, I happened across a rather thought provoking proposal from Martin Owens, an active contributor to the Ubuntu project. He suggested that people would be more likely to contribute financially to open source projects if contributions felt less like charity and more like investments.
It's an interesting idea. It's not that donations don't support good, important, necessary work, or that charities aren't worthy causes -- nor is it implied that open source software projects, especially those driven entirely by uncompensated volunteers, aren't worth supporting financially. However, donating to a local animal shelter, food bank, or awareness campaign feels very different than donating to an open source software project. There are a few reasons why this is so, and they support Owens' idea that perhaps the "donation" language should be replaced with more appropriate terminology.
Uncompensated developers are providing a service, and that's somewhat comparable to food banks and shelters. The services they provide also make open source projects very different from charities -- developers donate their services to produce a product, a good, a tool that makes it easier for other people to work (or play) more effectively. It's a little different than the free t-shirt or stuffed animal one might get for donating to a charity. What people are downloading is the whole of the project -- the software is why the project exists.
Payment for this product can certainly remain optional -- but it's not unrealistic to think that users would be more willing to chip in what they are able (and feel the software is worth) if the money they give has a purpose that seems -- well, tangible and solidly beneficial down the line.
Most charity organizations are classified as such for tax and accountability purposes. I might not use the services of an organization I donate to, I might only benefit in a roundabout, completely altruistic way -- but knowing the money I give can be accounted for, at least to some extent, is comforting. Many open source projects don't have the ability, time, or (yes, you guessed it) funding to have this sort of status. While the "Donate via PayPal" button might be the same in the developer's eyes as an "Invest in New Features" button, the latter phrase is a reassuring reminder for the person about to give that his money isn't falling into an abyss. Giving to an open source project yields returns -- and being reminded of this fact never hurts.
There is, indubitably, a self-esteem issue at play here as well. Open source developers love their projects, they love the software they create, and it is its own reward. Distributing it free of charge is wonderful, but requesting that users give what they are able and feel it is worth to them isn't out of line. If it is worth donating your time and effort to develop, it's reasonable to ask users to give a bit back here and there to help with the cost of future improvements.