@fsf This is a legally slimy demarcation. I can modify GPL code privately and never publish it, using it purely for personal use. The obligation to publish full source is clearly documented in GPLv2 section 3. (GPLv2 being what the Linux kernel uses, and is widely considered to be "the GPL" in practice.)

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

Do you *have* to publish your modified GPL code? Technically no. But in any practical sense, yes, or else you are violating the spirit and letter of the license.