Commit a9aa399f85bac2a779ba081494fad96b02f7f092

Authored by Paulo Meireles
1 parent adead4c4

SBQS initial version

sbqs2017/content/00-abstract.tex
1 \begin{abstract} 1 \begin{abstract}
2 2
3 -The Brazilian Public Software (SPB) is a program by the Brazilian Federal  
4 -Government to foster the sharing and collaboration on Free and Open Source  
5 -Software (FOSS) solutions for the public administration. In the one hand,  
6 -Brazilian Public Software have some differences from FOSS projects, in  
7 -particular, the software is considered a public good and the Federal government  
8 -assumes some responsibilities related to its use. In the other hand, the  
9 -software development principles are the same: the trend towards  
10 -decentralization in decision-making, the information and development sharing,  
11 -and the continuous feedback. In this context, we have designed a platform based  
12 -on the integration and evolution of existing FOSS tools. Nowadays, the SPB  
13 -Portal provides several modern features for software collaborative development,  
14 -helping the Brazilian public administration to share its solutions. In this  
15 -paper, we present this integrated software development platform that was  
16 -developed for the program by a heterogeneous team composed by professors,  
17 -master students, undergraduate students and professionals from FOSS  
18 -communities. The development of this platform used several FOSS applications,  
19 -providing a non-trivial integration among them, as well as, have generated  
20 -several contributed features back to them. In this experience report, alongside  
21 -the platform architecture, features, and the user experience efforts carried  
22 -out, we also discuss our work process, based on agile and free software  
23 -development practices, and the lessons learned in 30 months work on the SPB  
24 -project. 3 +The Brazilian Public Software (SPB) is a program by the Brazilian Federal Government to foster the sharing and collaboration on Free and Open Source Software (FOSS) solutions for the public administration. A Brazilian Public Software is considered a public good and the Federal government assumes some responsibilities related to its use, but it has the same FOSS development principles such as the trend towards decentralization in decision-making, the information and development sharing, and the continuous feedback. In this context, we have designed a platform based on the integration and evolution of existing FOSS tools. Nowadays, the SPB Portal provides several modern features for software collaborative development,
  4 +helping the Brazilian public administration to share its solutions. In this paper, we present this integrated software development platform that was developed for the program by a heterogeneous team composed by professors, master students, undergraduate students and professionals from FOSS communities. In this experience report, alongside the platform architecture, features, and the user experience efforts carried out, we also discuss our work process, based on agile and free software development practices, and the lessons learned in 30 months work on the SPB project.
25 \end{abstract} 5 \end{abstract}
26 6
27 \begin{resumo} 7 \begin{resumo}
28 -O Software Público Brasileiro (SPB) é um programa do Governo Federal brasileiro  
29 -para promover o compartilhamento e a colaboração de projetos de Software Livre  
30 -para a administração pública. Por um lado, um software público brasileiro tem  
31 -algumas diferenças em relação a um software livre, em especial, o fato do  
32 -software público ser considerado com um bem público and o Governo Federal  
33 -assumir algumas responsabilidades relacionadas ao seu uso. Por outro lado,  
34 -teoricamente, os princípios de desenvolvimento de software são os mesmos:  
35 -tendência a descentralização das decisões sobre o projeto, compartilhamento de  
36 -informações e do desenvolvimento (código), e interação contínua com seus  
37 -usuários.  
38 -%  
39 -Neste contexto, projetamos uma plataforma baseada na evolução e integração de  
40 -ferramentas existentes que promovem a colaboração. Atualmente, o portal SPB  
41 -disponibiliza funcionalidaeds modernas para o desenvolvimento colaborativo de  
42 -software, ajudando a administração pública brasileira a compartilhar suas  
43 -solução.  
44 -%  
45 -  
46 8
  9 +O Software Público Brasileiro (SPB) é um programa do Governo Federal Brasileiro para promover o compartilhamento e a colaboração em soluções de Software Livre para a administração pública. Um Software Público Brasileiro é considerado um bem público e o governo federal assume algumas responsabilidades relacionadas ao seu uso, mas tem os mesmos princípios de desenvolvimento de software livre como a tendência à descentralização na tomada de decisões, o compartilhamento de informações e do desenvolvimento (código), e a interação contínua com seus usuários. Nesse contexto, criamos uma plataforma baseada na integração e evolução de ferramentas FOSS existentes. Hoje em dia, o SPB Portal oferece diversas funcionalidades modernas para o desenvolvimento de software colaborativo, ajudando a administração pública brasileira a compartilhar suas soluções. Neste artigo, apresentamos a plataforma integrada de desenvolvimento de software desenvolvida para o programa por uma equipe heterogênea composta por professores, mestrandos, estudantes de graduação e profissionais das comunidades do software livre. Neste relato de experiência, juntamente com a arquitetura da plataforma, funcionalidades e os esforços na evolução da experiência do usuário, também discutimos nosso processo de trabalho, baseado em práticas de desenvolvimento de software ágil e livre, e as lições aprendidas em 30 meses de trabalho sobre o projeto SPB.
