O outro lado do BR-Linux

Friday, December 30, 2005

O protocolo do MySQL é proprietário?

O protocolo do MySQL é proprietário. E não sou eu que estou dizendo. É o site do MySQL mesmo.

O modelo de negócios da MySQL AB, empresa dona do MySQL, é manter sob a GNU GPL tanto o servidor como as bibliotecas utilizadas para que outros programas utilizam para se conectar ao servidor. Dessa forma, quem fizer um programa que se conecte a um servidor MySQL terá que utilizar a GPL no seu programa também, já que a biblioteca de conexão é GPL, e não LGPL. A MySQL AB também vende uma licença comercial, para que os desenvolvedores possam criar programas não-GPL com acesso ao banco de dados. Essa licença é vendida, e é cara.

Ou seja, embora o principal produto da MySQL AB seja o servidor de banco de dados, o que ela efetivamente vende é a biblioteca que se conecta a esse servidor. O que essa biblioteca faz, de forma bem resumida, é fazer a interface entre o programa e o servidor, levando querys e resultados de um lado para o outro. Tudo isso de acordo com o protocolo definido pelo servidor, e explicado nesse manual.

Tecnicamente falando, não existe nenhum impedimento para que um desenvolvedor estude o protocolo que o servidor MySQL utiliza e crie uma biblioteca alternativa, talvez sob a LGPL, que implemente as mesmas funcionalidades da biblioteca GPL da MySQL AB. O mesmo procedimento é feito pelos desenvolvedores de programas de mensagem instantânesas, por exemplo, que fizeram uma implementação própria do protocolo utilizado pelo MSN Messenger. O mesmo procedimento também é feito, de uma forma ligeiramente diferente, pelos desenvolvedores de programas de escritório, como o OpenOffice.org, que estudaram o formato dos documentos do MS Office, e fizeram sua própria implementação. Na prática, eles também estão re-implementando um "protocolo".

Muitas vezes, já vimos empresas lutando - legalmente, as vezes - contra essas práticas. Elas tentam impedir que outros desenvolvedores implementem os seus protocolos. Em geral, essa tentativa não é bem-vista pela comunidade do código-aberto, que o direito das empresas se limita à sua implementação, e não às idéias, algoritmos, protocolos ou formatos.

Eis que hoje eu, por acaso, me deparei com esse manual técnico da MySQL AB. E advinhem só... A MySQL AB alega que o protocolo - e não apenas a implementação - do MySQL pertence à MySQL AB, e que qualquer re-implementação desse protocolo deva ser liberado sob a GPL, independentemente da vontade do desenvolvedor. Isso seria o mesmo que a Microsoft tentar impor restrições a quem desenvolva novas implementações de leitura de arquivos .doc, ou então que a AOL queira determinar sob que licença deva ser lançado o GAIM, já que ele contém uma implementação própria do protocolo do AOL Instant Messenger.

A Comunidade do Software Live sempre enfatiza que o direito autoral não deve abrangir as idéias, os algoritmos e os protocolos. Mas a MySQL AB não parece concordar. Gostaria de saber o que vocês pensam disso.

Thursday, December 29, 2005

Defensor de que padrão?

Muitas vezes eu vejo usuários de Software Livre reclamando (e, como sempre, criando petições) de páginas que não seguem o padrão W3C.

Na verdade, eles não se importam com o padrão W3C em si. O que importa é, única e exclusivamente, se a página funciona no Linux, ou não.

Veja o caso do BR-Linux, por exemplo. Ele não segue o padrão W3C. Entretanto, nunca vi ninguém reclamar. Por que? Porque funciona no Linux. Ou seja, se funciona no Linux, seguir o padrão deixa de ser importante.

Esses usuários que se dizem defensores do padrão W3C na verdade estão pouco se importando com o padrão em si. O que lhes importa é, unicamente, se a página abre no browser deles. Se não fosse assim, eles reclamariam de todas as páginas que não seguem os padrões, inclusive aquelas que abrem no firefox.

E, como já falei inúmeras outras vezes: o fato de seguir os padrões não significa que a página necessariamente vai abrir perfeitamente no Linux. É perfeitamente possível criar uma página com controles ActiveX que esteja perfeitamente de acordo com o padrão W3C. Esses controles, no entanto, não funcionarão no Linux, ainda que todos os padrões estejam sendo seguidos.

Resumindo: esses pseudo-defensores do W3C na verdade são defensores dos seus próprios umbigos. Não reclamam de página fora do padrão, desde que elas funcionem no browser deles, e reclamam de página dentro dos padrões, caso elas não funcionem. (como as com ActiveX, por exemplo)

Não estou dizendo que isso - se importar apenas com o seu browser - seja necessariamente errado. Entretanto, esses usuários deveriam deixar de lado o politicamente correto discurso de defensor dos padrões - o que eles não são - e admitir o que eles verdadeiramente são.