GPL2 hasn't had that problem present when it was written, and so tivo found a way to prevent practical modification, even tho they followed the letter of the license.
In my eyes, most, if not all open source software should use AGPL, and dual license a commercial license offer for those people who want to buy it for modification. You should contribute, or pay up, else the tragedy of the commons will occur.
There are surprisingly few "trustworthy" comments on that out there, most stuff you find is a bunch of people going "I think XXX, but IANAL" on stack overflow.
(A)GPL, in other words, should be reserved for things that aren't meant to be reusable by other codebases. For everything that should be reusable, LGPL is about the limit for something being usable (and even that can be difficult to work with).
It wasn't, and they amended GPLv3 to make sure that if Tivoization ever happened with GPLv3 code, they could sue for that.