> GPLv2 allows you to do all of those things. You can run the code on your own
First off, one of the rights GPL gives you as end user is the right to modify and run GPL licenced code on the device which comes with GPL licenced code.
When FSF crafted GPLv2 they inadvertedly left a 'bug' in the licence which allowed someone like Tivo to bypass this end user right by enforcing DRM through the Tivo only running code signed by Tivo themselves.
In other words, the hardware which you bought (Tivo), and as such is 'your own hardware', can't run the code you want despite it running GPL licenced software which is supposed to grant you that very right.
Now, whether or not you think this is a good condition to have is up to you, Linus didn't as this was the one issue he had with GPLv3, given that his primary interest is in getting any code enhancements merged back to Linux.
So for him, as he has stated numerous times, GPLv2 is the perfect licence, which is also why he did not add the typical 'or later' GPL clause to the Linux GPLv2 licence.
At the same time, from FSF's standpoint, this is a loophole which should be fixed as it again exists to give end users rights which includes receiving, modifying and running GPL code on the hardware on which it was shipped.
With some exceptions, such as code that can't be changed by anyone, like ROM.
So you have the choice to select which one you want for YOUR code, if you want to ensure the end users (which could end up being yourself) the right to run modified GPL code on hardware it ships with, use GPLv3, if you don't care about that and only want the potential source code modifications, you can use GPLv2.
No right or wrong here, just subjective choices.
> I had a Linksys Linux based router that to build the firmware you needed a GCC based
> toolchain that was only available to commercial partners. I potentially could have
> reverse engineered what it needed but it wasn't worth it.
That sounds like an obvious licence breach, they have to make the necessary tools to build the code available to recipients under GPLv2 aswell. Do you have any more information on this?
>But as making Linux GPLv3
> would mean TiVo would have to stop using Linux and that could damage Linux's revenue
Not sure what 'revenue stream' Linux would have gotten through Tivo? It's not as if they had to pay anything to use it, also doubt there were any notable code contributions from Tivo.
In fact there's no revenue stream for Linux at all that I'm aware of, there are donations to the Linux foundation (from which Linus is paid his salary), but overall the kernel developers are directly hired by companies who in turn rely heavily on Linux, like Red Hat, IBM, Intel, etc
I believe that at best Linux got some recognition from being used in Tivo, but that's about it.
>Richard Stallman can complain all he wants, but he
> does all right financially out of FSF too.
Not sure what this has to do with anything, but from what I gather Stallman seems to live as a nomad, just going from place to place talking about free software. I must have missed those pictures of him chilling in his penthouse.
Furthermore it doesn't matter what Stallman, or anyone else 'thinks'. What matters is what developers decide to use as licence for their code, which in turn depends on what said developers want in return for their code.