There is a third possibilitybob wrote: I don't see why this is so hard to understand. If you take a freely distributed program and modify it, you have two options.
(1) keep it to yourself. You can not distribute it to another person or group, period. You can use it solely for your own purposes.
(2) Distribute it to the world, just as the original program you _copied_ was distributed.
It really is that simple, and that specific, and that clear.
(3) keep it to yourself and your codevelopers _while_ you are still developing / testing. Then, when you release publicy you have to release togheter with the source code (or the source code should be provided upon request)
During development of last version of Stockfish I have kept git repository private (it still is), only Joona and Tord had a copy of it.
This is common also in other GPL developments where code is released according to GPL only when it is finished. Not all GPL projects works like this, as example Linux kernel and git itself they are fully open, it means they have their git repositories publicly available and everybody can follow the development patch by patch. Stockfish instead is fully disclosed togheter with the sources, well, actually just the sources only at the end of each release cycle.
Perhaps one day I will make git repository public, but in this chess engines world, at this moment in time, I think this would be, as we say in Italy "trying to take a step longer then your leg"