If I remember correctly, the GPLv3 license prohibits creating DRM'd content. Or more insidiously, a GPLv3-licensed compiler (e.g. recent GCC) cannot be used to produce an executable that contains DRM code without being in violation of the license, despite the fact that the executable itself is not covered under the GPL.
Someone please correct me if I'm wrong. I'm not willing to wade into the sea of legalese that is the GPLv3 right now just to verify this.
As far as I recall, the GPLv3 has two different anti-DRM restrictions, neither of which does what you say it does. The first restriction is that if you include GPLv3 code in certain kinds of consumer hardware and it accepts firmware updates, you must give the end users any keys that are required to install and run their own modified version of that code. The second restriction is intended to exempt any DRM system based around GPLv3 code from anti-circumvention laws. There's no restriction on compiler output that I'm aware of.
From my understanding, you can create as much "DRM" code as you want, but you must provide the cryptographic key along with the source. This extends to the platform that the code runs on; for example, "Tivo" can't distribute a GPL3 binary in their set-top boxes, lock it down using a cryptographic signature, and fail to distribute the signing key.
It would be impractical for the GPL to determine what counts as DRM and what does not; so they merely require "free modification of the Software".
Someone please correct me if I'm wrong. I'm not willing to wade into the sea of legalese that is the GPLv3 right now just to verify this.