O outro lado do BR-Linux

Saturday, January 07, 2006

Oh, vida

Vida de troll é dura.

Já me acostumei a ver um novo troll anônimo aparecer no BR-Linux e, imediatamente, alguém dizer que sou eu utilizando um novo nome.

Agora também tenho que aguentar o contrário:

Now talking on #slackware-br
<ptl> ananias_ =/ (Dica: ptl = Patola)
<ptl> ananias_: foi pegar just o nick do meu nêmesis.
<ananias_> ???
<ptl> ananias_: o Ananias que me trolla no br-linux.
<ananias_> e o que exatamente te faz achar que não sou eu?!
<ptl> O Ananias do br-linux disse que não usava o nick ananias

Também me acusam de não ser eu quando na verdade sou eu!

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.

Thursday, November 10, 2005

Comentários

Habilitei comentários para qualquer usuário, logado ou não. Para tentar diminuir, um pouco que seja, o spam, coloquei uma verificação com um CAPTCHA.

Vou deixar assim por um período de testes, para ver quanto spam vai aparecer nos comentários.

Wednesday, November 09, 2005

Fundandor da SuSE abandona o barco

Conforme noticiado no Slashdot, o fundador da SuSE está abandonando a Novell.


Talvez esteja relacionado ao fato de a Novell ter anunciado que vai padronizar seus Desktops com o GNOME...


Quando a SuSE foi comprada pela Novell, alguns lembraram que a Novell tinha a incrível capacidade de afundar todas as empresas que ela comprava. Será que ela vai conseguir denovo?


Eu continuo com meu Ubuntu.

Interface binária no kernel

Como primeiro notícia a ser comentada aqui, escolhi essa, sobre o que foi traduzido como "Drivers com código fechado para o kernel".


Na notícia original, o assunto era "a binary kernel driver layer", o que deveria ter sido traduzido como "uma camada binária para drivers do kernel", e não "uma camada para drivers binários do kernel".


A tradução, embora não seja tão diferente, dá a entender que o que está proposto é simplesmente para permitir drivers fechados, como pode-se ver no título da mensagem postada no BR-Linux.


Não é. Essa camada serviria para permitir que desenvolvedores de drivers, abertos ou fechados, pudessem distribuir seus drivers independemente do kernel, sem maiores esforços. Hoje, a maior parte dos drivers para Linux são distribuídos em um enorme pacote, que é o kernel. Hoje ele tem algo em torno de 40 MB, compactado.


Com essa camada estável, um desenvolvedor de driver poderia distribui-lo sem depender do kernel. Independemente da versão do kernel que estiver usando, você poderia baixar a versão mais recente do driver, e utilizá-lo, sem ser necessáriao atualizar o kernel, ou mesmo recompila-lo.


Isso trás vantagens até para os desenvolvedores de drivers abertos, e livres.


Mas, eu concordo, também trás vantagens para desenvolvedores de drivers fechados, como a NVidia. O driver da NVidia, hoje, é muito chato para ser instalado em kernels diferentes. Com uma interface binária estável, a NVidia vai poder lançar uma versão do seu driver, que será independente da versão do kernel.


Outras empresas poderão fazer o mesmo, lançando drivers para linux dos seus hardwares, ainda que sejam drivers fechados. Isso, de forma alguma poderá ser ruim. Para os usuários puristas, que só utilizam software livre, será possível continuar a não utilizar o driver, ou então utilizar as alternativas abertas. Para os outros, será possível utilizar o driver fechado. Sem problemas, cada um escolhe a sua opção.


Muitos usuários reclamam de empresas que não oferecem drivers para Linux. Muitas, pasmem, não podem abrir o código dos seus drivers. O da NVidia, por exemplo, é cheio de código patenteado por outras empresas. A NVidia licencia esses códigos, para poder utilizar em seus drivers, e não pode distribui-los com o código aberto. Simples assim. Muitas outras empresas também estão na mesma situação. Além disso, outras empresas podem simplesmente, por opção comercial, não querer distribuir seus códigos-fonte. É a opção delas, e deve ser respeitada.


Oferecendo um driver fechado, essas empresas vão estar oferecendo algo a mais. Elas não vão tirar nada de ninguém. Quem quiser, vai poder ignorar completamente esse driver. Só quem quiser usar vai precisar usá-lo. Quando eu vejo alguém criticando a proposta, parece um caso de "Eu não gosto, não quero usar, e também não quero que ninguém use". Se você não quer usar, ótimo, não use. Mas deixe outros utilizarem. A proposta não é de colocar código fechado dentro do kernel, e sim de estabelecer uma API estável para que o kernel POSSA utilizar drivers fechados com mais facilidade.


Por último, é importante observar que quem está propondo isso são as empresas da OSDL, que, entre outros, emprega o Linus Torvalds, Andrew Morton e Andrew Tridgell.