Ir para o conteúdo
Mostrar cesto Esconder cesto
Tela cheia

blogdoalan

27 de Janeiro de 2010, 22:00 , por Alan Freihof Tygel - | Ninguém está seguindo este artigo ainda.

Blog do Alan, contém pensamentos saídos diretamente da minha cabeça.


Sobre Padrões Abertos ou Porque não Devemos Usar o schema.org

30 de Julho de 2012, 21:00, por Alan Freihof Tygel - 0sem comentários ainda

por Alan Tygel, inspirado em http://www.readwriteweb.com/archives/is_schemaorg_really_a_google_land_grab.php

Em vários momentos da nossa vida nós lidamos com padrões. Eles podem ser mais tácitos e flexíveis, como por exemplo, o ato de pegar um prato, colocar comida em cima, segurar os talheres e levá-los à boca. Ou então mais rígido e explícitos, como as normas da língua portugesa escrita. De todo modo, são acordos coletivos entre um grupo social, e são geralmente cumpridos, por diversos motivos, que vão desde o status social (comer com a mão pode "pegar mal") até a prisão, para quem descumpre as regras especificadas na legislação.

No mundo dos computadores também é assim. No entanto, como os computadores são burros, os padrões deve ser mais explícitos e rígidos para que as máquinas façam exatamente aquilo que deve ser feito. Por exemplo, você só está lendo este texto (alguém está lendo?) porque o seu computador e o computador que hospeda o Cirandas.net respeitaram um padrão de comunicação (na verdade vários: TCP/IP, HTTP, ...) e você, ao acessar o endereço deste blog, conseguiu ver esse monte de caracteres na tela.

Já disse que os padrões podem ser mais rídigos ou flexíveis, ou mais explíticos ou mais tácitos. No entanto, existe uma outra característica bem forte a ser considerada: a abertura ou propriedade do padrão.

Padrão pode ter dono? E se ele decidir parar de brincar, ou mudar as regras da brincadeira?

Imaginem se os nossos padrões sociais tivessem um dono, que o controlasse, o definisse, e ainda por cima, cobrasse para usarmos? Imaginem se a língua portuguesa tivesse um dono, privado, que decidisse por mudanças a qualquer momento? Ou então que ganhasse royalties a cada livro de gramática escrito? E só pudesse aprender português se pudesse pagar pelas regras? [a falência do ensino básico público, e o domínio das escolas privadas já cumpre este papel, de certa maneira.] Isso acontece com as normas ISO e ABNT, cuja utilização é obrigatória em algumas situações. 

Na internet, por mais absurdo que seja, existem vários exemplos de padrões fechados. O maior deles até hoje foi o da Microsoft (sempre ela), quando tentou impor seu padrão de HTML (a linguagem em que são descritas as páginas da Internet) sobre o padrão oficial aberto, da W3C. Durante muito tempo (ainda hoje existem resquícios) os programadores de Internet tinham que fazer duas páginas: uma para os navegadores que implementavam o padrão W3C (Firefox, Netscape, Chrome, ...), e outro para o Internet Explorer (IE). Porque? Pois a Microsoft se aproveitou do monopólio dos sistemas operacionais Windows para monopolizar também os navegadores. Hoje em dia, as versões mais recentes do IE respeitam mais os padrões W3C, e o Firefox e Chrome ganharam bastante espaço. O IE já chegou a ter 85% de utilização em 2002, e hoje tem apenas 17%.

Agora, eis que surge mais uma ameça de monopólio de padrões: ela chama-se schema.org.

A Web Semântica e seus padrões

Um breve contexto: A internet encontra-se hoje em uma transição da sua segunda fase (Web 2.0, em que os usuários deixaram de ser apenas leitores e todos passaram a ser potenciais publicadores, com os blogs e redes sociais) para a chamada Web 3.0, ou Web Semântica.

Mas porque semântica? Será que o computador está deixando de ser burro? Não, pelo contrário, ele continua burro como sempre. A diferença agora é que nós vamos explicar mais esmiuçadamente as coisas para ele. E para explicar as coisas para o computador, precisamos de... padrões!

Vamos a um exemplo rápido. Digamos que eu queria mostrar uma página com meus discos preferidos. Em HTML comum, isso poderia ser escrito assim:

<h1>Página do Alan</h1>
<ul>
  <li>Nome: Parabelo</li>
  <li>Artista: Tom Zé e José Miguel Wisnik</li>
  <li>Ano: 1997</li>
