sexta-feira, 27 de fevereiro de 2009

Conta-me como foi - DVD em Linux

Nota: alguns links incluídos neste texto demoram bastante a abrir porque se referem a conteúdos históricos presentes no Internet Archive cujos sites originais já não existem.

Decorria o longínquo ano de 2000 e o DVD era a última moda audiovisual. O salto qualitativo em relação a tudo o que existia anteriormente era gigantesco e a tecnologia DVD fez sucesso quase instantâneamente. Mas ver DVDs em Linux era ainda bastante complicado.

Havia na altura dois desafios principais:
  • aceder ao conteúdo do DVD ultrapassando um tipo de DRM, chamado CSS, presente em quase todos os DVDs comerciais
  • implementar um decoder de mpeg2 que funcionasse bem nas máquinas da época
O primeiro destes foi superado pelo famosíssimo DeCSS . O DeCSS permitia decifrar o conteúdo do DVD tendo por base uma chave criptográfica alegadamente obtida por reverse engineering de um player comercial para Windows. A divulgação deste software deu origem a um polémico processo em tribunal, promovido pelas associações americanas CCA e MPAA, contra o norueguês Jon Lech Johansen posteriormente conhecido como DVD Jon. A comunidade respondeu de imediato com a distribuição em massa do DeCSS de múltiplas e imaginativas maneiras.

O DeCSS foi posteriormente substituído pela libdvdcss a qual é agora alojada abertamente no site do projecto VideoLan. A libdvdcss implementa um ataque brut force, ao sistema CSS (que se mostrou ser criptograficamente fraco) e permite ignorar a restrições às zonas oficiais dos DVDs.

É preciso salientar que uma das motivações do desenvolvimento destas tecnologias era permitir a reprodução DVD com software Open Source, nomeadamente em Linux, uma vez que a forma tradicional de o conseguir era adquirindo uma chave criptográfica ao já mencionado consórcio da indústria chamado CCA. Ora esta situação era claramente incompatível com a existência de um player Open Source e bastante injusta para o consumidor que, já pagando o valor de cada DVD, não deseja certamente que lhe seja imposto o sistema operativo e o software com que o vai ler. Após demorada polémica a julgamento terminou sem qualquer condenação considerando-se que a prática não era contrária à lei.

No entanto este processo veio chamar a atenção para o recorrente esforço de algumas associações da indústria em restringir a forma como são usados produtos legalmente adquiridos como forma de prevenir potenciais usos ilegais. Em questão esteve sempre o direito de um indivíduo poder aceder ao conteúdo de um DVD, por ele legitimamente adquirido, mas a indústria montou uma campanha no sentido de insinuar que apenas se defendia contra cópias ilegítimas. Ora para fazer cópias ilegítimas de DVDs nunca houve necessidade de ultrapassar as protecções: basta fazer uma cópia integral do disco original a qual funcionará sem problemas.

O segundo dos desafios, aparentemente mais fácil de superar, demorou algum tempo a ser ultrapassado. A tal ponto que toda a discussão sobre o DeCSS aparentava ser fútil dado não existir à data nenhuma implementação funcional que deste fizesse uso.

É também de salientar que na altura o hardware disponível estava no limite mínimo necessário para esta tarefa. Havia máquinas PII a 400 mhz que ainda se engasgavam com o ATI DVD Player em Windows, tal como havia máquinas PII 300 mhz que funcionavam fluidamente em Linux. Tudo isto dependia da qualidade e performance das boards (CPU e IO) bem como da placa gráfica sendo que na altura a Xv extension, essencial para fazer offload do CPU nas operações de scaling e colorspace conversion, não estava generalizada (existia inicialmente para placas Matrox, seguindo-se as ATI, estando hoje presente em quase todos os drivers do Xorg).

A primeira tentativa de DVD player open source era o OMS que infelizmente nunca funcionou bem. Posteriormente surgiu o projecto Xine, liderado na altura por Guenter Bartsch, que logo nas versões iniciais conseguiu estabilidade e performance aceitáveis na reprodução de DVDs. O projecto Xine utilizava a libmpeg2, algum código do OMS e oficialmente só suportava DVDs não cifrados.

