Graphing is one option, but you'll need to think of more. There's also the problem of people paying, downloading, and then giving it away to others. Do you not worry about this? Or do you somehow "lock" the download to that user. Be very, very careful about preventing someone for using something they paid for. If their machine breaks and they get a new one, with the program still work? How can they move it?
And so on.
The real point is that people will only pay if they get something in return. Think carefully about what that might be.