If you take the assumption that the user device is actively user-hostile, there's a simpler approach: just add another microchip whose purpose is to run non-free code (or at least non-GPLv3 code) to report on what you're doing. You might not get the world's best networking stack by constraining yourself to non-GPL, but you can certainly get something that's enough to spy on the user. (Or, frankly, given the state of OpenSSL vs. GnuTLS, you probably actually want the non-GPL option :) ) Maybe the GPLv3 gets you the ability to ensure that you can modify the fancy UI on your TV because the best stack for that is GPLv3-based for some reason, but they'll just wire that to a non-GPL component to actually interface with the TV tuner, and then they'll know everything.

That's why I think the Apple case is relevant. Apple is a user-freedom-hostile company. (I actually think they're great at certain things like privacy that are necessary components of user freedom / digital autonomy, but certainly I wouldn't say I've particularly got autonomy over what happens on my iPhone.) And Apple (or well, their precursor, NeXT) decided to contribute to GCC because licensing compelled them to. And now Apple is deciding to contribute to LLVM with no compulsion, which is really kind of strange given that we thought we needed a licensing lever to make that happen, and also there seems to be no licensing lever we can possibly pull to get them to open up the actually interesting parts of any of their devices. The GPLv3 cannot possibly prevail against Apple, because they can and empirically did just reimplement things to avoid it.

This is the difficulty with licensing as a weapon, and it's something that the free software movement needs to seriously struggle with. Did the strategy make sense in the past and it no longer does? Did it never make sense, and we were just lucky? Are we not trying hard enough?

And to be clear, I'm not saying that he FSF needs to be pragmatic instead of ideological. The FSF always was pragmatic as a means towards being ideological. That's why it built GNU, an entire coherent OS that people could actually use, and didn't just write licenses. And that's why a lot of the early FSF focus was on redeveloping parts of UNIX that had no immediate free replacement, instead of writing free software in general.

Quoting RMS:

> As the GNU Project proceeded, and increasing numbers of system components were found or developed, eventually it became useful to make a list of the remaining gaps. We used it to recruit developers to write the missing pieces. This list became known as the GNU Task List. In addition to missing Unix components, we listed various other useful software and documentation projects that, we thought, a truly complete system ought to have.

I argue that the reason that RMS / the FSF had leverage over NeXT/Apple in the past was that it was ruthlessly pragmatic: they built an amazingly high-quality compiler compared to all the alternatives that existed at the time, such that the obvious thing for a for-profit, user-hostile company to do was to comply with the terms of the license. That pragmatism gained them an ideological victory.

The GPLv3 is very ideological, but it was only ideological. There wasn't a plan for how to actually get anyone (except the FSF themselves) to use it; there wasn't even a plan for how to get the actual GPL'd code running on actual TiVo devices to use it.

So - I don't know what modifications to v3 would have accomplished the ideological mission, and my tentative answer would be it couldn't be done. But that just brings up the question of why it couldn't be done - what could they have done to have enough power/influence to cause a mass switch to GPLv3?

Or was there some other way that they could have addressed the threat of user-hostile devices other than through writing a new software license?