É interessante se fazer a pergunta: por que x é importante? Antes de iniciar o desenvolvimento do projeto ODFEasy, sabia que ODF seria algo “importante”, mas nunca havia sentido na pele a sua necessidade. Afinal de contas, se já temos o Microsoft Office, por que precisamos de outro formato? A pergunta se responde: exatamente porque temos o Microsoft Office e, basicamente, APENAS o Microsoft Office.
Como desenvolvedor, 95% das vezes, opto por trabalhar com ferramentas abertas, principalmente Java. E, neste processo, vez por outra faz-se necessária a geração de arquivos no formato do Office (no meu caso, 99,9% das vezes, planilhas). É aí sempre o mesmo problema retorna. Se você está desenvolvendo na plataforma .net, sempre há como integrar sua aplicação ao Office via automação e, a partir dai, gerar o que você sonhar. Se não quiser trabalhar com automação, há uma ou outra biblioteca que lhe auxilia na geração desta tarefa. Normalmente, estas bibliotecas não abrangem 100% do formato, mas acabam por quebrar o galho.
Já se você trabalha com alguma plataforma aberta, como Java, as coisas começam a ficar mais complicadas. Para começar, as bibliotecas que possuímos estão bem distantes de serem apropriadas. Podemos criar planilhas e arquivos do Word, mas não podemos nos aprofundar muito na geração destes documentos. Se você quiser, por exemplo, incluir um gráfico em uma planilha (foi o meu caso), terá de primeiro criar um documento de modelo, incluir no mesmo suas séries, o gráfico em questão, definir o número de ocorrências e, posteriormente, programaticamente, simplesmente substituir o valor destas células. Limitação total.
Há ainda problemas provenientes de optar-se pela automação: para começar, seu cliente terá de ter o Microsoft Office instalado (traduzindo: Linux está fora da jogada). Isto sem mencionar que a geração de documentos via automação é leeeenta.
E a razão pela qual as bibliotecas para geração deste tipo de documentos ser tão limitada é simples: quase tudo o que sabemos sobre o formato Microsoft Office até agora é a partir de engenharia reversa. Só neste ano a Microsoft liberou a especificação destes formatos, sendo assim, ainda não deu tempo para estas bibliotecas compreenderem de fato como são estruturados estes arquivos. Claro, há também o OOXML, mas caso optemos por este formato, novamente estaremos nos prendendo a um único fornecedor. A solução, portanto, consiste em buscar um formato alternativo para se gerar documentos. É quando o OpenDocument entra em cena.
OpenDocument consiste em um padrão independente de fornecedor e 100% aberto para representar arquivos de escritório. Se é 100% aberto, isto significa que qualquer um pode conhecer sua estrutura e, com base na mesma, criar documentos neste formato. E se é independente de fornecedor, não precisamos nos preocupar se amanhã existirá um OpenOffice ou não. Nossos documentos serão suportados por outro fornecedor sem problemas, com 100% (ao menos em teoria) de compatibilidade. O mesmo não pode ser dito dos seus arquivos do Office.
Do ponto de vista do desenvolvedor, isto equivale a liberdade total. Ao adotar-se o padrão ODF, o desenvolvedor não precisa se preocupar com o fato de seus clientes possuirem ou não o Microsoft Office. Não é necessário se preocupar com o fato de sua biblioteca suportar os recursos x,y ou z do formato, pois caso a mesma não possua este suporte, editar estes arquivos é extremamente simples. Afinal de contas, basicamente, consistem em arquivos XML! E o melhor: trata-se de uma tecnologia REALMENTE gratuita.
Antes da criação do formato OpenDocument, se alguém quisesse criar uma suite de produtividade, teria de gastar uma fortuna com o desenvolvimento de seu próprio formato, além de fornecer suporte aos demais formatos utilizados pelas demais suites. Hoje, este custo diminuiu absurdamente, uma vez que não é mais necessário investir no desenvolvimento de formatos proprietários. Basta seguir o padrão definido pelo comitê responsável pelo desenvolvimento do padrão. E se quiser incluir algo específico da sua aplicação? No problem! O padrão OpenDocument já prevê estas necessidades e propicia aos desenvolvedores lidar com estas peculiaridades sem denegrir o padrão. Sendo assim, é óbvio que o formato será o futuro, correto?
E aqui entra a minha preocupação. Mesmo com todas estas vantagens, não vejo muitos desenvolvedores (ao menos aqui no Brasil) se interessarem pelo formato. Ao buscar informações no GUJ (neste link há a busca pelo formato ODF), por exemplo, a respeito da geração de documentos no formato ODF, fiquei besta ao perceber quão poucas são as dúvidas. A maior parte dos posts diz respeito a notícias relacionadas, Ao postar no fórum sobre o projeto ODFEasy, fiquei chocado ao notar que só obtive UMA resposta! O que me fez parar para pensar sobre a real necessidade do projeto.
Ao que tudo indica, a comunidade de desenvolvedores não encontra-se atenta para este formato. Basta observar quão poucas são as bibliotecas existentes hoje para a geração de documentos. Ao navegar pela mail list do projeto ODF Toolkit (que visa a criação de ferramentas que possibilitem a geração de documentos ODF via código), percebe-se que não é uma lista tão ativa quanto deveria ser. Sinceramente, a impressão que tenho é a de que todos estão esperando que algo apareça para facilitar a tarefa, porém poucos de fato fazem alguma coisa a respeito. Claro: há também o fato de hoje o Microsoft Office ser dominante, e que nossos clientes de fato querem arquivos do Office, e não do OpenOffice, porém, convém mencionar que isto é o AGORA. Se nada for feito, iremos ter os problemas que citei acima indefinidamente.
Dado que estes problemas são percebidos mais claramente por desenvolvedores, e não por usuários finais, cabe a nós fazer algo a respeito, buscando conhecer melhor o formato, criando ferramentas que facilitem a criação de documentos e, principalmente, expondo aos nossos clientes os ganhos provenientes da adoção do formato.
No que diz respeito à computação pessoal/corporativa, existem os seguintes pilares:
- Sistemas operacionais: temos o Linux, Solaris, Mac OS e BSD brilhando aonde antes havia apenas Windows.
- Bancos de dados: temos MySQL, PostgreSQL, Firebird, HSQLDB e diversos outros SGBDs que tornaram a compra de SGBDs proprietários algo do passado.
- Ferramentas de desenvolvimento: Java, C/C++, Perl e todas as linguagens abertas que, uma vez aprendidas, se mostram infinitamente superiores às ferramentas proprietárias que dominavam até então, como o Visual Studio, Delphi, etc.
- Criação de documentos: temos o OpenOffice, e o Microsoft Office dominando TODO o mercado (causando os problemas que acima citei).
Como pode ser visto, três dos pilares já estão sólidos. Falta apenas um! Pessoas compram computadores hoje para dois propósitos: navegar na Internet (e esta sim é baseada em padrões abertos) e criar documentos. A partir do momento em que passarem a gerar documentos usando padrões abertos, não precisarão mais gastar 200,300,400,600 reais com Windows + 100 reais com anti-vírus. Poderão usar Linux, BSD, Solaris, Mac OS, o que quiserem.
E como consequência, nós, desenvolvedores, não ficaremos presos a uma única plataforma nem seremos limitados ao que o fornecedor da plataforma dominante QUER abrir ou não.
Deixe uma resposta