Let's say I found a bug in some software I use, and tweaked a few lines to fix it. Now what do I do?
(1) Mail a diff to the author.
(2) Get an account on some random website, "fork" the code, make the tweak again, and "submit a pull request."
I'll choose (1) every time, and will probably just shrug and move on if I'm forced to do (2). I've made a few throwaway GitHub accounts when I cared enough, but I usually don't bother.
I don't like the centralization around a proprietary software, but saying GitHub is a random site isn't fair. A lot of F/OSS people use it. Out of curiosity what happens when you want to submit say a picture to a repo?
I'm not a graphic designer, so I don't usually do that, but I'd probably email the author or development list. Projects with lots of binary files checked into version control are very different from source code, though, so I don't know how they normally operate.