Donations

I'd like to begin by explaining why I release my software for free in the first place, and why I'm now asking for donations. If you don't care about my reasons and just want to give me money right away, you can skip down to the section on how to donate.

Why I release my software for free

I certainly don't make my software freely available because I don't think it's worth anything.

Consider HuffYUV. As I write this, it has been downloaded 35,911 times in its various versions, according to my server logs. It's also mirrored at a few other locations on the Web and there have probably been additional downloads from there. Let's say there are 3,000 people who actually use HuffYUV on a semi-regular basis. And let's say that using it saves these people an average of 10 minutes per month, in time they would otherwise have spent clearing space on their hard disk, or dealing with dropped frames on capture, or whatever.

That works out to 6,000 hours per year. To put that in perspective, a person-year of work (40 hours per week for 50 weeks per year) is 2,000 hours. All this for about six months of part-time effort on my part.

I pulled half of these numbers from a hat and they could be wrong by an order of magnitude. However, keep in mind that I only considered one form of value (users' saved time) and I neglected the fact that HuffYUV's user base will probably continue to grow for the foreseeable future.

The limitless reproducibility of software makes programming very different from most crafts. If I produced pottery instead of software, most of my time would be spent in making copies of my work, and the value I could create would be limited by the number of copies I could create. Writing a program is harder than making a single piece of pottery, but the value it creates is limited in principle only by the total potential value of the software to everyone on the planet.

Obviously I can't claim credit for the nature of software. But in any case I do think my work is valuable, and I do think I deserve to be paid for it.

However, almost any traditional way of enforcing payment would require that I withhold my source code. I can't in good conscience do that.

Besides being a writer of software I am also a user of other people's software, and I suffer constantly from the unavailability of source code. I can think of a few programs off the top of my head that would become much more valuable to me with the addition of a few inconsequential new features or the fixing of one or two minor bugs. If I had the source code, I could make many of those changes easily. Instead, I have no choice but to beg the author to make the same changes. If the author is unable or unwilling to do so -- which is usually the case -- then I'm faced with the prospect of spending months on rewriting the program from the ground up, just so I can then spend a few hours adding the new features I really wanted.

Maybe I'd end up with a slightly better program at the end of it all. But if I'd had the existing source code to start from, I could have spent that same time making it a much better program instead. This kind of pointless duplication of effort benefits no one -- not me, not the rest of society and certainly not the original author. But it happens all the time, because people lock away their source code. I don't want to be a part of that.

If source code were available, the two-gigabyte limit in Video for Windows and Adobe Premiere would have been eliminated years ago. You wouldn't have to upgrade your perfectly good tax software because of a silly little Y2K bug. The best features of Opera and Internet Explorer would be available in a single package. Developers of Windows software would fix many of the bugs they encountered in Windows, instead of working around them, because it would be easier.

Our computers are like mechanical typewriters with sticky keys. We can't hire a repair person to fix them, because the typewriter case is padlocked and only the manufacturer knows the combination. The manufacturer won't give the combination to anyone because, heck, that would be like giving a complete stranger the keys to your house. And the manufacturer won't repair the sticky keys itself, because it's too busy doing other things.

In first-world countries software has become just as important as science. I've argued elsewhere that we could easily be living in a world without public libraries -- and that if we were, it wouldn't necessarily occur to us that things could be any different. Well, in the case of software we are living in that world. Source code is a text: it is a detailed description of how to perform a certain task. The accumulated knowledge of the programming world is reflected in its source code. And most of that source code is unavailable to anyone but the privileged few.

I won't lock up my source code unless somebody forces me to. And most programmers are forced to. Which brings me to the next section.

Why I'm asking for donations

Since late May, I have been on leave of absence from my graduate studies at UC Berkeley. The purpose of the leave was to give me a chance to figure out what I want to do with my life. And I think I have figured out what I want to do: I want to write and release free software, just as I'm doing now. The trouble is that I don't know if I can.

Earning a living at what I'm doing now may be a pipe dream, but I don't think it has to be. My worldly needs are very modest; I could live happily on less than $12,000 per year -- the key word being "happily." I'd much rather earn $12,000 a year writing free software on my own terms than earn $60,000 a year writing proprietary, closed-source software on someone else's terms. (At least until I have a family to support.)

I think I could easily create more than $12,000 in value per year, so there's no inherent economic reason why I shouldn't be able to be paid that much. The problem is entirely a logistical one.

A few years ago, logistics would have made this kind of job impossible. But with the amazing growth of the Internet and the new ability to make easy, low-overhead payments online, I think that may no longer be true. This donation system is an experiment to find out if I'm right.

Who should donate, and how much?

The key idea behind the donation system is that the same miracle of scale that multiplies the value of my software 3000-fold can also divide its cost by the same amount. But this only works if I receive donations from a substantial portion of my user base.

For that reason, I hope that everyone who reads this page will seriously consider making a donation of some amount. The actual amount matters hardly at all. It is far better to send a very small donation than to send nothing at all.

That may sound silly -- but if I had a nickel for every time someone's downloaded a .zip file from this site, I would have made more than $5,000 by now.

I'm afraid people will think that I'll take a small donation as an insult. But you're looking at it the wrong way. From my perspective, every donation is also a fan letter -- by sending money you're telling me to keep up the good work. That in itself is worth a lot to me. Remember, fan letters without any money attached have kept me going so far. I would never take such a thing as an insult. (Please rest assured that I do read every email message that I receive, even though I never reply to some of them -- sorry folks. ^^;)

Also remember that what you decide now doesn't have to remain fixed for all time. There's nothing stopping you from sending me a dollar now, another dollar a month from now, and so forth. Conversely, if you ever decide that you sent me more than you can afford, email me and I will be happy to refund any or all of your money (less the transaction fee, of course).

So send me a donation. C'mon. You know you want to.

How to donate

The easiest way to make a donation is via PayPal, on their secure web server, using a credit card. PayPal is currently available only in the U.S., but they claim that they will be adding international service Real Soon Now.

[Make a donation using PayPal] <== follow this link to donate via PayPal.

The button above will take you to the donation form. Everything is located on one page. Under "Item" you can put anything you want (e.g. "Avisynth"), or just leave it blank. Under "Item Price" enter the amount you want to send me. If you can't decide how much to send, send $5 or $10.

Don't send $0.25 or less if you're paying by credit card, because PayPal will take it all -- they deduct a 25 cent transaction fee from credit card payments.

Unfortunately, there's no way to send money without also creating a PayPal account. (That's what the last part of the form is for.) If this concerns you, you might be reassured to know that the EFF also uses PayPal for donations. You can close your PayPal account later if you don't want your credit card information to be stored on Yet Another Server.

Other ways to donate

Postal mail - You can send me a check or money order or even cash by postal mail. Email me if you want to know my postal address. Unfortunately, my bank will not accept checks made out in non-U.S. currency.

e-gold - My e-gold account number is 189868.

Things other than money - The point of these donations is to support open-source software. If you've emailed me a good idea or suggestion for one of my programs, or if you release your own source code, then you're already supporting open-source software, and you shouldn't send me money on top of that unless you're feeling exorbitantly generous.

I'd like to thank in advance everyone who makes a donation, of whatever kind. I'll update this page every once in a while to show how things are going.


Ben Rudiak-Gould