Earlier this year the Free Software Foundation (FSF) has presented the first draft of the third version of its famous General Public License (GPL). Following the release of the draft, several critics questioned the parts on Digital Rights (or Restriction, if you like) Management. These new clauses basically forbid to use GPLv3 software in systems enforcing DRM schemes. Most notably, Linus Torvalds has said repeatedly that he is unhappy with the new terms regarding DRM.
First of all, let's remember what free software is all about: it is the freedom to run a program for any purpose, the freedom to study and modify it and the freedom to redistribute the program and derivative works of it. To ensure that all derivative works of a free program stay free any act that limits these freedoms must be forbidden.
How does this apply to DRM, then? Under the GPLv2 it is perfectly possible to take a piece of software, say the Linux kernel, and add a nasty DRM scheme that only lets you listen to your favorite music if you have a valid key. If you think that you could just take the source code, remove the DRM check and listen to the music anyway, think again. Thanks to legislation passed almost everywhere in the world such an act would be illegal because you are circumventing a copy protection measure. In most legislations, it doesn't matter how easy a copy protection can be defeated (DeCSS, anyone?), so even if it's trivial to remove the part of the code it's still illegal. Of course, various patches would float around the net, but no distributor would include them, leaving the majority of users, who don't build their own kernels out in the cold.
While this may seem a bit exaggerated at first, it becomes less when you recall that a vice president at RealNetworks recently demanded DRM support under Linux. And with Sun's DReaM and OpenIPMP DRM systems based on free software have already arrived. So the FSF has very good reasons to heavily fight against DRM in free software.
Unfortunately, DRM is not the only case in which existing laws can be used to take away your freedom. In some cases the problem has already been addressed. Copyright, for example, grants the author of a derivative work exclusive rights that are in conflict with the freedom of software. Requiring to share a derivative work under the same terms (Copyleft) solved the problem since the first version of the GPL. Patents are a similar issue, here the GPLv3 will deal with it.
But where does this end? Recently, I have come across Taxbird, the only free software package that can send tax data to the German revenues offices, which is mandatory for all German companies. The program checks the source code against a digital signature to ensure that it is unmodified. Of course, you can remove the check, but distributing the resulting program would be illegal. Even though the program is technically licensed under the GPLv2, you can hardly regard it as free software.
Now the problem is that the GPLv3 can't take care of all obscure local laws that potentially restrict the users' freedoms. However, a possible solution would be to include an additional clause (which is based on a comment by my brother Florian):
You may not create a derivative work with additional features whose removal would make a redistribution illegal.
People with more experience in legalese will probably find a better wording, but the notion is clear: give me liberty or give me death.