The controversial part, as I understand it, is the difference in interpretation of a license's conditions. For example, the difference between an "aggregation" and a "combined work" in the GPLv2 confused at least one Slashdot user.
Actually the ugliest part of the GPL which is clear as ink in law is what - if anything - makes inter-module communication derivative. The theory of derivative works mainly involve sections or elements reappearing in the derivative, like a composite made from a photo. It doesn't cover interfaces where independently developed code calls each other at all. If I wrap a GPL library into a web service, is calling it derivative? If the answer is yes, the GPL is extremely viral. If the answer is no, the GPL is in big trouble. Which is why you never get a straight answer.
This directly links in with the "mere aggregation" clause, if you can for example distribute a distro that has an application that sends mail and a mail server without those being derivative, can you also distribute proprietary software and this web service? Your software needs it, this software happens to provide it but it could in theory be provided by a different implementation. I'm sure Stallman says no, but it's entirely unclear to me if a judge would agree.