I ask because I'd be in violation. I've attached the GPL to a bunch of dinky little projects I haven't bother hosting a public repository for because I don't think anyone else in the 'verse really cares. In most cases I know I'm the only user, but there are a few that some other people have at least downloaded (probably bots or mistakes, but downloaded nonetheless).
I also did not mention (because it was not relevant to the parties being discussed) one other option: If you received the binaries from someone else, with a written offer for source code, and you are distributing the binaries non-commercially, you can simply forward a copy of the written offer of source code you received.
The section of the GPL 2 you want is section 3, and in GPL 3 it’s section 6.
Note that there are some changes here compared to v2 of the GPL.
IANAL but my understanding/interpretation (simplified) is you have to either:
6a) Ship the binaries in a physical product with a copy of the source code accompanying
6b) Ship the binaries in a physical product along with an offer to provide the source code on request
6c) "occasionally and noncommercially" ship the binaries (not necessarily in a physical product) along with an offer to provide the source code on request
6d) Make the binaries available from somewhere (e.g. a website) which also offers the source code (e.g. GitHub would count)
6e) Ship the binaries via a P2P mechanism if you include a link to where you host the source code
Again, IANAL but if you hosted a GPLv3 binary somewhere without source code, it would technically be a violation of the GPL.
However, since you are the copyright holder in this case, you can ship it however you want - it would just prevent anyone else from then distributing it under the GPL since they wouldn't be able to comply with section 6, since they don't have the source code.
- Bundling the source with the program (a)
- Letting people download the source from the same place as they can download the program (d)
- A written offer to hand over the source on request (b, c, e)