The GPL Is Almost an All Writs Canary
The Laboratorium 2016-05-06
Summary:
The following is a very tentative analysis. If I have misread or misapplied the GPL, please let me know in the comments!
Indulge me. Suppose that iOS were licensed under the GNU GPL version 2 because it were built on top of the Linux kernel.1 Might that have changed how the San Bernadino case went down–or how a future case would? Perhaps
The court in the San Bernadino relied on the All Writs Act to order Apple to provide “reasonable technical assistance” to allow the FBI to submit guessed passwords to the iPhone automatically and rapidly, and without wiping the phone after too many incorrect guesses. In particular, the court suggested that Apple could comply by
providing the FBI with a signed iPhone Software file, recovery bundle, or other Software Image File (“SIF”) that can be loaded onto the SUBJECT DEVICE. … The SIF will be coded by Apple with a unique identifier of the phone so that the SIF would only load and execute on the SUBJECT DEVICE.
According to Apple, this order was objectionable in two respects: (1) Apple would need to create a custom version of iOS, and (2) Apple would need to use its private keys to digitally sign that custom version. Apple called this custom version “govtOS,” so I will, too. In Apple’s view, both (1) and (2) impermissibly conscripted Apple, and both (1) and (2) would have weakened iOS security in general.
Back to the license. Under the GPL, govtOS would be a “a work based on the Program”: a derivative work of the GPL-licensed components of iOS. The GPL allows licensees like Apple to “modify your copy or copies of the Program” and to “copy and distribute such modifications,” but only if they also provide “the complete corresponding machine-readable source code.” So Apple could not, without violating the GPL and becoming a copyright infringer, provide govtOS only as object code and not also as source code.
This is almost, but not quite, an All Writs canary. If Apple were required to post the source to govtOS publicly, then the fact that govtOS had been created and what it did would become public. If the All Writs order compelling Apple to create govtOS were subject to a gag order about revealing this fact, then Apple would be on the horns of a dilemma: it could either defy the court order or violate the GPL. The only way to comply with the All Writs order would be to become a copyright infringer.
At the very least, this is an argument against granting the order in the first place. Entering into a legally enforceable obligation to speak publicly about one’s compliance with government orders increases the burden those orders impose. A court might not be entirely sympathetic where a party simply enters into a contract or makes a promise to users, since the purpose of taking on such obligations is so obviously simply to thwart future gag orders. But where the requirement to speak up stems from one’s software-license obligations, a court that orders an Apple to code govtOS and shut up about it would effectively be prohibiting companies from using source-disclosing copyleft licenses without a substantial risk of being unable to comply.
Now, such a court might also opine that the company is protected from infringement liability because use of the software pursuant to a court order is fair use. But such a statement would be dictum, since the copyright owner isn’t before the court. For what it’s worth, the GPL is quite clear that as far as it is concerned, court orders do not excuse compliance with the license:
If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.
So I think a source-disclosing copyleft license could effectively be an All Writs canary. But the GPLv2, as I understand it, isn’t quite. The issue is that the source code need not be disclosed to the public at large. Instead, the licensee need merely “Accompany [the modified software] with the complete corresponding machine-readable source code” (emphasis added). True, there is also an option to make “a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code”–but it would be Apple’s choice whether to make such an offer rather than bundle the source code with govtOS when