Commit a9aa399f85bac2a779ba081494fad96b02f7f092
1 parent
adead4c4
Exists in
master
and in
3 other branches
SBQS initial version
Showing
6 changed files
with
52 additions
and
298 deletions
Show diff stats
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 | %------------------------------------------------------------------------------ | ... | ... |