</ul> 
<ul>
  <li>Nome: The Last Emperor - Soundtrack</li>
  <li>Artista: Ryuichi Sakamoto, David Byrne and Cong Su</li>
  <li>Ano: 1987</li>
</ul>

Os comandos entre <> dizem ao navegador o estilo de formatação que cada item tem. Neste caso, <h1> é um título grande, <ul> é uma lista, e <li> são os elementos de uma lista. Isto permite o que o browser desenhe isso na tela:

Página do Alan

  • Nome: Parabelo
  • Artista: Tom Zé e José Miguel Wisnik
  • Ano: 1997
  • Nome: The Last Emperor - Soundtrack
  • Artista: Ryuichi Sakamoto, David Byrne and Cong Su
  • Ano: 1987

No entanto, quando alguém perguntar num site de buscas pelo disco parabelo, ele pode achar a minha página de discos, mas pode também achar informações sobre a arma que Lamípão usava e sobre o espetáculo de dança do grupo Corpo. Isso porque em nenhum lugar está explicito que temos a descrição de dois discos, e que Parabelo, nesse caso, se refere a um disco. Pela simples comparação de caracteres ele acha todas as ocorrências da palavra Parabelo.

Marcação de Conteúdo: um começo da Web-Semântica

Pensando neste problema, três gigantes da Internet - Google, Yahoo e Microsoft - se juntaram para criar um padrão de descrição de conteúdo (schema.org) através de meta-dados que eles entendam. O exemplo acima ficaria assim (a sintaxe está simplifcada; para saber sobre ela, procure outra referência): 

<h1 "titulo da pagina">Página do Alan</h1>
<ul item tipo="disco de musica">
  <li propriedade_do_item="nome_do_disco">Nome: Parabelo</li>
  <li propriedade_do_item="artista">Artista: Tom Zé e José Miguel Wisnik</li>
  <li propriedade_do_item="ano_de_lançamento">Ano: 1997</li>
</ul> 
<ul item tipo="disco de musica">
  <li propriedade_do_item="nome_do_disco">Nome: The Last Emperor - Soundtrack</li>
  <li propriedade_do_item="artista">Artista: Ryuichi Sakamoto, David Byrne and Cong Su</li>
  <li propriedade_do_item="ano_de_lançamento">Ano: 1987</li>
</ul>

Para nós humanos, a lista continua aparecendo da mesma forma. Mas agora o computador "sabe" que se trata de discos, e sabe quais foram seus anos de lançamento.

Uau! Fantástico! Quer dizer que a partir de agora, o google pode achar para mim todos os discos lançado depois de 1990? E o nome de todos os discos do Ryuichu Sakamoto? 

É isso mesmo. O problema, o único problema, e agora voltamos aos padrões, é que esqueceram de perguntar à W3C se já existia um padrão para isso. E já existia. 

Desde 2008, o Brasil é o maior consumidor de agrotóxicos do mundo. Opa! Desculpe, é o costume. Desde 2008 a W3C vem trabalhando no padrão RDFa, que tem o mesmo objetivo: explicar para o computador o conteúdo, ou a semântica daquilo que está escrito.

Qual o problema disso? Simples: no caso do schema.org, o programador deveria escrever

<p itemprop="name">Alan</p>

para dizer que o parágrafo contém um nome. No caso do RDFa, isso deveria ser escrito assim:

<p property="name">Alan</p>

utilizando o vocabulário aberto FOAF.

De que lado você samba?

No fim das contas, quem está empenhado em desenvolver aplicações com semântica na internet fica com o seguinte dilema: Utilizo o padrão-google, de propriedade privada de uma empresa, e tenho mais chances de ser encontrado, ou utilizo padrão aberto, feito por um consórcio que tem legitimidade da comunidade?

Assim como a Microsoft fez com o IE, o Google utiliza o monopólio da Internet para impor seu padrão e eternizar sua dominação. A escolha de um padrão é uma decisão importante, muito custosa de ser mudada. Por isso a importância de se ampliar esse debate agora, enquanto as coisas ainda vão engatinhando.

Mais uma vez, a história nos mostra que não existem decisões técnicas. Toda escolha é política, já que por mais argumentos técnicos que existam, ela sempre vai beneficiar um lado. Não devemos nos supor neutros, pois nesse caso o neutro sempre pende para o lado economicamente mais forte.

Entre todas as questões colocadas, também está em jogo a disputa entre Google e Facebook, já que este optou pelo RDFa. É o futuro da Internet que está em disputa.

Eu, e todos que somos radicalmente contra a propriedade privada das ideias, ficamos com o RDFa. E você?