This answer assumes that OP has a GPL'ed modified work he is distributing to his friends, and wants to avoid giving them his modifications to the source code. If by "uses another software" he means he simply executes their unmodified executable, then this answer would probably, depending on the exact details, be quite different (for example by distributing the two pieces separately).
The relevant bits of the GPL are the following; I have obviously quoted very short snippets only. Use these as a guideline for your own studies. The GPL document is quite short and, in my opinion, self-sufficient enough to work through it yourself instead of only relying on other opinions:
Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies.
Pure copyright (with not license whatsoever), in a nutshell, forbids propagating and conveying per default; the function of the GPL is to allow it and make sure it cannot be taken away. The copyright, per se, stays with the copyright holder.
You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works,
Up to here, this last sentence is important (but not directly applicable to you!). It clears up an important issue which would otherwise mean it would be very hard to actually use GPLed software, or to work on it with subcontractors. It means that for example you can take a GPL'ed source, modify it, and give it to a subcontractor specifically to continue development for you. You can give it to, say, a hosting service to run it for you. Both without having to GPL your own modifications. This clause is far up in the license, and specifically says that for all other cases, the rest of the license is relevant.
Again, your use case does not fall under this clause.
GPL is "viral"
In all other cases, including yours, the rest of the license says this:
Conveying under any other circumstances is permitted solely under the conditions stated below.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source
So this is rock solid and plain as daylight: it does not matter to how many people you distribute your modified work, or if it's private or public. By sending your friends your program, you must make the source code available to them. The license has a lot to say about ways how to do that. Specifically, you do not actually send the source code along with the program; it is enough if you have the source on a server and provide them the information how to get it.
Not necessarily public
On the question whether you need to also make the code publicly available: the license does not require that. The relevant chapter 6 makes three mentions of the word "public". One is the way "e)" to convey the source - but it only requires you to pick one of the ways; the others make no mention of it being public.
At the very end of chapter 6 is a mention that the way you provide the source has to be public. That is, if you a way to compress your code (i.e., as a tar or zip file), then the compression method must be public, and an implementation of the compression method, i.e. the programs "tar" or "unzip", have to be publicly available).
To clarify: this means you are not required to upload your modified source to a public source repository.
Must give unrestricted access to code
Finally, regarding whether your friends are then bound to the license:
You are not required to accept this License in order to receive or run a copy of the Program.
This means your friends can use the program however they see fit, they do not need to care about the source at all if they only use it. The obligation is on you to provide the source, but they have no obligation to actually download with it, or put it next to the program on their hard drive or anything like that.
But here's the kicker:
However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
This means you have, by giving the program to your friends, implicitly agreed to GPL your modified program. So you are indeed required to distribute the LICENSE together with your modified program, and you are required to give them free and unrestricted access to the code; and they do indeed have to do everything with the program and code as per the GPL - specifically, they can distribute the program, if accompanied by the source, in public.
There is no way for you to avoid that except by not giving your friends the program at all.
As said, the only exception for that are the two very specific cases mentioned in the preface - if your friends were developing the software for you, or hosting the software for you, then this would usage be exempt. But again, this is not what you are describing.