Am I legally obliged to redistribute the changes that I made to a GPL application?
Can I redistribute it only internally in my company?
Am I legally obliged to redistribute the changes that I made to a GPL application?
Can I redistribute it only internally in my company?
If you make changes to a GPL application and do not give it to anyone outside your organization, you do not have to publish the changes. Once you distribute or make available the program in binary form to others publically, you must publish the source.
The GPL is a distribution license - if you're not distributing the program, you don't have to worry about it. That being said, it's always a good thing to publish your changes back if you think they could be useful to others
Regarding GNU GPL, you should provide source code (or give it away on the first request) with any copy of binaries to whomever you provide them. That formally applies to any kind of distribution, even inside your company. But there could be restrictions, put by your company not to give away any modified binaries or source code outside. That's how Google exploits GNU GPL products, including GNU/Linux.
If he doesn't want to distribute to the world, then there really isn't a reason to use an "Open Source" license. Instead, just give the code to the people he wants to under a more restricted license.
To answer your other question, the only way a license becomes valid is if it is between two parties. So it doesn't matter what license he "developed under", as if such a thing exists. All that matters is the language used at the time he licenses it to at least one other party.
This is answered in the license itself. For example, the GPLv3 states (section 6):
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 under the terms of this License [...]
Furthermore,
To “convey” a work means any kind of propagation that enables other parties to make or receive copies.
Whether or not you distribute publically is thus not relevant.