OMS - o player que nunca funcionou mas lançou as bases para a reprodução DVD em Linux

No entanto um tal da Captain CSS lançou na web um plugin que permitia reproduzir DVDs cifrados no Xine. Não tardou que alguns sites começassem a distribuír o player completo, pronto a funcionar:

http://lists.blu.org/pipermail/discuss/2001-January/008408.html

http://web.archive.org/web/20010309015840/http://gape.ist.utl.pt/ment00/linuxdvd.html
http://web.archive.org/web/20010801165028/http://gape.ist.utl.pt/ment00/linuxdvd.html

Em Janeiro de 2001 a repdrodução DVD em Linux era uma realidade. Os DVDs já funcionavam a nível básico estando algumas funcionalidades como as legendas e navegação nos menus em desenvolvimento. Para além do Xine projectos como Videolan, o Mplayer e o Ogle começaram igualmente a apresentar resultados.

Xine - o primeiro DVD player open source. A sua base (libxine) é hoje utilizada por diferentes players

Nesse mesmo ano em Abril, A VIII Semana Informática do IST albergou uma exposição intitulada "Linux como solução Desktop", algo claramente muito avançado para a época... e convidou um representante do projecto Xine apresentar o projecto. O developer em questão foi Siggi Langauf que se deslocou de Estugarda para falar no primeiro dia do evento.

Actualmente existem múltiplas soluções para reprodução DVD em Linux entre o Xine, Mplayer, Ogle e os diversos front ends disponíveis em versões Gtk, Gnome, KDE, etc. As libraries necessárias (libdvdcss, libdvdread, libdvdnav) nem sempre são incluídas pelas distribuições mas estão geralmente a poucos clicks de distância através de pacotes pre-feitos para cada distribuição alojados em repositórios não oficiais.

Kaffeine - player multimedia baseado na libxine

A batalha pelo direito à reprodução DVD em Linux foi vista como mais uma batalha pela liberdade do consumidor e um exemplo de como a força bruta centralizada dificilmente derrota a inteligência distribuída. Foi uma batalha ganha, em tempos mais difíceis do que os de hoje, mas que importa recordar pois deverá dar o exemplo para as próximas. A garra e persistência de quem trabalhou dias e noites para juntar todas as peças deste puzzle é uma incomparável fonte de inspiração.

quinta-feira, 26 de fevereiro de 2009

Microsoft, Tom Tom e as patentes de software

A Microsoft acaba de processar a TomTom por alegada violação de 5 patentes de software pretentendo ser compensada pelos danos da alegada infracção. Esta situação vem mais uma vez lembrar o mercado quer dos perigos da existência do próprio conceito de "patente de software" quer da fragilidade das promessas emitidas sobre tecnologia patenteada.

Relembre-se que a Microsoft, no decurso da normalização do OOXML, se recusou a ceder as patentes da tecnologia utilizada preferindo emitir os famosos "covenant not to sue" (nos quais acredita quem quiser) e referir-se em vagos termos ao RAND (Reasonable and Non-discriminatory) que a ISO nunca chegou a explicar publicamente. E na tão anunciada iniciativa de interoperabilidade de 2008 pouco mais fez do que tentar diferenciar o acesso às especificações para fins não comerciais do acesso para fins comerciais, algo que a nível do ecossistema Open Source não faz sentido algum.

Num contexto em que a concorrência começa a dar sinais de crescimento, a crise incentiva a descida de preços e se generaliza o conhecimento das práticas anti-concorrenciais da empresa, tudo indicaria que a Microsoft se fosse dedicar a acrescentar valor aos produtos, justificando assim a escolha dos clientes mais fiéis e posicionando a sua oferta como superior à concorrência.

No entanto opta-se mais uma vez pelo brut force approach que, independente do resultado a que conduza, irá ceramente indispôr muito gente e trazer mais alguns gastos de imagem. Relembre-se o fiasco da SCO.

Nos próximos tempos irão certamente multiplicar-se artigos a explicar como as patentes alegadamente infringidas incidem sobre ideias perfeitamente banais, como as patentes de software inibem a inovação em vez de a proteger, que já existe prior art, etc. E isso é tudo verdade. Mas para além disso há que não menosprezar um facto: a Microsoft ataca directamente uma empresa de que os consumidores - incluindo clientes Microsoft - gostam. E isso não dá boa imagem na era da Web 2.0.

