O pior cego é aquele que não quer ver

Cegueira ideológica e Tribalismo

Muita gente repete que o pior cego é o que não quer ver, mas muito pouca gente me parece refletir a respeito do que isso quer de fato dizer. O Mark Shuttleworth fez há pouco tempo um post em seu blog que eu acho que vai no ponto exato da questão quando fala de algo que ele chama de “tribalismo“.

Eu tenho chamado esse comportamento de “cegueira ideológica”, mas acho que vou adotar o termo dele, que é bem mais simples e acho que bem mais correto, porque não se trata apenas de ideologia! Ele fala de 2 tipos de argumento que aparecem muito nos discursos tribalizados: “o outro pessoal nunca fez nada” (muito comum nas campanhas políticas, inclusive) e “evidência que contraria minha crença/visão não conta”.

Esse tipo de comportamento tribal aparece nas mais diversas áreas da nossa vida. Torcedores de futebol, defensores de uma determinada tecnologia ou ideia, militantes de um partido (ou, no Brasil, indivíduo!). Recentemente várias coisas interessantes aconteceram que me fizeram pensar mais e mais nesse tipo de comportamento.

O mais recente foi o processo movido pela Oracle contra o Google por violação de patentes relacionadas ao Java no Android. Não é segredo pra ninguém que eu não gosto de Java. Esse meu desgosto pela tecnologia é multi-facetado: eu não gosto da sintaxe, acho que tecnologias Java costumam complicar muito mais do que o necessário e pra piorar toda a situação nós não tínhamos uma implementação livre. Meus problemas com a tecnologia foram diminuindo com o tempo em razão de vários progressos que foram feitos – VMs livres começaram a aparecer, a própria Sun liberou as partes que podia da sua VM e por aí vai. Gostando ou não, eu acho importante que Java seja uma das ferramentas disponíveis para a realização da liberdade de software e vejo na ação da Oracle uma grande ameaça que precisa ser rechaçada.

O Java é Livre! Oh really?

Muitos anos atrás, no entanto, era comum encontrar gente que se dizia defensora de Software Livre advogando uso de Java – numa época em que nós sequer tínhamos uma implementação livre da VM e das bibliotecas básicas. Um dos principais argumentos era que a especificação era aberta e construída de forma aberta, também. Eu acho ambas as afirmações muito discutíveis, mas como elas são irrelevantes para a discussão atual não vou aprofundar agora.

Com o surgimento do .NET, seguido do Mono, uma alternativa viável ao Java como linguagem de alto nível baseada em uma VM poderosa começou a se desenhar – e com uma implementação livre! Aplicações úteis e interessantes começaram a aparecer no desktop livre, coisa que nunca houve com Java. Não demorou quase nada para esses defensores de Java caírem de pau no Mono, é claro – .NET é uma tecnologia da Microsoft, recheada de patentes, certamente, diziam. A Microsoft vai querer destruir a comunidade de SL na primeira oportunidade – assim que dependêssemos o suficiente do Mono. Eles não estavam errados, note, eles estavam muito certos e embora os riscos tenham sido diminuídos com o tempo por várias razões eles ainda são bem reais! Mas os mesmos riscos que eles viam no Mono também existiam para o Java, sempre existiram, mas eles se negavam a ver ou concordar. “A Sun é muito mais comprometida com a liberdade que a Microsoft” diziam eles. Yeah, sure.

Eu não estou argumentando que eles deviam deixar Java de lado, note bem. Eu acho que eles deviam sim, como fizeram, ter lutado para que Java fosse mais uma opção para nossa comunidade criar e exercer suas liberdades. Eu respeitaria qualquer um que dissesse “Sim, eu reconheço e assumo os riscos. Se um dia chegar a esse pior caso eu vou lutar para defender nossa liberdade frente às patentes”. Agora, 6-10 anos depois, chegou a hora da tribo do Java rever os seus conceitos e de nós todos, como comunidade, ajudarmos na defesa do Google!

E não para por aí, infelizmente.

O tribalismo não para por aí, infelizmente. É comum encontrar diversos casos em que as pessoas propagam informações a favor do que defende sem verificar (se é a favor tem que estar certo, né?) e de achar cabelo em ovo nas informações que são contra seus defendidos ou a favor dos seus “inimigos” (da época). Isso aconteceu no caso em que se divulgou por exemplo que o Windows 7 usava código do Linux, quando na verdade uma ferramenta secundária que sequer é distribuída junto com o Windows 7 usava código GPL de uma outra ferramenta publicada no Codeplex da Microsoft, que não tinha nada a ver com o Linux.

Isso também acontece sempre nas campanhas políticas, é claro e eu não paro de rir de gente fazendo defesas absurdas e fazendo a caveira dos inimigos de ocasião. Isso acaba por fazer que os debates sobre o que as pessoas defendem de fato fiquem em segundo plano, substituídos por etiquetas simplistas e simplificadoras e por discursos populistas de todos os lados.

