Compare View

switch
from
...
to
 
Commits (2)
opensym2017/content/01-introduction.tex
1 \section{Introduction} 1 \section{Introduction}
2 \label{sec:intro} 2 \label{sec:intro}
3 3
4 -During the last few decades, the Brazilian Federal Government tries to change  
5 -its software adoption and development processes. For instance, in 2003, the  
6 -recommendation to adopt Free and Open Source Software (FOSS) become a public  
7 -policy. In 2007, the Brazilian Government released a portal named Brazilian  
8 -Public Software (\textit{Software Público Brasileiro} -- SPB, in Portuguese),  
9 -with the goal of sharing FOSS projects developed by, or for, the Brazilian 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
10 Government. Additionally, the Brazilian legal instrument on software 11 Government. Additionally, the Brazilian legal instrument on software
11 -contracting (known as IN 04/2012) mandates that public management must consult  
12 -the SPB Portal to adopt a software solution. In short, the acquisition of a  
13 -proprietary solution must be explicitly justified by demonstrating that there  
14 -is no suitable option in the SPB Portal. Lastly, in 2013, the Brazilian Federal  
15 -Court issued a ruling document (\textit{Acórdão 2314/2013}) about an audit  
16 -survey regarding the use of agile methodologies in software development  
17 -contracts with the public administration. 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.
18 20
19 -Despite of that, in fact, FOSS or agile methodologies, that is, collaborative  
20 -and empirical software development methods are not widely practiced and  
21 -understood by the Brazilian government agents. Thus, the hierarchical and  
22 -traditional processes from the government and the lack of expertises in  
23 -real-world software development of its agent ... (bater e fazer um link com o  
24 -restante) 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.
25 28
26 -... 29 +% TODO: ^ references
27 30
28 -Since 2009, the SPB Portal was having several technical  
29 -issues. The original codebase was not being developed anymore, and there was a  
30 -large amount of technical debt to overcome. The system was a modified version  
31 -of an existing FOSS platform (called  
32 -OpenACS\footnote{\url{http://openacs.org}}) and the old SPB portal was not  
33 -being updated anymore with its official releases. In this scenario, the portal  
34 -maintenance was becoming harder and harder. 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.
35 38
36 -Afterward some events and meetings to collect all requirements from the federal  
37 -government and society, a new platform for the SPB Portal was developed, among  
38 -January 2014 and June 2016, by the University of Brasília (UnB) and the  
39 -University of São Paulo (USP) in a partnership with the Brazilian Ministry of  
40 -Budget, Planning, and Management (MP). It was designed it as an integrated  
41 -platform for collaborative software development. It includes functionality for  
42 -social networking, mailing lists, version control system, and source code  
43 -quality monitoring. To coordinate and develop this project during 30 months,  
44 -UnB received from the Brazilian Federal Government a total of 2,619,965.00 BRL  
45 -(about 750,000.00 USD in June 2016). 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).
46 50
47 \begin{figure*}[hbt] 51 \begin{figure*}[hbt]
48 \centering 52 \centering
@@ -62,25 +66,27 @@ Paulo/Brazil, Ribeirão Preto/Brazil, Salvador/Brazil, Punta Cana/Dominican @@ -62,25 +66,27 @@ Paulo/Brazil, Ribeirão Preto/Brazil, Salvador/Brazil, Punta Cana/Dominican
62 Republic, and Montreal/Canada. In other words, we had a team working in 66 Republic, and Montreal/Canada. In other words, we had a team working in
63 distributed collaborative virtual environment. 67 distributed collaborative virtual environment.
64 68
65 -Figure \ref{fig:spb} shows the home page of this integrated platform. All  
66 -development was done in the open, and the changes we needed in the FOSS tools  
67 -were contributed back to their communities. Our process was based on agile  
68 -practices and FOSS communities interaction. We defined development cycles and  
69 -released 5 versions of the new SPB Portal. The first release (beta) was in  
70 -September 2014, only 9 months from the begin of the project. We migrated and  
71 -turned off the old portal in September 2015. Finally, the last version  
72 -illustrated in Figure 1 was released in June 2016. 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.
73 78
74 -In this paper, we present an overview of this new generation of the SPB Portal.  
75 -Alongside, this experience report shares our methodology and process to develop  
76 -this project working with the Brazilian federal government to comply with its  
77 -requirements at the same time to be as faithful as possible to FOSS  
78 -development. Moreover, we discuss several lessons learned to provide a  
79 -distributed collaborative virtual environment involving a large undergraduate  
80 -student team and remote senior developers. Lastly, we released an unprecedented  
81 -platform for the Brazilian government applying empirical software development  
82 -methods. This case can help other projects overcome a lot of software  
83 -engineering challenges in the future, as well as, how the universities take  
84 -advances to improve the real-world experiences of their student with these  
85 -kinds of projects. 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.
86 92
opensym2017/content/02-spb.tex
@@ -2,9 +2,9 @@ @@ -2,9 +2,9 @@
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 4 FOSS is a phenomenon that has gained notoriety in recent years and has been
5 -attarcting the interest of academia. However, since the beginning of computing 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 6 the majority of developers worked in the way that we now identify as free
7 -software, that is, sharing code openly. This feature makes the code available 7 +software, that is, sharing code openly. This openness makes the code available
8 for inspection, modification, and use by any person or organization 8 for inspection, modification, and use by any person or organization
9 \cite{hippel2003,kon2012}. 9 \cite{hippel2003,kon2012}.
10 10
@@ -16,7 +16,7 @@ and its development is based on open collaboration and development practices @@ -16,7 +16,7 @@ and its development is based on open collaboration and development practices
16 \cite{meirelles2013}. 16 \cite{meirelles2013}.
17 17
18 From the economic point of view, unlike what happens with proprietary software, 18 From the economic point of view, unlike what happens with proprietary software,
19 -FOSS promotes the establishment of several suppliers that compete with each 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 20 other based on the same software. This stronger competition among suppliers
21 brings benefits to users because it gives better assurances regarding the 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 22 evolution of the system and induces a reduction in prices \cite{kon2012}. These
@@ -31,14 +31,15 @@ study, adapt, and improve the software. Example of common FOSS licenses are @@ -31,14 +31,15 @@ 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 31 the \textit{GPL (GNU General Public License)}, the Apache license, the MIT
32 license, and the BSD license. 32 license, and the BSD license.
33 33
34 -The SPB portal has been designed in 2005 and released in 2007. In a practical  
35 -view, it is a web system that has consolidated itself as a software project  
36 -sharing environment. It provides a space (community) for each software.  
37 -Therefore, the current platform for SPB was designed to include tools that  
38 -promote collaboration and interaction in communities (by managers, users, and  
39 -developers) of the projects, according to the practices used in FOSS  
40 -communities. This includes e-mail lists, discussion forums, issue trackers,  
41 -version control systems, and social networking environments. 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.
42 43
43 Initially, the purpose of the portal was only to share the software developed 44 Initially, the purpose of the portal was only to share the software developed
44 in the Brazilian government, to reduce the costs of hiring software. However, 45 in the Brazilian government, to reduce the costs of hiring software. However,
@@ -48,13 +49,14 @@ results obtained through the use of those solutions. In this way, some software @@ -48,13 +49,14 @@ results obtained through the use of those solutions. In this way, some software
48 development cooperatives and private companies have shown an interest in making 49 development cooperatives and private companies have shown an interest in making
49 their software available on the SPB platform. 50 their software available on the SPB platform.
50 51
51 -The concept of Brazilian Public Software goes beyond FOSS. In addition to being  
52 -licensed under a FOSS license, a SPB needs to have explicit guarantees that it  
53 -is a public good, and that project must be available in the SPB portal. Being a  
54 -true public good assumes requirements that can not be met solely by means of  
55 -FOSS licensing. For example, there must be a relaxed trademark usage policy by  
56 -the original vendor that do not stop eventual competitors from adversiting  
57 -services for that same software. Inclusion in the SPB project also has extra  
58 -requirements, such as having a public version control system, installation  
59 -manual, and hardware requirements specification. 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.
60 62