I would like to learn more about satisfying GPL3 object code distribution requirements with a hopefully simple enough example.
I download a docker image for e.g. Debian from hub.docker.com with
docker pull debian
This will transfer among other things the executable command line program "ls" from their server to my computer, which is part of the GNU coreutils, a software package which is licensed under the GPL3.
I'm now trying to understand how whoever runs the download server is complying with section 6 of the GPL3, which regulates access to the corresponding source code of coreutils:
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, in one of these ways:
It goes on to list 5 different ways, a) to e).
a) and b) only apply when a physical device is transferred, therefore, a) and b) cannot apply here.
c) requires the transfer of "a copy of the written offer to provide the Corresponding Source". There is no paper physical paper slip, and no text file in /usr/share/doc/coreutils inside the image has such a written offer. The "license" section from the docker image description at https://hub.docker.com/_/debian has also no such written offer.
e) involves peer-to-peer transmission, which I understand as something like bittorrent, which also does not apply here.
So by elimination, d) must apply. It reads:
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
I do not think that whoever runs the docker hub image download server provides the source code (for any and all distributed GPL3 software in object form) on the same server, so the "different server (operated by you or a third party)" clause must apply. Could it be they rely on the debian project distributing the source for GPL 3 software contained in debian on the debian servers, at least as long as debian functions? If so, then I am still missing how the part "provided you maintain clear directions next to the object code saying where to find the Corresponding Source" is fulfilled.
At this point I would like to ask for your input. The reason that I ask is that I want to distribute Docker images and SD card images for Raspberries myself and want to comply with all the licenses of all contained software. One way would be to include all the sources inside the images that I distribute, but Docker seems to have found an easier way, and I want to understand how they comply with the contained licenses, here GPL3.
/usr/share/doc/*/copyright
and makes it convenient to download sources for packages via theapt-get source
tool.