O original Tivo foi uma das melhores experiências fora da caixa que já tive que já tive como consumidor. Lembro-me de como foi empolgante contar aos amigos sobre nossa nova capacidade de pausar a televisão ao vivo e de como foi libertador sentir-se livre da tirania dos horários da televisão. Imagine assistir ao que o senhor quisesse, quando quisesse! É claro que os gravadores de vídeo digital não são mais as criaturas raras e caras que eram em 2002, portanto, parte do brilho original do Tivo está irremediavelmente perdido.
Mas o Tivo era mais do que um DVR comum. Sua verdadeira beleza era a síntese de uma interface de usuário intuitiva, hardware bacana e um controle remoto elegante. Ele funcionava em todos os cilindros. Eu adorava minha unidade da série 1 com uma paixão que a maioria das pessoas reserva para seus filhos recém-nascidos. Eu o atualizei com um conector ethernet e coloquei um disco rígido maior para poder armazenar uma semana de televisão. Não importava que eu tivesse que deixar meu emprego para realmente ter tempo suficiente para assistir a todos esses programas. De alguma forma, a mera conhecimento de que eu tinha um zilhão de episódios de Seinfeld ou dos Simpsons disponíveis para visualização imediata me dava uma sensação de calor e conforto nas regiões inferiores do meu cérebro nerd. Era um tipo de liberdade tecnológica linda e pura.
Por baixo do capô, o Tivo era baseado em Linux. Com uma caixa da série 1, o senhor podia acessar todas as ferramentas *nix padrãoe instalar alguns hacks interessantes, incluindo um UI da Web. Mas tudo isso acabou quando fiz o upgrade da minha caixa Tivo Série 1 para uma Série 2. Esse Tópico épico do fórum da comunidade Tivo de 2003 explica o porquê:
O Series2 autônomo que executa o software 3.2 pode ser hackeado para obter um prompt BASH por meio da ponte USB/Ethernet?
Não. Os arquivos de configuração são protegidos por hashes, e a lista e o programa de verificação de hash estão no initrd do kernel, que é assinado e verificado pela ROM de inicialização. Se houver alguma alteração, o arquivo será substituído ou não será inicializado.
O método usado pelas pessoas que usam o DirectTivos executando o 3.1 pode ser usado em um 3.2 autônomo?
Não. Existe um software desbloqueado para o DTivos (antes de a Tivo atualizá-lo), mas todos os stand alones da Série 2 sempre tiveram o sistema operacional e as ROMs protegidas.
Se isso não for possível, há alguma esperança de que seja possível no futuro?
Quem sabe? Houve um hack inicial (definir uma variável BASH_ENV que faz o bash executar um script), mas o Tivo agora verifica isso. É difícil alterar a ROM de inicialização, pois ela é soldada à placa do sistema. Se ela for flashable (ainda não vi um sim ou não definitivo), o senhor ainda terá que entrar no sistema para executar um programa flash.
Em outras palavras, A Tivo adicionou proteção de hardware no Series 2 para evitar que alguém modifique o software Tivo. O Tivo se tornou outro console Xbox ou Playstation – uma plataforma bloqueada e protegida por hardware. O senhor teria que, de alguma forma, derrotar a proteção do hardware (por exemplo, instalar um modchip ou ROMs flash) antes de poder modificar qualquer coisa. Parece que A proteção da Série 2 foi finalmente derrotada em 2005, mas eu já tinha saído do ecossistema Tivo há muito tempo, então nunca vi isso acontecer.
Nesse ponto, é justo perguntar “e daí?”. Portanto, não podemos hackear o hardware da série 2 da Tivo. Posso não gostar, mas o hardware é deles, não meu. Eles podem criar as proteções que quiserem, certo? Ah, mas aí está o problema. O Tivo é baseado no Linux, e o Linux é licenciado sob a GPL. A GPL usa uma licença “copyleft”.:
A maneira mais simples de tornar um programa um software livre é colocá-lo em domínio público, sem direitos autorais. Isso permite que as pessoas compartilhem o programa e seus aprimoramentos, se assim o desejarem. Mas também permite que pessoas não cooperativas convertam o programa em software proprietário. Elas podem fazer alterações, muitas ou poucas, e distribuir o resultado como um produto proprietário. As pessoas que recebem o programa nessa forma modificada não têm a liberdade que o autor original lhes deu; o intermediário a retirou.
No projeto GNU, nosso objetivo é dar a todos os usuários a liberdade de redistribuir e alterar o software GNU. Se os intermediários pudessem tirar a liberdade, poderíamos ter muitos usuários, mas esses usuários não teriam liberdade. Portanto, em vez de colocar o software GNU em domínio público, nós o “copyleftamos”. O copyleft diz que qualquer pessoa que redistribua o software, com ou sem alterações, deve passar adiante a liberdade de copiá-lo e alterá-lo ainda mais. O copyleft garante que todos os usuários tenham liberdade.
Esse conceito de liberdade de software está profundamente incorporado à GPL. Conforme prometido, temos de fato a liberdade de ver o código-fonte do Tivo, copiá-lo e alterá-lo. Como o hardware do Tivo valida o software, o acesso ao software do Tivo se torna efetivamente sem sentido. O senhor pode modificar o software o quanto quiser, mas nunca conseguirá executá-lo em seu próprio Tivo!
O senhor pode, de fato, argumentar que a Tivo subverteu os próprios princípios da GPL sobre os quais construiu seu negócio. Richard Stallman certamente o fez. Ele se sentiu tão forte com relação a essa subversão percebida da GPL que ele literalmente voltou atrás e reconstruiu a licença GPL para evitar o que a Tivo fez:
No entanto, há aqueles que querem usar software coberto pela GPL para essa finalidade, e querem fazê-lo transformando o liberdade número um em uma farsa, uma fachada. Assim, eles planejam fazer algo como criar uma versão modificada do programa coberto pela GPL, que contém código para restringi-lo, distribuí-la aos senhores e, de alguma forma, fazer com que não possam realmente modificá-la ou, se a modificarem, ela não será executada ou, se a modificarem e a operarem, ela não operará com os mesmos dados.
Eles fazem isso de várias maneiras. Isso é conhecido como Tivoização porque é isso que o Tivo faz. O Tivo inclui alguns softwares cobertos pela GPL. Ele inclui um sistema GNU+Linux, um sistema pequeno, mas inclui, e o senhor pode obter o código-fonte para ele, conforme exigido pela GPL, porque muitas partes do GNU+Linux estão sob a GPL, e uma vez obtido o código-fonte, o senhor pode modificá-lo, e há maneiras de instalar o software modificado no seu Tivo e, se o senhor fizer isso, ele não funcionará, ponto final. Ele faz uma soma de verificação do software e verifica se é uma versão deles e, se for a versão do senhor, não funcionará. É isso que estamos proibindo, com o texto que escrevemos para a versão três da GPL. Ele diz que o código-fonte que eles devem fornecer ao senhor inclui quaisquer chaves de assinatura ou códigos necessários para fazer com que sua versão modificada seja executada.
As empresas não podem mais adotar software GPL e depois incorporar proteções de hardware para impedir efetivamente as liberdades de software que a GPL garante especificamente. Isso é nada menos que um ataque frontal total à tecnologia favorita de todos, o Gerenciamento de Direitos Digitais. Observe que há uma brecha considerável, no entanto. A versão final da GPL v3 (seção 6) afirma que a chave de assinatura não precisa ser fornecida quando o software é distribuído para empresas. Mas isso foi claramente feito apenas de má vontade e após intensa resistência; o FAQ nos repreende: “achamos lamentável que as pessoas estejam dispostas a abrir mão de sua liberdade dessa forma”.
A forma como a Tivo construiu seu negócio em torno da GPL e depois a subverteu completamente com a proteção de hardware é irritante. Mas também me pergunto como uma empresa como a Tivo poderia ganhar dinheiro se os usuários pudessem simplesmente recompilar o software Tivo para parar de ligar para casa e cobrar. Assim como os consoles, o hardware do Tivo é normalmente vendido com grande prejuízo para subsidiar a plataforma. Se esse hardware pudesse ser facilmente formatado e o software reconstruído, o senhor criaria um permanente líder em perdas. Portanto, posso simpatizar com o desejo deles de controlar a plataforma.
Não tenho certeza de qual é a minha posição com relação à cláusula de tivoização na GPL v3. Pelo que vale, por mais que eu adorasse meu Tivo, abandonei a plataforma anos atrás como uma causa perdida. Eu já disse que acho que o um produto atraente pode me fazer ignorar o DRM, então talvez minha opinião já seja suspeita.