novo-spb.md 7.32 KB

Software Público Brasileiro: de portal para plataforma integrada de colaboração

O Governo Federal vem nos últimos anos melhorando seus processos de desenvolvimento e adoção de software. Em 2003, a recomendação da adoção de software livre passou a ser uma política, incentivada com a criação do Guia Livre[governoeletronico.gov.br/acoes-e-projetos/guia-livre]. Em 2007, a Secretaria de Logística e Tecnologia da Informação (SLTI) do Ministério do Planejamento, Orçamento e Gestão (MP) lançou o portal do Software Público Brasileiro (SPB)[softwarepublico.gov.br] -- um sistema web para o compartilhamento de projetos de software no Governo.

Por um lado, a Instrução Normativa 04/2012[governoeletronico.gov.br/biblioteca/arquivos/instrucao-normativa-no-04-de-12-de-novembro-de-2010] indica que os gestores devem consultar as soluções existentes no portal do SPB antes de realizar uma contratação de software. Por outro lado, a evolução do portal do SPB foi comprometida, desde 2009, ao não acompanhar a evolução do seu framework base, o OpenACS[openacs.org], não tendo versões lançadas desde então.

Uma nova plataforma para o SPB está sendo desenvolvida pela Universidade de Brasília, através dos Laboratórios LAPPIS[lappis.unb.br] e MídiaLab[midialab.unb.br] em parceria com o Centro de Competência em Software Livre da Universidade de São Paulo (CCSL-USP[ccsl.ime.usp.br]). A nova plataforma é baseada na integração de ambientes colaborativos, sistemas de controle de versão e de monitoramento da qualidade do código-fonte, e está sendo desenvolvida por uma equipe heterogênea composta por alunos, professores e profissionais, aplicando métodos ágeis e práticas de desenvolvimento distribuído de software.

<!------------------------------------------------------------------------>

Evolução para uma plataforma integrada de colaboração

O conceito de software público se diferencia do de software livre em alguns aspectos, destacando-se a atribuição de bem público ao software. Isto significa que o Governo, especificamente o MP, assume algumas responsabilidades que garantem ao usuário do software, em especial os órgãos públicos, condições adequadas de uso. Embora haja diferenças entre o que é um software livre e um software público brasileiro, há princípios comuns como a tendência da descentralização na tomada de decisões, do compartilhamento de informações e da retroalimentação. Por isso, a nova plataforma para o SPB foi pensada para comtemplar ferramentas que promovam a colaboração e interação nas comunidades (por gestores, usuários e desenvolvedores) dos projetos, conforme as práticas usadas nas comunidades de software livre. Isso inclui listas de e-mails, fórum de discussão, issue tracker, sistema de controle de versão e ambiente de rede social.

Para integrar as ferramentas e prover a autenticação única nos serviços da plataforma, um sistema web chamado Colab, que funcionada como proxy reverso para os ambientes, está sendo evoluído. Em resumo, o Colab consiste na integração de busca, autenticação e apresentação, provendo um único ambiente ao usuário que tem seu perfil com as métricas de contribuições (e-mails para listas, inserções em wikis, cadastros de issue e commits nos repositórios) gamificadas.

O Colab foi desenvolvido para o Interlegis[interlegis.leg.br] (programa do Senado Federal). Por padrão, funciona como servidor de listas de e-mail integrado ao Mailman[gnu.org/software/mailman], com o Apache Lucene Solr[lucene.apache.org/solr] indexando os conteúdos para as buscas. A partir de 2014, o GitLab[gitlab.org] e o Noosfero[noosfero.org] foram integrados ao Colab, que está sendo refatorado, para compor o novo SPB.

O GitLab é uma plataforma de desenvolvimento colaborativo social integrada ao sistema de controle de versão Git. É o ambiente mais técnico: os repositórios dos projetos do SPB, com páginas wiki, issue tracker e mecanismos de controle de versão de código, estão nele. O Noosfero é uma plataforma para rede social e de economia solidária que contém funcionalidades de gerenciamento de conteúdos (CMS), além de permitir a configuração das páginas de usuários e de comunidades de forma flexível. É o ambiente de maior interação com o usuário do SPB, desde os cadastros até o acesso às páginas dos projetos para download, leitura de documentação e contato com os responsáveis.

A integração dessas ferramentas não está totalmente completa, pois demanda a solução de questões complexas de arquitetura de software. O que foi desenvolvido em 2014 está funcional e já supera o atual portal do SPB em muitos aspectos. Em 2015, os perfis das diferentes ferramentas estão sendo integrados de modo que o usuário faça o gerenciamento em apenas um lugar. Os controles de acesso e a gestão de permissões também estão evoluindo. O mecanismo de coleta de dados e busca está sendo refatorado para acessar os conteúdos das novas ferramentas integradas ao Colab. Além disso, o Mezuro[mezuro.org], um sistema para o monitoramento de métricas de código-fonte, está sendo acoplado ao Colab para fornecer acompanhamento da qualidade do código dos projetos.

<!------------------------------------------------------------------------>

Evolução da experiência do usuário

A integração dos ambientes colaborativos vai além dos aspectos funcionais. Oferecer à população uma experiência unificada desses ambientes é fundamental para estimular o uso da plataforma, uma que reduz a percepção de complexidade.

Assim, a arquitetura da informação está sendo redesenhada para proporcionar uma navegação transparente e que atenda aos diversos tipos de usuário. Os modelos de interação de cada ferramenta estão sendo harmonizados, diminuindo a curva de aprendizado. Ao mesmo tempo, um novo estilo visual está sendo criado para apresentar essa experiência unificada e para atender as diretrizes de Identidade Padrão de Comunicação Digital[secom.gov.br/atuacao/comunicacao-digital/identidade-digital-1/identidade-digital] do Governo Federal.

Os usuários fazem parte do processo. Em 2014, foi aplicado um questionário para avaliar a satisfação das pessoas com o portal antigo e identificar problemas de experiência do usuário. Em 2015, estão previstas pelo menos 4 atividades de validação da nova plataforma com usuários e cidadãos interessados.

<!------------------------------------------------------------------------>

Conclusões.

A nova plataforma do SPB foi lançada para homologação em dezembro de 2014 e está em uso por algumas comunidades em beta.softwarepublico.gov.br...

Todos as ferramentas são software livre e o que está sendo desenvolvido pelas equipes da UnB e USP está publicado em repositórios abertos, disponíveis na versão beta do próprio SPB[beta.softwarepublico.gov.br/gitlab/softwarepublico]. Mais importante do que isso, as melhorias necessárias nas ferramentas utilizadas estão sendo contribuídas de volta para as respectivas comunidades. Isso não só é a coisa certa a se fazer do ponto de vista da comunidade de software livre, como vai possibilitar a redução de custos de manutenção no futuro para os cofres públicos e a evolução continuada da plataforma em sinergia com outras organizações que fazem uso das mesmas ferramentas.