re: A definition of "voluntary"
All of the "distributed processing" concepts I've used, or even read about, involve the deliberate downloading and installation of a piece of software on your own machine to give the system access.
The SETI one allowed you to modify it to ensure that it didn't occupy too much processing time. As I remember, it even had a trigger that would shut it off if demand got too high.
I'm no expert on this, but I imagine most of the file-sharing systems work on a similar basis.