A seguir pode processar o Google, o Yahoo, a Apple, o Sapo, a Red Hat, a Linux Foundation... mas é um processo que só conduz ao isolamento e à imagem do bully kid que quer o recreio só para ele nem que para isso corra com todos à força.

quarta-feira, 11 de fevereiro de 2009

Percepção e realidade

Uma experiência interessante da ZDNET Australia foi "vender" às pessoas um suposto Windows 7, que na realidade era o KDE 4. A realidade é que nenhum dos entrevistados levantou a ideia de que o sistema em questão pudesse não ser Windows.

Leva isto a questionar se as pessoas aceitarão mais facilmente a mudança de sistema se esta não fôr uma mudança de marca. Mudar para KDE 4 parece difícil, mas se lhe chamarmos Windows 7 a dificuldade será vista como natural. Que efeito terá isto sobre a curva de satisfação?

Em baixo está o vídeo da ZDNET. Ver para crer.


sábado, 7 de fevereiro de 2009

FOSDEM - the hordes

Hordes of unpaid volunteers. Bunches of open source professionals. Lots of freedom activists. You get what you pay for. So this is what you get at FOSDEM. For free.

An open parliament at Brussels

It rocks to be in the crowd that is changing the paradigm of IT everywhere in the world. The opening session, by Mark Surman of the Mozilla Foundation, had something between 1000 and 2000 people attending. Mark stressed out that during 2008 Firefox reached around 200 million users and 4.5 million Linux netbooks were shipped. He defended the concept of hackable products where the user has the right to interact and adapt.

In the halls one could find booths from Mandriva, Suse, FSF, CentOS, Fedora, FreeBSD, Kde, Gnome, OpenOffice, Php... From the many interesting scheduled talks on the first day we were able to attend presentations for KDE 4.2, Sugar, LXDE and RandR1.3.

What to say about these desktops?

Ironic mode
KDE 4.2: will be stable tomorrow on today's computers
LXDE: will run fast today on yesterday's computers
Sugar: will run on slow computers but not on lazy users
/Ironic mode

Seriously, KDE 4.2 looks absolutely wonderful. It's a shame that so many things crashed on the presentation, which was allegedly ran on an unstable SVN version. Perhaps one should test things better before presenting them? LXDE looks good on the screenshots. I look forward to test it on a netbook to see how fast it runs. And Sugar is truly a learning platform. Even geeks have to stop to learn! The interface concepts are quite different from regular desktops. Once one gets familiar with the concept it really makes sense. We wonder how well that could fit in our national netbooks for students.

The Gnome love/hate message boards

From the second day we higlight the presentations about Prism and Fennec from Mozilla.org and some interesting collaboration solutions: Zarafa, an Open Source MAPI implementation and Groupdav, the minimalistic groupware protocol. These too solutions seem to follow opposite phylosofies. While Zarafa implements a full collaboration server Groupdav tries to be the thinnest complement to IMAP that one can imagine: HTTP 1.1 + 1 WebDav method. The protocol is not much more that storage, over HTTP transfers and standard calendar and contact formats.

The open source collaboration landscape is known to be heavily fragmented. There are way too many solutions none of which is widely deployed. It's not clear if and how things will converge from here.

On this second day of FOSDEM there was also time for discussing some Firefox-KDE integration issues, with people from both groups, which will hopefully be addressed sometime soon.

Congratulations to the FOSDEM team for organizing such a vibrant event to the community.

Note:



Thinkpads are a true object of desire for Linux people. They're everywhere at Fosdem, on different sizes and models. Shame on Lenovo for having dropped Linux support as Thinkpads are truly good machines. On the other side this means hello Dell.

FOSDEM - overbooking

FOSDEM will start tomorrow morning.

It's extremely hard to pick from so many interesting talks. From desktop software to programming languages, from embedded systems to databases, from Sugar to BSD and Open Solaris. It will all be there and running in parallel.

Meanwhile the place is already packed on Friday and one can feel an anomalous brainpower concentration in the air (despite the beer).