47 10
48 \end{resumo} 11 \end{resumo}
sbqs2017/content/01-introduction.tex
1 -\section{Introduction} 1 +\section{Introdução}
2 \label{sec:intro} 2 \label{sec:intro}
3 3
4 -During the last few decades, the Brazilian Federal Government has been  
5 -trying to change its software adoption and development processes. For  
6 -instance, in 2003, the recommendation to adopt Free and Open Source  
7 -Software (FOSS) become a public policy. In 2007, the Brazilian  
8 -Government released a portal named Brazilian Public Software  
9 -(\textit{Software Público Brasileiro} -- SPB, in Portuguese), with the  
10 -goal of sharing FOSS projects developed by, or for, the Brazilian  
11 -Government. Additionally, the Brazilian legal instrument on software  
12 -contracting (known as IN 04/2012) mandates that public agents must give  
13 -priority to solutions available in the SPB Portal. In short, the  
14 -acquisition of a proprietary solution must be explicitly justified by  
15 -demonstrating that there is no suitable alternative in the SPB Portal.  
16 -In 2013, the Brazilian Federal Court issued a ruling document  
17 -(\textit{Acórdão 2314/2013}) about an audit survey regarding the use of  
18 -agile methodologies in software development contracts with the public  
19 -administration. 4 +Durante as últimas décadas, o governo federal brasileiro vem tentando mudar seus processos de adoção e desenvolvimento de software. Por exemplo, em 2003, a recomendação de adotar software livre\footnote{Neste artigo, usamos o termo software livre como referente à Free and Open Source Software (FOSS).} tornou-se uma política pública. Em 2007, o governo brasileiro lançou um portal chamado Software Público Brasileiro (SPB), com o objetivo de compartilhar projetos de software livre desenvolvidos pelo governo brasileiro ou para o mesmo. Adicionalmente, o instrumento jurídico brasileiro de contratação de software (denominado IN 04/2012) determina que os agentes públicos devem priorizar as soluções disponíveis no Portal SPB. Em suma, a aquisição de uma solução proprietária deve ser explicitamente justificada ao demonstrar que não há alternativa adequada no Portal SPB. Em 2013, o Tribunal Federal emitiu o Acórdão 2314/2013 sobre o uso de metodologias ágeis em contratos de desenvolvimento de software com a administração pública.
20 5
21 -Despite of that, in practice, FOSS or agile methodologies, that is,  
22 -collaborative and empirical software development methods are not widely  
23 -practiced and understood by the Brazilian government agents. Thus, the  
24 -hierarchical and traditional processes from the government and the lack  
25 -of expertise in real-world software development of its agents produces a  
26 -situation of inneficient software development contracts and  
27 -unjustifiable expending of taxpayers' money. 6 +Apesar disso, na prática, as metodologias de desenvolvimento de software livre ou ágeis, isto é, os métodos colaborativos e empíricos de desenvolvimento de software, não são amplamente praticadas e entendidas pelos agentes do governo brasileiro. Dessa forma, os processos hierárquicos e tradicionais do governo e a falta de expertise no desenvolvimento de software real de seus agentes produzem uma situação de contratos de desenvolvimento de software ineficiente.
28 7
29 -% TODO: ^ references 8 +Desde 2009, o SPB Portal teve vários problemas técnicas. O código original da plataforma não estava mias sendo desenvolvido, e havia uma grande quantidade de dívidas técnicas para superar. O sistema era uma versão modificada de uma plataforma livre existente chamada OpenACS\footnote{\url{http://openacs.org}}, e o antigo portal SPB não estava sendo atualizado com os lançamentos oficiais do OpenACS. Nesse cenário, a manutenção do portal estava se tornando cada vez mais difícil.
30 9
31 -Since 2009, the SPB Portal was having several technical issues. The  
32 -original codebase was not being developed anymore, and there was a large  
33 -amount of technical debt to overcome. The system was a modified version  
34 -of an existing FOSS platform called  
35 -OpenACS\footnote{\url{http://openacs.org}}, and the old SPB portal was  
36 -not being updated anymore against the official OpenACS releases. In this  
37 -scenario, the portal maintenance was becoming harder and harder.  
38 -  
39 -After some events and meetings to collect requirements from the federal  
40 -government and from the society, a new platform for the SPB Portal was  
41 -developed, among January 2014 and June 2016, by the University of  
42 -Brasília (UnB) and the University of São Paulo (USP) in a partnership  
43 -with the Brazilian Ministry of Budget, Planning, and Management (MP). It  
44 -was designed as an integrated platform for collaborative software  
45 -development., and includes functionality for social networking, mailing  
46 -lists, version control system, and source code quality monitoring. To  
47 -coordinate and develop this project during 30 months, UnB received from  
48 -the Brazilian Federal Government a total of 2,619,965.00 BRL (about  
49 -750,000.00 USD in June 2016). 10 +Depois de alguns eventos e encontros para coletar os requisitos via os agentes do governo federal e da sociedade, foi desenvolvida, entre janeiro de 2014 e junho de 2016, uma nova plataforma para o Portal SPB, pelo Universidade de Brasília (UnB) e da Universidade de São Paulo (USP) em parceria com o Ministério de Orçamento, Planejamento e Gestão (MP). Ele foi projetado como uma plataforma integrada para desenvolvimento de software colaborativo, e inclui funcionalidade para redes sociais, listas de discussão, sistema de controle de versão e monitoramento de qualidade de código-fonte. Para coordenar e desenvolver esse projeto durante 30 meses, a UnB recebeu do Governo Federal Brasileiro um total de 2.619.965,00 reais.
50 11
51 \begin{figure*}[hbt] 12 \begin{figure*}[hbt]
52 \centering 13 \centering
53 \includegraphics[width=.9\linewidth]{figures/home-SPB_2.png} 14 \includegraphics[width=.9\linewidth]{figures/home-SPB_2.png}
54 - \caption{The new SPB Portal.} 15 + \caption{Página inicial do novo Portal SPB.}
55 \label{fig:spb} 16 \label{fig:spb}
56 \end{figure*} 17 \end{figure*}
57 18
58 -The project was developed by a team of 3 professors, 2 masters students, and  
59 -approximately 50 undergraduate students (not all of them at the same time,  
60 -though -- graduations and other events triggered changes in the team) together  
61 -with 2 professional designers and 6 senior developers from the FOSS  
62 -communities. The professors and all undergraduate student were from UnB, and  
63 -the master students were from USP. Regarding the designers and senior  
64 -developers, 7 of 8 they were living outside of Brasília: Curitiba/Brazil, São  
65 -Paulo/Brazil, Ribeirão Preto/Brazil, Salvador/Brazil, Punta Cana/Dominican  
66 -Republic, and Montreal/Canada. In other words, we had a team working in  
67 -distributed collaborative virtual environment.  
68 -  
69 -Figure \ref{fig:spb} shows the home page of this integrated platform.  
70 -All development was done in the open, and the changes we needed in the  
71 -FOSS tools were contributed back to their respective communities. Our  
72 -process was based on agile practices and FOSS communities interaction.  
73 -We defined development cycles and released 5 versions of the new SPB  
74 -Portal. The first release (beta) was in September 2014, only 9 months  
75 -from the beginning of the project. The old portal was shut down down in  
76 -September 2015. Finally, the last version illustrated in Figure 1 was  
77 -released in June 2016. 19 +O projeto foi desenvolvido por uma equipe de 3 professores, 2 estudantes de mestrado e cerca de 50 alunos de graduação (não todos ao mesmo tempo), juntamente com 2 designers profissionais e 6 desenvolvedores sêniors da comunidade software livre. Os professores e todos os estudantes de graduação eram da UnB e os mestrandos eram da USP. Quanto aos designers e desenvolvedores seniores, 7 dos 8 viviam fora de Brasília: Curitiba, São Paulo, Ribeirão Preto, Salvador, Punta Cana/República Dominicana e Montreal/Canadá. Em outras palavras, nós tínhamos uma equipe trabalhando em um ambiente virtual colaborativo e distribuído.
78 20
79 -In this paper, we present an overview of this new generation of the SPB  
80 -Portal. This experience report shares our methodology and process to  
81 -develop this project working with the Brazilian federal government to  
82 -comply with its requirements at the same time to be as faithful as  
83 -possible to FOSS development. Moreover, we discuss several lessons  
84 -learned to provide a distributed collaborative virtual environment  
85 -involving a large undergraduate student team and remote senior  
86 -developers. Lastly, we released an unprecedented platform for the  
87 -Brazilian government applying empirical software development methods.  
88 -This case can help other projects overcome similar software engineering  
89 -challenges in the future, as well as illustrate how universities can  
90 -improve the real-world experience of their students by means of this  
91 -kind of project. 21 +Figura \ref{fig:spb} mostra a página inicial desta plataforma integrada, que acesso (1) lista de discussões (Mailmain), (2) ambiente de apoio ao desenvolvimento (GitLab e Mezuro) e (3) rede social (Noosfero) com as páginas dos projetos e soluções disponíveis. Todo o desenvolvimento foi feito de forma aberta, e as mudanças que precisávamos nas ferramentas foram devolvidas às suas respectivas comunidades. Nosso processo foi baseado em práticas ágeis e nos mecanismos empíricos das comunidades de software livre. Definimos ciclos de desenvolvimento e lançamos 5 versões do novo SPB Portal. A primeira versão (beta) foi disponibilizada em setembro de 2014, apenas 9 meses desde o início do projeto. O antigo portal foi desligado em setembro de 2015. Por fim, a última versão, ilustrada na Figura\ref{fig:spb}, foi entregue em junho de 2016.
92 22
  23 +Neste artigo, apresentamos uma visão geral dessa nova geração do Portal SPB. Este relato de experiência compartilha nossa metodologia e processo de desenvolvimento desse projeto, trabalhando com o governo federal brasileiro para cumprir suas exigências, ao mesmo tempo ser o mais fiel possível às comunidades de software livre envolvidas. Além disso, discutimos várias lições aprendidas para fornecer um ambiente virtual colaborativo e distribuído, envolvendo uma grande equipe de estudantes de graduação e desenvolvedores sêniors remotos. Por fim, lançamos uma plataforma sem precedentes para o governo brasileiro aplicar métodos colaborativos de desenvolvimento de software. Este caso pode ajudar outros projetos a superar desafios similares de engenharia de software no futuro, bem como demonstra como as universidades podem melhorar a experiência de mundo real de seus alunos por meio desse tipo de projeto.
sbqs2017/content/02-spb.tex
1 -\section{Background} 1 +\section{O Software Público Brasileiro}
2 \label{sec:spb} 2 \label{sec:spb}
3 3
4 -FOSS is a phenomenon that has gained notoriety in recent years and has been  
5 -attracting the interest of academia. However, since the beginning of computing  
6 -the majority of developers worked in the way that we now identify as free  
7 -software, that is, sharing code openly. This openness makes the code available  
8 -for inspection, modification, and use by any person or organization  
9 -\cite{hippel2003,kon2012}. 4 +Software livre é um fenômeno que ganhou notoriedade nos últimos anos e tem atraído o interesse da academia. No entanto, desde o início da computação, a maioria dos desenvolvedores trabalhou da maneira que agora identificamos como software livre, ou seja, compartilhando códigos abertamente. Essa abertura torna o código disponível para inspeção, modificação e uso por qualquer pessoa ou organização\cite{hippel2003, kon2012}.
10 5
11 -The elements that distinguish FOSS from other types of software are the  
12 -reasoning about the development process, the economic context, the relationship  
13 -between developers and users, as well as the ethical and legal characteristics  
14 -that relate to the software. In the context of FOSS, user freedom is promoted  
15 -and its development is based on open collaboration and development practices  
16 -\cite{meirelles2013}. 6 +Os elementos que distinguem o software livre de outros tipos de software são o pensamento sobre o processo de desenvolvimento, o contexto econômico, a relação entre desenvolvedores e usuários, bem como as características éticas e legais que se relacionam com o software. No contexto do software livre, a liberdade do usuário é promovida e seu desenvolvimento é baseado em práticas abertas de colaboração e desenvolvimento\cite{meirelles2013}.
17 7
18 -From the economic point of view, unlike what happens with proprietary software,  
19 -FOSS promotes the establishment of several suppliers that can compete with each  
20 -other based on the same software. This stronger competition among suppliers  
21 -brings benefits to users because it gives better assurances regarding the  
22 -evolution of the system and induces a reduction in prices \cite{kon2012}. These  
23 -freedoms and assurances on software are guaranteed in Brazil by Law 9610/98  
24 -(copyright law). Most of the time, this protection from the law complies with  
25 -the terms conferred by a contract related to certain software. This contract is  
26 -called ``license''. A software license determines a list of rights that are  
27 -given to, and duties that are imposed on a user of the software. In particular,  
28 -what differentiates FOSS from proprietary software is just the way they are  
29 -licensed \cite{sabino2009}. The FOSS licenses guarantee the right to execute,  
30 -study, adapt, and improve the software. Example of common FOSS licenses are  
31 -the \textit{GPL (GNU General Public License)}, the Apache license, the MIT  
32 -license, and the BSD license. 8 +Do ponto de vista econômico, ao contrário do que acontece com o software proprietário, o software livre promove o estabelecimento de vários fornecedores que podem competir uns com os outros com base no mesmo software. Essa forte concorrência entre os fornecedores traz benefícios para os usuários, porque dá melhores garantias em relação à evolução do sistema, levando a uma redução dos custos\cite{kon2012}. Essas liberdades e garantias sobre software são regidas no Brasil pela Lei 9610/98 (lei de direitos autorais). Na maioria das vezes, essa proteção da lei está em conformidade com os termos conferidos por um contrato relacionado a determinado software. Esse contrato é chamado de ``licença''. Uma licença de software determina uma lista de direitos que são concedidos, e deveres que são impostos a um usuário do software. Em particular, o que diferencia software livre de software proprietário é apenas a forma como eles são licenciados\cite{sabino2009}. As licenças de software livre garantem o direito de executar, estudar, adaptar e melhorar o software.
33 9
34 -The original incarnation of SPB portal has been designed in 2005 and  
35 -released in 2007. From a practical point of view, it is a web system  
36 -that has consolidated itself as an environment for sharing software  
37 -projects. It provides a space (community) for each software.  
38 -Therefore, it was designed to include tools that promote collaboration  
39 -and interaction in communities (by managers, users, and developers) of  
40 -the projects, according to the practices used in FOSS communities. This  
41 -includes mailing lists, discussion forums, issue trackers, version  
42 -control systems, and social networking environments. 10 +A versão original do portal SPB foi projetada em 2005 e lançada em 2007. O propósito do portal era apenas compartilhar o software desenvolvido no governo brasileiro, para reduzir os custos de contratação de software. No entanto, observou-se que quando os projetos de software foram lançados, suas comunidades foram formadas em torno desses sistemas com várias pessoas colaborando e compartilhando os resultados obtidos com o uso dessas soluções. Dessa forma, algumas cooperativas de desenvolvimento de software e empresas privadas demonstraram interesse em disponibilizar seus sistemas na plataforma SPB.
43 11
44 -Initially, the purpose of the portal was only to share the software developed  
45 -in the Brazilian government, to reduce the costs of hiring software. However,  
46 -it was observed that when softwares were released, their communities were  
47 -formed around those software with several people collaborating and sharing the  
48 -results obtained through the use of those solutions. In this way, some software  
49 -development cooperatives and private companies have shown an interest in making  
50 -their software available on the SPB platform.  
51 -  
52 -The concept of Brazilian Public Software goes beyond FOSS. In addition  
53 -to being licensed under a FOSS license, a SPB needs to have explicit  
54 -guarantees that it is a public good, and that project must be available  
55 -in the SPB portal. Being a true public good assumes requirements that  
56 -can not be met solely by means of FOSS licensing. For example, there  
57 -must be a relaxed trademark usage policy by the original vendor that  
58 -does not stop eventual competitors from advertising services for that  
59 -same software. Inclusion in the SPB Portal also has extra requirements,  
60 -such as having a public version control system, installation manual, and  
61 -hardware requirements specification. 12 +Em resumo, o conceito de Software Público Brasileiro vai além do software livre. Além de estar licenciado sob uma licença de software livre, um software público precisa ter garantias explícitas de que é um bem público, e esse projeto deve estar disponível no portal SPB. Ser um verdadeiro bem público pressupõe requisitos que não podem ser satisfeitos apenas por meio de licenciamento de software livre. Por exemplo, deve haver uma política de uso de marca menos rígida pelo fornecedor original que não impeça eventuais concorrentes de serviços de publicidade para esse mesmo software. A inclusão no SPB Portal também tem requisitos extras, como ter um sistema de controle de versão pública, manual de instalação e especificação de requisitos de hardware.
62 13
sbqs2017/content/03-requirements.tex
1 -\section{Requirements and Related Projects} 1 +\section{Requisitos e projetos relacionados}
2 \label{sec:requirements} 2 \label{sec:requirements}
3 3
4 -In 2013, the SPB Portal had more than 600 thousand unique visitors, generating  
5 -more than 16 million page views with about 50 million hits. By evaluating only  
6 -the main projects, there were more than 15 thousand downloads and 4 thousand  
7 -messages exchanged in their forums. These data illustrates the potential of the  
8 -SPB Portal, even with several limitations in the past.  
9 -  
10 -By preparing the evolution project described in this paper, the Brazilian  
11 -government promoted 3 events to collect the requirements, in particular from  
12 -society point of view: (i) an online form to collect general ideas; (ii) a  
13 -face-to-face meeting with society in general; (iii) a workshop to review the  
14 -SPB concepts and requirements with IT stakeholders from the Brazilian  
15 -government and public organizations.  
16 -  
17 -After these 3 rounds discussing the new SPB platform, the Brazilian government  
18 -listed about 145 requirements and developed a ``mind  
19 -map''\footnote{\url{https://softwarepublico.gov.br/social/spb/gallery/mapaconceitual.png}}  
20 -to guide the SPB portal evolution. In this scenario, the 10 most voted  
21 -requirements were, for example: 4 +Para conceber o novo portal SPB, o governo brasileiro organizou 3 eventos para coletar os requisitos, em particular do ponto de vista da sociedade. Após essas 3 rodadas de discussão sobre a nova plataforma SPB, o governo brasileiro listou cerca de 145 requisitos e desenvolveu um ``mapa mental''\footnote{\url{https://softwarepublico.gov.br/social/spb/gallery/mapaconceitual.png}} para guiar a evolução do portal SPB. Nesse cenário, os 10 requisitos mais votados foram, por exemplo:
22 5
23 \begin{enumerate} 6 \begin{enumerate}
24 -  
25 -\item Source code repository with public access.  
26 -\item Visit community pages without login.  
27 -\item Distributed version control system.  
28 -\item Scores of users and developers collaboration.  
29 -\item Search software by features.  
30 -\item Integration with social networks.  
31 -\item Repository for future ideas and requirements.  
32 -\item Friendly URL to access a public software community page.  
33 -\item User feedback about a public software.  
34 -\item Report of the experience about the use of a public software.  
35 - 7 +\item Repositório de código-fonte com acesso público.
  8 +\item Visita às páginas da comunidade sem login.
  9 +\item Sistema de controle de versão distribuído.
  10 +\item Pontuações de colaboração de usuários e desenvolvedores.
  11 +\item Pesquisa de software por recursos.
  12 +\item Integração com redes sociais.
  13 +\item Repositório para ideias e requisitos futuros.
  14 +\item URL amigável para acessar uma página de comunidade de software.
  15 +\item Comentários dos usuários sobre um software público.
  16 +\item Relatório da experiência sobre o uso de um software público.
36 \end{enumerate} 17 \end{enumerate}
37 18
38 -\begin{figure}[hbt]  
39 - \centering  
40 - \includegraphics[width=\linewidth]{figures/technological-requirements.png}  
41 - \caption{Technological requirements overview.}  
42 - \label{fig:requirements}  
43 -\end{figure}  
44 -  
45 -  
46 -here were other requirements based on the experience of the IT  
47 -stakeholders from the Brazilian government and from the Brazilian FOSS  
48 -community (that UnB and USP were representing too in this project). The  
49 -new platform would only work properly if there is a unique  
50 -authentication to use the provided tools. Additionally, a unified  
51 -interface was an important non-functional requirement to have a better  
52 -user experience in the new platform.  
53 -  
54 -At the first moment, we desired to release an initial version that could  
55 -replace the old SPB portal. For that, the first version should have  
56 -features such as: 19 +Haviam outros requisitos baseados na experiência dos analistas de TI do governo brasileiro e da comunidade software livre brasileira. Por exemplo, a nova plataforma só funcionaria corretamente se houver uma autenticação única para usar as ferramentas fornecidas. Além disso, uma interface unificada era um requisito não-funcional importante para ter uma melhor experiência de usuário na nova plataforma. Assim, no primeiro momento, desejamos disponibilizar uma versão inicial que poderia substituir o antigo portal SPB. Para isso, a primeira versão deve ter recursos como:
57 20
58 \begin{enumerate} 21 \begin{enumerate}
59 -  
60 -\item An organized public software catalog.  
61 -\item Social network environment (profiles for users, software pages, and community pages).  
62 -\item Content Management Systems (CMS) features.  
63 -\item Web-based Git repository manager with wiki and issue tracking features.  
64 -\item Mailing lists and discussion forums.  
65 - 22 +\item Um catálogo de software público organizado.
  23 +\item Ambiente de rede social (perfis para usuários, páginas de software e páginas da comunidade).
  24 +\item Sistema de Gerenciamento de Conteúdo (CMS).
  25 +\item Gerenciador web de repositório Git com wiki e recursos de \textit{issue tracker}.
  26 +\item Listas de discussão e fóruns de discussão.
66 \end{enumerate} 27 \end{enumerate}
67 28
68 -Other requirements were also planned during the conception phase of the  
69 -SPB evolution project, such as an integrated search engine and a  
70 -web-based source code static analysis monitor. By analyzing all of these  
71 -requirements, we proposed the technological requirements overview  
72 -illustrated in Figure \ref{fig:requirements} to guide the development of  
73 -the new SPB platform. In other words, we have designed the SPB evolution  
74 -project based on existing FOSS tools. However, the integration of  
75 -several existing systems that were already implemented in different  
76 -programming languages and frameworks, adding features such as a  
77 -centralized authentication, unified interface, and a search engine, as  
78 -well as, other back-end features, would require a non-trivial amount of  
79 -work. 29 +Outros requisitos também foram planejados durante a fase de concepção do projeto de evolução do SPB, como um mecanismo de busca integrado e um monitor de análise estática de código-fonte na web. Analisando todos esses requisitos, criamos o projeto de evolução do SPB baseado em ferramentas de software livre existentes. No entanto, a integração de vários sistemas existentes que já foram implementados em diferentes linguagens de programação e arcabouços, adicionando recursos como uma autenticação centralizada, interface unificada e um mecanismo de pesquisa, bem como, outros recursos de \textit{back-end}, requeriria grande quantidade de trabalho não-trivial.
80 30
81 -The new SPB platform is a fully integrated environment, as we can see in  
82 -Figure \ref{fig:requirements}, being very advanced in comparison with  
83 -related projects and initiatives. For example, the USA government has a  
84 -platform designed to improve access to the federal government developed  
85 -software\footnote{\url{https://code.gov}}. Code.gov is an interface to  
86 -organize the USA government projects and, in short, make it easy for  
87 -users and developers to obtain information and access their source code  
88 -repositories at GitHub. However, there are not social networking and CMS  
89 -features, as well as, other communication resources provided by that  
90 -platform. 31 +A nova plataforma SPB é um ambiente totalmente integrado, sendo muito avançada em comparação com projetos e iniciativas relacionados. Por exemplo, o governo dos EUA tem uma plataforma criada para melhorar o acesso ao software desenvolvido pelo governo federal\footnote{\url{https://code.gov}}. Code.gov é uma interface para organizar os projetos do governo dos EUA e, em suma, facilita aos usuários e desenvolvedores como obter informações e acessar repositórios de código-fonte dos projeto do governo no GitHub. No entanto, não há recursos de rede social e CMS, bem como outros recursos de comunicação fornecidos por essa plataforma.
91 32
92 -Additionally, there are two initiatives in Europe:  
93 -OSOR\footnote{\url{https://joinup.ec.europa.eu/community/osor}} and  
94 -OW2\footnote{\url{http://ow2.org}}. The Open Source Observatory (OSOR)  
95 -is a community hosted in the JoinUp platform powered by the European  
96 -Commission. OSOR aims at exchanging information, experiences and best  
97 -practices around the use of FOSS in the public administration. It helps  
98 -to find a FOSS made available by other public administrations, providing  
99 -access to information such as news, events, studies and solutions  
100 -related to implementation of open source software. It also offers forum  
101 -discussions and community mailing lists, but it does not have an  
102 -integrated source code repository manager and for the each project there  
103 -is a link to its own external repository (or its tarball file). 33 +Além disso, existem duas iniciativas na Europa: OSOR\footnote{\url{https://joinup.ec.europa.eu/community/osor}} e OW2\footnote{\url{http://ow2.org}}. O Open Source Observatory (OSOR) é uma comunidade hospedada na plataforma JoinUp, patrocinada pela \textit{European Commission}. O OSOR tem como objetivo o intercâmbio de informações, experiências e melhores práticas sobre o uso de software livre na administração pública. Ajuda a encontrar um software livre disponibilizado por outras administrações públicas, proporcionando acesso a informações como notícias, eventos, estudos e soluções relacionadas à implementação de software livre. Ele também oferece fórum e listas de discussão da comunidade, mas não possui um gerenciador de repositório de código-fonte integrado e para cada projeto há um link para seu próprio repositório externo (ou seu arquivo tarball).
104 % 34 %
105 -OW2 is a FOSS community to promote the development of FOSS middleware, generic  
106 -business applications, cloud computing platforms and foster a community and  
107 -business ecosystem. In short, it aims to support the development, deployment  
108 -and management of distributed applications with a focus on FOSS middleware and  
109 -related development and management tools. 35 +OW2 é uma espécie de consórcio de projetos de software livre para promover o desenvolvimento de \textit{middleware} livres, aplicativos de negócios, plataformas de computação em nuvem e promover um ecossistema de comunidade e negócios. Em resumo, ele visa apoiar o desenvolvimento, implantação e gerenciamento de soluções distribuídos com foco em middleware, não sendo uma plataforma em si.
110 % 36 %
111 -Moreover, from the European Commission in 2007 until 20011, there was the  
112 -QualiPSo project that aimed at providing FOSS users, developers, and consumers,  
113 -with quality resources and expertise on the various topics related to FOSS. The  
114 -QualiPSo project also had planned to develop a platform called QualiPSo  
115 -Factory but it was not fully completed. 37 +Além disso, patrocinado pela \textit{European Commission} entre 2007 e 20011, havia o projeto QualiPSo que visava fornecer aos usuários, desenvolvedores e consumidores de software livre recursos e conhecimentos de qualidade sobre os vários tópicos relacionados ao software livre. O projeto QualiPSo também planejava desenvolver uma plataforma chamada QualiPSo Factory, que não foi totalmente concluída.
116 38
117 -In Latin American there is an initiative based on the SPB project called ``Software  
118 -Publico Regional''\footnote{\url{http://softwarepublicoregionalbeta.net}}. From  
119 -a practical point of view, it provides a customized Gitlab instance to share  
120 -the source code and documentation of the project from the involved countries. 39 +Na América Latina existe uma iniciativa baseada no projeto SPB chamado Software Publico Regional\footnote{\url{http://softwarepublicoregionalbeta.net}}. De um ponto de vista prático, ele fornece uma instância personalizada do Gitlab para compartilhar o código-fonte e a documentação dos projetos dos países envolvidos.
121 % 40 %
122 -Like Brazil, Chile has its own portal also called ``Software  
123 -Publico''\footnote{\url{http://www.softwarepublico.gob.cl}}. Users can create  
124 -content in the communities (news items, documents, wiki pages), but  
125 -source code repositories are available at the Bitbucket  
126 -platform\footnote{\url{https://bitbucket.org/softwarepublico}}. 41 +Tal como o Brasil, o Chile tem seu próprio portal também chamado Software Publico\footnote{\url{http://www.softwarepublico.gob.cl}}. Os usuários podem criar conteúdo nas comunidades (notícias, documentos, páginas wiki), mas os repositórios de código-fonte estão disponíveis na plataforma Bitbucket\footnote{\ url {https://bitbucket.org/softwarepublico}}.
  42 +
  43 +
  44 +O governo brasileiro precisava evoluir o projeto SPB que existia desde 2005. Em 2013, quando iniciamos esse projeto, o Portal SPB contava com cerca de 200 mil usuários cadastrados. Não poderíamos apenas entrar em contato com esses usuários e pedir-lhes para registrar uma conta no Github também. Além disso, após o caso Edward Snowden, o governo brasileiro aprovou um decreto-lei específico (8.135/2013) para regulamentar seus serviços de comunicação, exigindo que a administração pública deva hospedar seus sistemas de informação a ser fornecido por si mesmo, o que exclui o uso de plataformas privadas, especialmente aqueles fornecidos por empresas estrangeiras. Assim, desenvolvemos nossa própria solução para cobrir todos os requisitos, produzindo uma completa e avançada plataforma integrada governamental para desenvolvimento de software colaborativo.
  45 +
  46 +
127 47
128 -The Brazilian government needed to evolve the SPB project that  
129 -existedince 2005. In 2013, when we started this project, the SPB Portal  
130 -had about 200 thousand registered users. We could not just contact these  
131 -users and ask them to register an account at Github as well. Moreover,  
132 -after the Edward Snowden case, the Brazilian government approved a  
133 -specific law decree (8.135/2013) to rule its communication services,  
134 -requiring the public administration to host its information systems to  
135 -be provided by itself, what rules out usage of private platforms,  
136 -specially ones provided by foreign companies. We thus developed our own  
137 -solution to cover all the requirements, producing a complete  
138 -governmental integrated platform for collaborative software development.  
sbqs2017/content/04-architecture.tex
@@ -139,7 +139,7 @@ accordingly to their own context. @@ -139,7 +139,7 @@ accordingly to their own context.
139 139
140 \begin{figure}[hbt] 140 \begin{figure}[hbt]
141 \centering 141 \centering
142 - \includegraphics[width=\linewidth]{figures/arch.png} 142 + \includegraphics[width=.5\linewidth]{figures/arch.png}
143 \caption{SPB architecture overview.} 143 \caption{SPB architecture overview.}
144 \label{fig:architecture} 144 \label{fig:architecture}
145 \end{figure} 145 \end{figure}
sbqs2017/spb.tex
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 12
13 \begin{document} 13 \begin{document}
14 \sloppy 14 \sloppy
15 -\title{Lições aprendidas ao longo do desenvolvimento do novo \\ Portal da Software Público Brasileiro} 15 +\title{Lições aprendidas no desenvolvimento do novo portal do Software Público Brasileiro}
16 16
17 \author{Paulo Meirelles\inst{1,3}, Antonio Terceiro\inst{2}, Melissa Wen\inst{2}, 17 \author{Paulo Meirelles\inst{1,3}, Antonio Terceiro\inst{2}, Melissa Wen\inst{2},
18 \\Rodrigo Siqueira\inst{3}, Hilmer Neri\inst{1}} 18 \\Rodrigo Siqueira\inst{3}, Hilmer Neri\inst{1}}
@@ -42,9 +42,9 @@ @@ -42,9 +42,9 @@
42 \input{content/03-requirements} 42 \input{content/03-requirements}
43 \input{content/04-architecture} 43 \input{content/04-architecture}
44 \input{content/05-features} 44 \input{content/05-features}
45 -\input{content/06-ux} 45 +%\input{content/06-ux}
46 \input{content/07-process} 46 \input{content/07-process}
47 -\input{content/08-contributions} 47 +%\input{content/08-contributions}
48 \input{content/09-lessons} 48 \input{content/09-lessons}
49 49
50 %------------------------------------------------------------------------------ 50 %------------------------------------------------------------------------------