I have two problems with the open source donation model.
The first is that open source projects are made from code, and the best donation I can give them is not money but code. In the case of Perl, I maintain nearly 40 modules, managed the release of the first few versions of the Perl 6 interpreter, and have contributed many patches and documents to the Perl 5 core. I feel absolutely no guilt at all for not giving a single cent to the fundraising drive.
If all we did was throw money at a small number of people to get the code written for us, there'd be no community to maintain.
Second, and far more seriously, donation models reinforce the myth that software is important in any meaningful sense of the word. Of course, software is relatively important to programmers, but for the vast majority of the world, it's pretty meaningless.
I'm very lucky that I have the opportunity to give reasonable sums of money to charity reasonably often. When this happens, I naturally have a number of things vying for my donations. Here are a few:
- Work with homeless people in my home town.
- Care for the elderly mentally ill.
- Providing AIDS vaccines for children in Africa.
- Digging wells and providing fresh water for villages in Pakistan.
- Allowing privileged first-world programmers to sit in front of a computer for more hours than they currently do.
Put like that, I hope it is clear that software is not as important as the biased eye of a programmer may perceive. Indeed, no matter how much of my income I derive from the existence of a given open source project, it becomes very difficult for me to fail to take a global view in cases like this. The common counterargument that I should donate money to Perl because it provides my livelihood makes sense only for those who cannot see beyond their own needs.
Meanwhile, I know full well that as Perl is an open source project, it'll continue to be maintained and developed whether or not people are paid to do this. This makes it even more difficult for me to help the poor white-bread middle-class afflicted.
So I'm happy to contribute to Perl in my own way, but I'd rather not lose my sense of priority.