O documento discute o Software Público Brasileiro como um agente de mudança no modelo de desenvolvimento de softwares. O Software Público Brasileiro surgiu em 2004 para atender demandas do governo e da sociedade de forma aberta e colaborativa, usando software livre. Ele objetiva integrar desenvolvedores, usuários e prestadores de serviço para produzir software de qualidade de forma economicamente viável e socialmente justa.
1. O Software Público Brasileiro como agente de
mudança no modelo de desenvolvimento de
softwares
Seyr Lemos de Souza
Analista em Tecnologia da Informação
Secretaria de Logística e Tecnologia da Informação – SLTI
Ministério do Planejamento, Orçamento e Gestão - MPOG
2. O Software Público Brasileiro nasceu em
meados de 2004 em um projeto interno do
Ministério, chamado Labcluster.
O portal SPB foi disponibilizado em abril de
2007 para a sociedade, o que nos possibilita
apresentar tal proposição.
O Software Público Brasileiro
3. “O software público é uma categorização do bem
software que adota um modelo de licença livre,
a proteção da licença pública de marca e é
disponibilizado em ambiente virtual público,
sendo tratado como um benefício para a
sociedade e o cidadão”.[Instrução Normativa SPB - SLTI]
O Software Público Brasileiro – Conceito Legal
4. Objetivos sociais
Ser socialmente justo (de politica público);
Integrar desenvolvedores, usuários e prestadores
de serviço;
Objetivos tecnológicos
Ser tecnologicamente sustentável (software livre);
Objetivos econômicos
Ser economicamente viável;
Estimular empresas nacionais no desenvolvimento
e prestação de serviços associados a Software
Livre.
O Software Livre – Objetivos
5. Prerrogativas do Software Público
Objetivos sociais
Ser socialmente justo (de politica público);
Integrar desenvolvedores, usuários e prestadores
de serviço;
Objetivos tecnológicos
Ser tecnologicamente sustentável (software livre);
Objetivos econômicos
Ser economicamente viável;
Estimular empresas nacionais no desenvolvimento
e prestação de serviços associados a Software
Livre.
O Software Livre – Objetivos
6. Aspectos tecnológicos
Licença de Software Livre – CC-GPL 2 em
Português;
Registro de Programa no INPI;
Softwares são desenvolvidos por e para a
Comunidade, e atendem demanda reprimida na
área de TI;
Possui tecnologia 100% livre (OpenACS e
PostgreSQL).
Aspectos econômicos
Estímulo a prestadores de serviço (Mercado
Público Virtual).
O Software Público Brasileiro – Características
7. 40 soluções: educação e gestão TIC e
conteúdo.
+85 mil usuários válidos
executivo federal (CACIC),
municipal (i-Educar),
legislativo federal (Banco de Talentos),
empresas privadas (LightBase),
O Software Público Brasileiro – O Portal
9. Internacionalização: o Programa das
Nações Unidas para o Desenvolvimento
PNUD e o Centro Latinoamericano de
Administradores para o Desenvolvimento
CLAD.
O Software Público Brasileiro – Internacionalização
10. O conceito de software público alcançou
consenso entre 18 países no mês de julho em
reunião realizada pelo Centro Latinoamericano
de Administração para o Desenvolvimento-
CLAD, que conta com a associação de 21
países iberoamericanos.
http://www.softwarepublico.gov.br/spb/download/file/consenso.pdf
O Software Público Brasileiro – Internacionalização
12. No Brasil o bem software é regido por duas leis:
Lei 9610/89 – Lei do Direito Autoral;
Lei 9609/89 - Lei do Software.
O Bem Software – Prerrogativas Legais
13. Art.1 – Esta Lei regula os direitos autorais,
entendendo-se sob esta denominação os direitos
de autor e os que lhes são conexos.
Art.7 – São obras intelectuais...
XII – os programas de computador
§1o. Os programas de computador são objeto de
legislação específica, observadas as
disposições desta Lei que lhes sejam
aplicáveis.
O Bem Software – Lei do Direito Autoral 9610/89
14. Art.1 – Art. 1º Programa de computador é a
expressão de um conjunto organizado de
instruções em linguagem natural ou
codificada, contida em suporte físico de qualquer
natureza, de emprego necessário em máquinas
automáticas de tratamento da informação,
dispositivos, instrumentos ou equipamentos
periféricos, baseados em técnica digital ou
análoga, para fazê-los funcionar de modo e para
fins determinados.
O Bem Software – Lei do Software 9609/89
15. Art. 7º O contrato de licença de uso de programa
de computador, o documento fiscal
correspondente, os suportes físicos do programa
ou as respectivas embalagens deverão consignar,
de forma facilmente legível pelo usuário, o prazo
de validade técnica da versão comercializada.
Art. 9º O uso de programa de computador no
País será objeto de contrato de licença.
O Bem Software – Lei do Software 9609/89
17. Software Público - O Conceito Público
Software PúblicoSoftware Público
Demanda do Governo
Demanda do Governo Pressão da Comunidade
de SL
Pressão da Comunidade
de SL Prerrogativas Legais
Prerrogativas Legais
18. Software Público - O Conceito Público
Software PúblicoSoftware Público
Demanda do Governo
Demanda do Governo Pressão da
Comunidade de SL
Pressão da
Comunidade de SL Prerrogativas Legais
Prerrogativas Legais
Produto
Serviços
Associados
Prestação de
Serviços
Gestão da
Produção
Código
Nome e
Marca
Ambiente Ecossistema
Software Público
LIVRE
21. O cliente ou usuário não sabe exatamente o
que quer;
Não existe técnica ou prática de estimativa
com confiabilidade aceitável.
As duas restrições implacáveis
24. Software público permite o compartilhamento
de código, otimizando o uso dos recursos
Menos duplicação de esforços;
Menor custo de desenvolvimento;
Oportunidade para melhoria da qualidade
Vários olhos enxergam mais;
Vários usuários envolvidos promovem
melhorias e relatórios de erros.
Por que Software Público?
25. Percepção dos governos da Comunidade
Européia:
Software está ficando cada vez mais
onipresente e cada vez mais importante no dia-
a-dia dos Cidadãos.
É um conhecimento importante demais para
ficar fechado como segredo industrial de
algumas poucas empresas: isso é ruim para a
sociedade.
Motivação Social
26. Estudos realizados na Comunidade Europeia:
Mais de 80% do lucro das empresas de
software da CE não provém de licenças de
software como produto, provém de serviços;
Mais de 85% dos trabalhadores de TI
trabalham em empresas que mexem com
software como serviço e não como produto
fechado.
Motivação Econômica
27. Indivíduos e interações são mais importantes
que processos e ferramentas.
Software funcionando é mais importante do
que documentação completa e detalhada.
Colaboração com o cliente é mais importante
do que negociação de contratos.
Adaptação a mudanças é mais importante do
que seguir o plano inicial.
Manifesto Ágil
28. Indivíduos e interações – Comunidades com
média de 2500 usuários;
Software funcionando – Auxilio dos usuários da
comunidade com apoio do sistema Trac e SVN;
Colaboração com o cliente – Alta demanda da
sociedade e dos grupos de interesse (4CMBR,
4CMulti, 4CTec, 5CQuali);
Adaptação a mudanças – Auxilio da
comunidade e 5CQuali.
Ligação entre Software Público e Metodo Ágil
29. 1.Licença Pública de Marcas - LPM
O software terá um “selo” o qualificando como
Software Público.
Ex.: selo de qualidade ABIC de café
O Software Público – Boas práticas: 6 dicas
30. 2. Integração contínua
Com o uso de ferramentas de controle de
versão distribuídas, você nem precisa mais de
uma conexão com a Internet para integrar
frequentemente (inclusive, montar um
"servidor" local é trivial).
O Software Público – Boas práticas: 6 dicas
31. 3.Testes e mais testes
Existem cada vez mais ferramentas que
facilitam o desenvolvimento com TDD/BDD.
Ótimas bibliotecas de teste com pequenas
ferramentas de teste contínuo e excelentes
ferramentas de refatoração possibilitam grande
eficiência e o desenvolvimento de um sistema
muito bem testado.
O Software Público – Boas práticas: 6 dicas
32. 4.Propriedade coletiva do código:
Nada mais natural em SL.
5.Padrões de formatação/estrutura de código:
Muito frequente em muitos projetos mas
poderia ser melhor. Padrões de código
deveriam estar disponíveis na página do
projeto mas também deveriam ser forçados
(quando possível) no momento da integração.
O Software Público – Boas práticas: 6 dicas
33. 6.Arquitetura simples:
Qualquer projeto pode se beneficiar em ser
claro e fácil de entender. Um projeto open
source ganha ainda mais nisso porque existem
mais pessoas capazes de dar sugestões de
melhoria.
O Software Público – Boas práticas: 6 dicas
34. Ferramenta de gerenciamento colaborativo
com usuário;
Priorização de funcionalidades podem ser
realizadas sob forma de votação;
A estimativa deve ser feita de forma
colaborativa entre a equipe de
desenvolvedores;
Controle de versões.
O Software Público – Práticas colaborativas
35. Software Público e Livre devem fazer parte da
agenda politica e fomentar politicas públicas;
SPB e SL geram economia para Administração
Pública e Sociedade;
O conhecimento aberto e compartilhado abre
grandes portas para pesquisa científico-
tecnológica;
Novas oportunidades para empresas
consolidadas e oportunidades para novos
empreendedores (Mercado Público Virtual);
Métodos Ágeis e Software Livre formam uma
relação harmônica extremamente proveitosa.
Considerações Finais