Padrões Abertos: O tamanho importa ?

Existe uma crença popular de que "tamanho não é documento" que considero muito válida quando se trata de tecnologia, principalmente quando falamos sobre padrões abertos.

A premissa básica de um padrão aberto é a de que ele só faça referência a outros padrões abertos, evitando assim que se reinvente a roda a cada nova inovação. O exemplo mais didático que consigo utilizar para isso é o funcionamento da Internet.

Para poder usar isso como exemplo didático, peço licença aos acadêmicos e puristas de plantão e vou fazer uma simplificação do funcionamento da rede para poder demonstrar minhas idéias.

De forma simplista, para que eu possa acessar uma página na Internet, preciso ter em meu computador uma "pilha de protocolos" que suporte o transporte dos dados (não pretendo neste post abordar o HTML, vou me ater ao transporte de dados).

No início da década de 90, qualquer profissional de tecnologia da informação conseguia contar nos dedos da mão direita o número de fabricantes de roteadores para tráfego de dados IP. Também era possível a quantificação do número de soluções em software que suportavam o transporte destes dados.

Para navegar na Internet, o usuário precisa utilizar um conjunto reduzido de letrinhas mágicas, composto basicamente pelo protocolo IP (transporte de dados), pelos protocolos TCP|UDP, protocolo DNS e finalmente o HTTP (tipicamente o DNS roda sobre o UDP e o HTTP sobre o TCP). Existem evidentemente um conjunto de protocolos de comunicação nas camadas de hardware que não serão considerados uma vez que pretendo destacar a utilização de padrões abertos em software, não hardware.

Com o crescimento da utilização e do tamanho da Internet na década passada, uma infinidade de empresas desenvolveram produtos e serviços com suporte a rede, fazendo com que o número destes produtos (ex. rotadores) seja atualmente gigantesco. Isso só foi possível pois tudo isso foi feito com base em padrões abertos e portanto, com garantia de interoperabilidade.

Apenas como referência, tive a curiosidade de mensurar o tamanho das especificações dos protocolos acima citados, utilizando para isso somente o documento principal de sua especificação, desconsiderando seus documentos complementares (pois grande parte destes foram desenvolvidos na segunda metade da década passada). Cheguei a conclusão que em meados da década de 90, uma empresa que se motivasse a oferecer uma solução para navegação completa na Internet teria que consultar um total de 415 páginas de especificação técnica.

Para ser mais preciso, a lista das especificações consideradas é a seguinte:

IP - RFC760 - 41 páginas

DNS - RFC1034 - 55 páginas / RFC1035 - 55 páginas

TCP - RFC793 - 85 páginas

UDP - RFC768 - 3 páginas

HTTP - RFC2616 - 176 páginas

O argumento de que estas 415 páginas de informações não são suficientes para a implementação completa da navegação na Internet é válido, mas vale também a afirmação de que as 415 páginas possibilitam uma implementação rudimentar da navegação, além de apresentar ao desenvolvedor que as estudou (como eu fiz durante minha graduação) uma visão sistêmica sobre o tema.

Apresentei estes números para poder agora compará-los a especificação do OpenDocument Format (ODF - ISO/IEC26300) que possui 728 páginas na versão publicada pela ISO. Imaginando que um desenvolvedor com grande capacidade seja capaz de absorver os conhecimentos de 30 destas páginas por dia, concluímos que em um mês ele terá adquirido os conhecimentos necessários para a compreensão sistêmica do padrão e para lhe permitir o início do desenvolvimento de produtos com o suporte a ele.

Me assusta o fato de que a especificação do OpenXML, atualmente em avaliação na ISO, possui meras 6000 (isso mesmo seis mil) páginas. Apenas a título de comparação, o mesmo desenvolvedor que já analisou o ODF, precisaria de 200 dias ou aproximadamente 7 meses para poder ter a mesma visão sistêmica e implementar uma versão rudimentar de software suportando o padrão (isso se ele tiver uma memória de elefante, pois alguém aí se lembra dos detalhes técnicos de um artigo que leu a sete meses atrás ???).

Acredito ainda que se somarmos todos os principais protocolos da Internet (ICMP, FTP, HTTPS, POP, SMTP e etc...) não chegaremos nem perto das 6000 páginas mencionadas. Além disso, do ponto de vista de negócios, nenhuma empresa ou indivíduo terá condições de desenvolver tantos produtos assim, o que praticamente elimina a necessidade de conhecimento de todas estas páginas. Já os desenvolvedores de aplicativos e suites para escritório, terão sim que absorver as 6000 páginas para poder trabalhar. Eles não terão outra escolha ou alternativa.

A reflexão que gostaria de lhes propor é a seguinte: Alguém aí acredita, em sã consciência, que existirá competitividade em um setor onde a barreira de entrada de conhecimento é tão elevada e a curva de aprendizado tão lenta ?

Propositalmente ignorei neste post os comentários já feitos sobre o "quão aberta" é a especificação do OpenXML, por conta das inúmeras referências existentes nela a padrões proprietários. Faça a reflexão imaginando que esta barreira técnica não existe (e me comprometo a detalhar melhor esta barreira em um futuro post).

Aguardo com ansiedade os comentários...
Boa leitura sobre ODF e OpenXML

Recomendo a todos que tiverem interesse em entender o ODF, o OpenXML e o que está acontecendo com estes dois padrões na ISO que leiam este artigo publicado no Blog do Taurion.

Existe nele um link para um relatório muito interessante que dá um overview sobre os padrões e sobre o que está sendo discutido na ISO.

Esta discussão na ISO é fundamental para toda a comunidade internacional de TI, com ênfase a quem precisa armazenar documentos que deverão estar disponíveis daqui a 20 ou 30 anos.

O Brasil terá papel ativo na ISO nesta discussão e portanto, a sua opinião sobre o assunto precisa (e deve) ser ouvida.

Boa leitura (e diversão) a todos :)
[ ver mensagens anteriores ]



Meu Perfil
BRASIL, Sudeste, Homem, de 26 a 35 anos, Portuguese, English, Informática e Internet, Música, Games