Outro alvo recente de tribalismo é o Google. Nosso aliado em várias frentes é inegável que o Google também tem várias atitudes que ferem a sua promessa de não ser “evil”. Apesar disso, há aqueles que fazem uma defesa quase incondicional do Google, assim como há aqueles que só fazem a caveira.

É preciso ver que, como qualquer organização grande o Google tem várias forças puxando para lados distintos. De um lado, um grande usuário de tecnologias livres, um grande desenvolvedor de softwares livres, com contribuições de vulto tanto em projetos novos como em projetos existentes, um garoto propaganda da liberdade e abertura na web, inclusive com enormes contribuições para esse objetivo. De outro lado, falta de sensibilidade no tratamento da privacidade de seus usuários, mudanças de posição inesperadas com relação à política de neutralidade da rede, discriminação de minorias, síndrome do “Not Invented Here”, com projetos novos sendo criados ao invés de colaborar com já existentes e por aí vai. É importante reconhecer e tratar cada uma dessas facetas de forma separada, sem fazer defesas ou caveiras incondicionalmente.

Veja também

Alguns outros posts interessantes sobre o assunto Oracle vs Google:

Google’s User-Agent sniffing makes one more victim

Remember when I said Epiphany worked out of the box with Youtube’s WebM? Well, Google has recently decided to deny us WebM, like it did before with Wave, the Pacman doodle, and who knows what else? \o/

Wouldn’t it be nice if Google practiced what they preach?

Update: so it looks like my message went through to the people who needed to see it, and they found a filtering error in the User Agent sniffing code that made it think Epiphany was a too old Safari – I’m told the change will land in Youtube soon, thanks for those paying attention, and working on this! User Agent sniffing keeps being a problem, of course, and there are other stuff to fix, so I will probably still push my patch to spoof the user agent to google services which are still mishandling Epiphany, but it’s good to see some progress being made!

Update2: I started shipping a patch to send the Chrome user agent string to google domains in the Debian package for WebKitGTK+, when the “enable-site-specific-quirks” setting is enabled (which is the case for Epiphany); I already found something we were missing out on =D Google Images seems to have been greatly improved, and now faking being Chrome we are also able to enjoy it:

Google Images improved

Google’s pacman doodle in Epiphany/Midori?

Google has had a very nice idea today, to celebrate Pacman’s aniversary: they made their logo become a playable HTML5 pacman. If you’re wondering why your WebKitGTK+ browser is not being able to play the game here’s why: Google is doing User-Agent sniffing and denying you the fun, sending a static image that you can click to perform a search instead of the game.

If you make Epiphany or Midori identify themselves as Chrome or Firefox, the game will work. I really don’t get this User Agent sniffing bullshit coming from Google. If you go to gconf-editor, and under epiphany->general set the user_agent key to “Mozilla/5.0 (X11; U; Linux; en-gb; rv:1.9.0.2) Gecko/2008092313 Firefox/3.8″ it works. I’m starting to seriously consider User Agent spoofing for *.google.com as a quirk on WebKitGTK+. Lame.

Update: as a protest, I’m making blog.kov.eti.br and kov.eti.br say Chrome/Chromium are not supported, by doing User Agent sniffing.
Update2: it’s been pointed out to me that the game is not HTML5 – it’s actually smart usage of divs, and flash *urgh* for the audio
Update3: thanks to a friend who works at Google getting in touch with pacman’s designer, it looks like it now works without faking U-A – I’m happy for this, thank you! Despite this good step forward, google is still denying us the nice fade in effect, and still sees us as ‘unsupported’ in Wave and similar products, so I’ll keep my protest for now.

Google Wave – na crista da onda (ã, ã?!)

Minhas primeiras impressões do Google Wave depois de assistir ao vídeo da apresentação na Google I/O são basicamente as seguintes:

  • Finalmente, e-mail deve acabar…
  • O fato de ser o Google quem está trazendo o provável fim do email me dá esperanças de que ele possa acontecer de fato, e rápido;
  • O fato de que o Google se baseou em XMPP, e manteve as boas características de e-mail (ser distribuído, com autoridade distribuída, e baseado em um protocolo aberto), é importante
  • Eu quero uma implementação pra criar um wave.kov.eti.br, e quero um cliente GNOME (uma evolução do Evolution? ã, ã?!)
  • Coisas como enviar o que está sendo digitado letra a letra são interessantes (e o fato de poder desligar esse recurso, que eu particularmente acho ruim, mais ainda!), mas bater palmas pra isso, galera? A gente tinha isso há 10 anos atrás, com ICQ =P

Coisas que foram faladas no vídeo e que eu achei engraçadas: como assim email não te deixa editar o email que você está respondendo e adicionar algo no meio? Eu faço isso o dia inteiro… será que o povo vai passa a achar legal, e parar de fazer a porcaria do top-post, finalmente?

E tenho dito.