Many of these obligations, such as providing a copyright notice
and a copy of the GPL version you are using, are relatively simple.
However, the obligation to provide source code with the object code
is more complex, because you have several choices about how to
fulfill it – and the choice you make can cause ongoing
problems, especially if you are not set up to administer it.
"The language governing the distribution of source code varies
depending on whether you choose to use the second (GPLv2) or third
version (GPLv3) of the license. "