Compare View
Commits (2)
Showing
2 changed files
Show diff stats
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 |