Imagine that there is this software, FooBar, which is under the GPLv2 license. Then, in one of your unproductive Saturday afternoons, you modify, let's say a new module, that is a derivative work of FooBar. Just to name it, you call your module FooDisco.
Is clear that if you personally use and run FooDisco, you have no obligations to comply the GPL license to anyone on the Earth.
But, and we enter now in the core of the question, if you decide that your friend
A is entitled to get a copy of your software (under all terms of GPLv2), is the rest of the world inheriting the permission as well?
To make the question more formal, what is the definition of "make public a software", and who are the third parties to whom the GPLv2 addresses its concerns (point 2 of the GPLv2 license)?
IMHO, the software is public only when the public (so, everyone) has a mean to obtain the software in binary or source code form. If, for instance, the software is private (it stays on my computer), I can decide to give it to
A (full GPLv2, with all rights) but deny to give anything (binary, source code) to
B gets the software through
A, no problem from my side (the GPLv2 allows to redistribute), but
B can't pretend anything (I mean, can't pretend any compliance) from me, since I am compliant towards
A, and I have no obligations towards
Is that correct? There are references for what I say?