Commit a9aa399f85bac2a779ba081494fad96b02f7f092

Authored by Paulo Meireles
1 parent adead4c4

SBQS initial version

sbqs2017/content/00-abstract.tex
1 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 5 \end{abstract}
26 6  
27 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 11 \end{resumo}
... ...
sbqs2017/content/01-introduction.tex
1   -\section{Introduction}
  1 +\section{Introdução}
2 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 12 \begin{figure*}[hbt]
52 13 \centering
53 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 16 \label{fig:spb}
56 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 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 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 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 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 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 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 139  
140 140 \begin{figure}[hbt]
141 141 \centering
142   - \includegraphics[width=\linewidth]{figures/arch.png}
  142 + \includegraphics[width=.5\linewidth]{figures/arch.png}
143 143 \caption{SPB architecture overview.}
144 144 \label{fig:architecture}
145 145 \end{figure}
... ...
sbqs2017/spb.tex
... ... @@ -12,7 +12,7 @@
12 12  
13 13 \begin{document}
14 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 17 \author{Paulo Meirelles\inst{1,3}, Antonio Terceiro\inst{2}, Melissa Wen\inst{2},
18 18 \\Rodrigo Siqueira\inst{3}, Hilmer Neri\inst{1}}
... ... @@ -42,9 +42,9 @@
42 42 \input{content/03-requirements}
43 43 \input{content/04-architecture}
44 44 \input{content/05-features}
45   -\input{content/06-ux}
  45 +%\input{content/06-ux}
46 46 \input{content/07-process}
47   -\input{content/08-contributions}
  47 +%\input{content/08-contributions}
48 48 \input{content/09-lessons}
49 49  
50 50 %------------------------------------------------------------------------------
... ...