Commit ae32d560fd205d9e4078bf233bedf9d17de38acf
1 parent
f5da9c76
Exists in
master
and in
3 other branches
[opensym] minor fixes
Showing
5 changed files
with
36 additions
and
43 deletions
Show diff stats
opensym2017/content/00-abstract.tex
1 | 1 | \begin{abstract} |
2 | 2 | |
3 | 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 Softwares have some differences from FOSS projects, in | |
4 | +Government to foster the sharing and collaboration on Free/Libre/Open Source | |
5 | +Software (FLOSS) solutions for the public administration. In the one hand, | |
6 | +Brazilian Public Softwares have some differences from FLOSS projects, in | |
7 | 7 | particular, the software is considered a public good and the Federal government |
8 | 8 | assumes some responsibilities related to its use. In the other hand, the |
9 | 9 | software development principles are the same: the trend towards |
10 | 10 | decentralization in decision-making, the information and development sharing, |
11 | 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 | |
12 | +on the integration and evolution of existing FLOSS tools. Nowadays, the SPB | |
13 | 13 | Portal provides several modern features for software collaborative development, |
14 | 14 | helping the Brazilian public administration to share its solutions. In this |
15 | 15 | paper, we present this integrated software development platform that was |
16 | 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, | |
17 | +master students, undergraduate students and professionals from FLOSS | |
18 | +communities. The development of this platform used several FLOSS applications, | |
19 | 19 | providing a non-trivial integration among them, as well as, have generated |
20 | 20 | several contributed features back to them. In this experience report, alongside |
21 | 21 | the platform architecture, features, and the user experience efforts carried | ... | ... |
opensym2017/content/01-introduction.tex
... | ... | @@ -3,11 +3,11 @@ |
3 | 3 | |
4 | 4 | The Brazilian Federal Government has been |
5 | 5 | improving 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 | |
6 | +instance, in 2003, the recommendation to adopt Free/Libre/Open Source | |
7 | +Software (FLOSS) become a public policy. In 2007, the Brazilian | |
8 | 8 | Government released a portal named Brazilian Public Software |
9 | 9 | (\textit{Software Público Brasileiro} -- SPB, in Portuguese), with the |
10 | -goal of sharing FOSS projects developed by, or for, the Brazilian | |
10 | +goal of sharing FLOSS projects developed by, or for, the Brazilian | |
11 | 11 | Government. Additionally, the Brazilian legal instrument on software |
12 | 12 | contracting (known as IN 04/2012) mandates that public agents must give |
13 | 13 | priority to solutions available on the SPB Portal. In short, the |
... | ... | @@ -18,12 +18,12 @@ In 2013, the Brazilian Federal Court issued a ruling document |
18 | 18 | agile methodologies in software development contracts with the public |
19 | 19 | administration. |
20 | 20 | |
21 | -Despite of that, in practice, FOSS or agile methodologies, that is, | |
21 | +Despite of that, in practice, free software or agile methodologies, that is, | |
22 | 22 | collaborative and empirical software development methods are not widely |
23 | 23 | practiced and understood by the Brazilian government agents. Thus, the |
24 | 24 | hierarchical and traditional processes from the government and the lack |
25 | 25 | of expertise in real-world software development of its agents produces a |
26 | -situation of inneficient software development contracts and | |
26 | +situation of inefficient software development contracts and | |
27 | 27 | unjustifiable expending of taxpayers' money. |
28 | 28 | |
29 | 29 | % TODO: ^ references |
... | ... | @@ -32,7 +32,7 @@ Since 2009, the SPB Portal was having several technical issues. The original |
32 | 32 | codebase was not being developed anymore, also, there was a large amount of |
33 | 33 | knowingly non-optimal or wrong design decisions to overcome (in other words, |
34 | 34 | technical debt \cite{refactoring}). The system was a modified version of an |
35 | -existing FOSS platform called OpenACS \footnote{\url{http://openacs.org}}, and | |
35 | +existing FLOSS platform called OpenACS \footnote{\url{http://openacs.org}}, and | |
36 | 36 | the old SPB portal was not being updated anymore against the official OpenACS |
37 | 37 | releases. In this scenario, the portal maintenance has become increasingly |
38 | 38 | difficult. |
... | ... | @@ -59,7 +59,7 @@ the Brazilian Federal Government a total of 2,619,965.00 BRL (about |
59 | 59 | The project was developed by a team of 3 professors, 2 masters students, and |
60 | 60 | approximately 50 undergraduate students (not all of them at the same time, |
61 | 61 | though -- graduations and other events triggered changes in the team) together |
62 | -with 2 professional designers and 6 senior developers from the FOSS | |
62 | +with 2 professional designers and 6 senior developers from free software | |
63 | 63 | communities. The professors and all undergraduate student were from UnB, and |
64 | 64 | the master students were from USP. Regarding the designers and senior |
65 | 65 | developers, 7 of 8 they were living outside of Brasília: Curitiba/Brazil, São |
... | ... | @@ -69,18 +69,18 @@ distributed collaborative virtual environment. |
69 | 69 | |
70 | 70 | Figure \ref{fig:spb} shows the home page of this integrated platform. |
71 | 71 | All development was done in the open, and the changes we needed in the |
72 | -FOSS tools were contributed back to their respective communities. Our | |
73 | -process was based on agile practices and FOSS communities interaction. | |
72 | +FLOSS tools were contributed back to their respective communities. Our | |
73 | +process was based on agile practices and FLOSS communities interaction. | |
74 | 74 | We defined development cycles and released 5 versions of the new SPB |
75 | 75 | Portal. The first release (beta) was in September 2014, only 9 months |
76 | -from the beginning of the project. The old portal was shut down down in | |
77 | -September 2015. Finally, the last version illustrated in Figure 1 was | |
76 | +from the beginning of the project. The old portal was shut down in | |
77 | +September 2015. Finally, the last version, illustrated in Figure 1, was | |
78 | 78 | released in June 2016. |
79 | 79 | |
80 | 80 | In this paper, we present an overview of this new generation of the SPB |
81 | 81 | Portal. The paper shares the methodology employed to develop this project, |
82 | 82 | in partnership with the Brazilian Federal Government, to comply with its |
83 | -requirements at the same time to be as faithful as possible to FOSS development. | |
83 | +requirements at the same time to be as faithful as possible to FLOSS development. | |
84 | 84 | Moreover, we discuss several lessons learned to provide a distributed |
85 | 85 | collaborative virtual environment involving a large undergraduate student team |
86 | 86 | and remote senior developers. Lastly, we released an unprecedented platform for | ... | ... |
opensym2017/content/02-spb.tex
... | ... | @@ -6,15 +6,15 @@ that we now identify as free software, that is, sharing code openly. This |
6 | 6 | openness makes the code available for inspection, modification, and use by any |
7 | 7 | person or organization \cite{hippel2003,kon2012}. |
8 | 8 | |
9 | -The elements that distinguish FOSS from other types of software are the | |
9 | +The elements that distinguish FLOSS from other types of software are the | |
10 | 10 | reasoning about the development process, the economic context, the relationship |
11 | 11 | between developers and users, as well as the ethical and legal characteristics |
12 | -that relate to the software. In the context of FOSS, user freedom is promoted | |
12 | +that relate to the software. In the context of FLOSS, user freedom is promoted | |
13 | 13 | and its development is based on open collaboration and development practices |
14 | 14 | \cite{meirelles2013}. |
15 | 15 | |
16 | 16 | From the economic point of view, unlike what happens with proprietary software, |
17 | -FOSS promotes the establishment of several suppliers that can compete with each | |
17 | +FLOSS promotes the establishment of several suppliers that can compete with each | |
18 | 18 | other based on the same software. This stronger competition among suppliers |
19 | 19 | brings benefits to users because it gives better assurances regarding the |
20 | 20 | evolution of the system and induces a reduction in prices \cite{kon2012}. These |
... | ... | @@ -23,9 +23,9 @@ freedoms and assurances on software are guaranteed in Brazil by Law 9610/98 |
23 | 23 | the terms conferred by a contract related to certain software. This contract is |
24 | 24 | called ``license''. A software license determines a list of rights that are |
25 | 25 | given to, and duties that are imposed on a user of the software. In particular, |
26 | -what differentiates FOSS from proprietary software is just the way they are | |
27 | -licensed \cite{sabino2009}. The FOSS licenses guarantee the right to execute, | |
28 | -study, adapt, and improve the software. Example of common FOSS licenses are | |
26 | +what differentiates FLOSS from proprietary software is just the way they are | |
27 | +licensed \cite{sabino2009}. The FLOSS licenses guarantee the right to execute, | |
28 | +study, adapt, and improve the software. Example of common FLOSS licenses are | |
29 | 29 | the \textit{GPL (GNU General Public License)}, the Apache license, the MIT |
30 | 30 | license, and the BSD license. |
31 | 31 | |
... | ... | @@ -35,7 +35,7 @@ that has consolidated itself as an environment for sharing software |
35 | 35 | projects. It provides a space (community) for each software. |
36 | 36 | Therefore, it was designed to include tools that promote collaboration |
37 | 37 | and interaction in communities (by managers, users, and developers) of |
38 | -the projects, according to the practices used in FOSS communities. This | |
38 | +the projects, according to the practices used in FLOSS communities. This | |
39 | 39 | includes mailing lists, discussion forums, issue trackers, version |
40 | 40 | control systems, and social networking environments. |
41 | 41 | |
... | ... | @@ -47,11 +47,11 @@ results obtained through the use of those solutions. In this way, some software |
47 | 47 | development cooperatives and private companies have shown an interest in making |
48 | 48 | their software available on the SPB platform. |
49 | 49 | |
50 | -The concept of Brazilian Public Software goes beyond FOSS. In addition | |
51 | -to being licensed under a FOSS license, a SPB needs to have explicit | |
50 | +The concept of Brazilian Public Software goes beyond FLOSS. In addition | |
51 | +to being licensed under a FLOSS license, a Brazilian public software needs to have explicit | |
52 | 52 | guarantees that it is a public good, and that project must be available |
53 | 53 | on the SPB portal. Being a true public good assumes requirements that |
54 | -can not be met solely by means of FOSS licensing. For example, there | |
54 | +can not be met solely by means of FLOSS licensing. For example, there | |
55 | 55 | must be a relaxed trademark usage policy by the original vendor that |
56 | 56 | does not stop eventual competitors from advertising services for that |
57 | 57 | same software. Inclusion in the SPB Portal also has extra requirements, | ... | ... |
opensym2017/content/03-relatedworks.tex
... | ... | @@ -2,9 +2,10 @@ |
2 | 2 | \label{sec:relatedwork} |
3 | 3 | |
4 | 4 | The new SPB platform presented in this paper is a fully integrated |
5 | -environment, as we can see in Figure \ref{fig:requirements}, being very | |
6 | -advanced in comparison with related projects and initiatives. For example, | |
7 | -the USA government has a platform designed to improve access to the federal | |
5 | +environment, being very | |
6 | +advanced in comparison with related projects and initiatives. | |
7 | + | |
8 | +The USA government has a platform designed to improve access to the federal | |
8 | 9 | government developed software\footnote{\url{https://code.gov}}. Code.gov |
9 | 10 | is an interface to organize the USA government projects and, in short, make |
10 | 11 | it easy for users and developers to obtain information and access their |
... | ... | @@ -30,7 +31,7 @@ business applications, cloud computing platforms and foster a community and |
30 | 31 | business ecosystem. In short, it aims to support the development, deployment |
31 | 32 | and management of distributed applications with a focus on FOSS middleware and |
32 | 33 | related development and management tools. |
33 | -% | |
34 | + | |
34 | 35 | Moreover, from the European Commission in 2007 until 20011, there was the |
35 | 36 | QualiPSo project that aimed at providing FOSS users, developers, and consumers, |
36 | 37 | with quality resources and expertise on the various topics related to FOSS. The |
... | ... | @@ -49,10 +50,10 @@ source code repositories are available at the Bitbucket |
49 | 50 | platform\footnote{\url{https://bitbucket.org/softwarepublico}}. |
50 | 51 | |
51 | 52 | The Brazilian government needed to evolve the SPB project that |
52 | -existed since 2005. In 2013, when we started this project, the SPB Portal | |
53 | -had about 200 thousand registered users. We could not just contact these | |
53 | +existed since 2005. When we started this project, the SPB Portal | |
54 | +had about 200 thousand registered users. For example, we could not just contact these | |
54 | 55 | users and ask them to register an account at Github as well. Moreover, |
55 | -after the Edward Snowden case, the Brazilian government approved a | |
56 | +after the Edward Snowden's case, the Brazilian government approved a | |
56 | 57 | specific law decree (8.135/2013) to rule its communication services, |
57 | 58 | requiring the public administration to host its information systems to |
58 | 59 | be provided by itself, what rules out usage of private platforms, | ... | ... |
opensym2017/content/06-architecture.tex
1 | 1 | \section{Architecture} |
2 | 2 | \label{sec:architecture} |
3 | 3 | |
4 | -Based on the extensive list of functional requirements defined by the | |
5 | -Brazilian Federal Government, we selected some FOSS systems to form our | |
6 | -solution. We looked for system that together could provide the largest | |
7 | -subset possible of the requirements, and were fully aware that we would | |
8 | -need to improve those systems in order to provide the rest. We were also | |
9 | -convinced that it would be impossible to provide all of those | |
10 | -requirements with a single tool. | |
11 | - | |
12 | 4 | From the point of view of the architecture, two main requirements was |
13 | 5 | brought by the Brazilian Federal Government for the new platform: |
14 | 6 | ... | ... |