I'm assuming this came up in the context of earlier discussion today whether or not there is any validity to legal issues surrounding the AGPL.

This article catches on one important detail that really ought to be more heavily emphasized (and if the author reads Hacker News, I would like to see a post on this topic specifically): what is the actual legal interaction between software, software licenses, copyright law, and contract law? As I understand it (IANAL), the actual legal answer is that it is about as clear as mud.

As a software developer, it feels like software copyright and derivative works should extend only to the natural API boundary. That is to say, if the project in question is simply a library and it's being included in an application, unmodified, and interacted only via the API--then the larger application shouldn't be considered a derivative work of the library, and a license granting further copyright shouldn't be required. However--again, AIUI--this is not what the law actually holds to be the case. Instead, the courts generally tend to view applications holistically and struggle to separate out tiny components.

For a clear example of the actual legal stakes here, just look at the recent Google v Oracle decision. Both Google and Oracle agree that Google did not copy the JVM implementation, nor the Java libraries; only the API of Java was copied and only the API of Java is at stake in the analysis. But look closely at the fair use analysis: very quickly, the analysis is being done under the assumption that all of Java is being copied, not just the API [1]. When the issue at hand is over a tiny cog in a larger product, I do not have a lot of faith that courts will be able to strictly limit themselves to look only at that cog.

In more concrete terms, then. If I have an application, and I use a GPL library, the standard interpretation of the GPL is that my entire application has to be distributed under the GPL as a result. By analogy, extend this to network services, and the library is now an individual network service (say, a message queue service) and the application an entire website (say, facebook.com). Does this mean that the website is now a derivative work of the network service? [2] More importantly, if you think it is not, but your opponent in court claims that it is, how sure are you that you can convince the judge to agree with you and not your opponent? Now on top of this you throw the AGPL's extra clause, and you might come to understand why there is some real reason to be reluctant to use the AGPL.

At the end of the day, the real problem here is that IP law isn't all that well-designed for software, especially modern software development practices (such as combining a lot of off-the-shelf libraries together). And the licenses that we use are an annoying mishmash of industry terms and legal terms that don't help the situation at all.

[1] This is much more evident in Thomas's dissent, but Breyer's opinion does dip into this. Although Breyer is mostly using this to point out that the API is only a small component of the product as a whole.

[2] For extra fun, you can also invert the question--if the website isn't a derivative work of a network service, then why should an application be a derivative work of a library it uses? And if the application isn't, then how can the GPL in practice be any different from the LGPL?