Why the AGPL is often unenforceable

The AGPL is intended to require that where the source code of open source network service software is modified, that code is made available even if the software is not distributed.

An interesting case is where the AGPL is applied to implementations of network protocols. For example, OpenBSC is a GSM base station implementation which converted to the AGPLv3.

The problem is that this is patently unenforceable. The AGPL, like the GPL, is a copyright licence, not a contract; it can only authorize you to do things you would not otherwise be able to do under copyright law. It imposes conditions by being very specific about the nature and terms of that authorization. But this means that it is impossible for the GPL to restrict any action which you would have been legally authorized to do even if the software had not been licenced under any licence.

The GPLv3 itself explicitly acknowledges this in the text. The whole thing is “without prejudice”; if the GPL does not apply, you simply go back to having the rights you would have had if the software was “all rights reserved”. One does not require permission from the copyright holder merely to use software one already possesses, so long as one does not distribute it. Under US law, this is explicitly stated by 17 USC 117, even assuming it would not constitute fair use.

This means that the extra provisions of the AGPL can only be effective when operation of the program fundamentally gives rise to actions regulated by copyright. What I in particular have in mind here is that web applications, for example, by virtue of their operation, distribute potentially copyrighted HTML, CSS, JavaScript, etc. Thus by virtue of their operation, copyright is by default infringed, and authorization is, presumably, necessary for the operation of the program.

This means that the AGPL is principally effective when applied to web applications. However, its additional terms are ineffective when applied to a network program which does not distribute copyrighted parts of itself.

It is extremely unlikely that you could successfully argue that GSM protocol output of OpenBSC is copyrightable. As mentioned, protocols cannot be copyrighted. Moreover, as a purely technical dataset, the data does not meet the criteria for copyrightability. There is no creative element.

The AGPL is therefore entirely ineffective so far as it applies to projects like OpenBSC. The AGPL can only be effective for a project when that project's operation requires distribution of copyrighted parts of itself. Even then, this could be circumvented by switching out the copyrighted data for more liberally licenced replacements.