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 | \begin{abstract} | 1 | \begin{abstract} |
2 | 2 | ||
3 | The Brazilian Public Software (SPB) is a program by the Brazilian Federal | 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 | particular, the software is considered a public good and the Federal government | 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 | 8 | assumes some responsibilities related to its use. In the other hand, the |
9 | software development principles are the same: the trend towards | 9 | software development principles are the same: the trend towards |
10 | decentralization in decision-making, the information and development sharing, | 10 | decentralization in decision-making, the information and development sharing, |
11 | and the continuous feedback. In this context, we have designed a platform based | 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 | Portal provides several modern features for software collaborative development, | 13 | Portal provides several modern features for software collaborative development, |
14 | helping the Brazilian public administration to share its solutions. In this | 14 | helping the Brazilian public administration to share its solutions. In this |
15 | paper, we present this integrated software development platform that was | 15 | paper, we present this integrated software development platform that was |
16 | developed for the program by a heterogeneous team composed by professors, | 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 | providing a non-trivial integration among them, as well as, have generated | 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 | 20 | several contributed features back to them. In this experience report, alongside |
21 | the platform architecture, features, and the user experience efforts carried | 21 | the platform architecture, features, and the user experience efforts carried |
opensym2017/content/01-introduction.tex
@@ -3,11 +3,11 @@ | @@ -3,11 +3,11 @@ | ||
3 | 3 | ||
4 | The Brazilian Federal Government has been | 4 | The Brazilian Federal Government has been |
5 | improving its software adoption and development processes. For | 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 | Government released a portal named Brazilian Public Software | 8 | Government released a portal named Brazilian Public Software |
9 | (\textit{Software Público Brasileiro} -- SPB, in Portuguese), with the | 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 | Government. Additionally, the Brazilian legal instrument on software | 11 | Government. Additionally, the Brazilian legal instrument on software |
12 | contracting (known as IN 04/2012) mandates that public agents must give | 12 | contracting (known as IN 04/2012) mandates that public agents must give |
13 | priority to solutions available on the SPB Portal. In short, the | 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,12 +18,12 @@ In 2013, the Brazilian Federal Court issued a ruling document | ||
18 | agile methodologies in software development contracts with the public | 18 | agile methodologies in software development contracts with the public |
19 | administration. | 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 | collaborative and empirical software development methods are not widely | 22 | collaborative and empirical software development methods are not widely |
23 | practiced and understood by the Brazilian government agents. Thus, the | 23 | practiced and understood by the Brazilian government agents. Thus, the |
24 | hierarchical and traditional processes from the government and the lack | 24 | hierarchical and traditional processes from the government and the lack |
25 | of expertise in real-world software development of its agents produces a | 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 | unjustifiable expending of taxpayers' money. | 27 | unjustifiable expending of taxpayers' money. |
28 | 28 | ||
29 | % TODO: ^ references | 29 | % TODO: ^ references |
@@ -32,7 +32,7 @@ Since 2009, the SPB Portal was having several technical issues. The original | @@ -32,7 +32,7 @@ Since 2009, the SPB Portal was having several technical issues. The original | ||
32 | codebase was not being developed anymore, also, there was a large amount of | 32 | codebase was not being developed anymore, also, there was a large amount of |
33 | knowingly non-optimal or wrong design decisions to overcome (in other words, | 33 | knowingly non-optimal or wrong design decisions to overcome (in other words, |
34 | technical debt \cite{refactoring}). The system was a modified version of an | 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 | the old SPB portal was not being updated anymore against the official OpenACS | 36 | the old SPB portal was not being updated anymore against the official OpenACS |
37 | releases. In this scenario, the portal maintenance has become increasingly | 37 | releases. In this scenario, the portal maintenance has become increasingly |
38 | difficult. | 38 | difficult. |
@@ -59,7 +59,7 @@ the Brazilian Federal Government a total of 2,619,965.00 BRL (about | @@ -59,7 +59,7 @@ the Brazilian Federal Government a total of 2,619,965.00 BRL (about | ||
59 | The project was developed by a team of 3 professors, 2 masters students, and | 59 | The project was developed by a team of 3 professors, 2 masters students, and |
60 | approximately 50 undergraduate students (not all of them at the same time, | 60 | approximately 50 undergraduate students (not all of them at the same time, |
61 | though -- graduations and other events triggered changes in the team) together | 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 | communities. The professors and all undergraduate student were from UnB, and | 63 | communities. The professors and all undergraduate student were from UnB, and |
64 | the master students were from USP. Regarding the designers and senior | 64 | the master students were from USP. Regarding the designers and senior |
65 | developers, 7 of 8 they were living outside of Brasília: Curitiba/Brazil, São | 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,18 +69,18 @@ distributed collaborative virtual environment. | ||
69 | 69 | ||
70 | Figure \ref{fig:spb} shows the home page of this integrated platform. | 70 | Figure \ref{fig:spb} shows the home page of this integrated platform. |
71 | All development was done in the open, and the changes we needed in the | 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 | We defined development cycles and released 5 versions of the new SPB | 74 | We defined development cycles and released 5 versions of the new SPB |
75 | Portal. The first release (beta) was in September 2014, only 9 months | 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 | released in June 2016. | 78 | released in June 2016. |
79 | 79 | ||
80 | In this paper, we present an overview of this new generation of the SPB | 80 | In this paper, we present an overview of this new generation of the SPB |
81 | Portal. The paper shares the methodology employed to develop this project, | 81 | Portal. The paper shares the methodology employed to develop this project, |
82 | in partnership with the Brazilian Federal Government, to comply with its | 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 | Moreover, we discuss several lessons learned to provide a distributed | 84 | Moreover, we discuss several lessons learned to provide a distributed |
85 | collaborative virtual environment involving a large undergraduate student team | 85 | collaborative virtual environment involving a large undergraduate student team |
86 | and remote senior developers. Lastly, we released an unprecedented platform for | 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,15 +6,15 @@ that we now identify as free software, that is, sharing code openly. This | ||
6 | openness makes the code available for inspection, modification, and use by any | 6 | openness makes the code available for inspection, modification, and use by any |
7 | person or organization \cite{hippel2003,kon2012}. | 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 | reasoning about the development process, the economic context, the relationship | 10 | reasoning about the development process, the economic context, the relationship |
11 | between developers and users, as well as the ethical and legal characteristics | 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 | and its development is based on open collaboration and development practices | 13 | and its development is based on open collaboration and development practices |
14 | \cite{meirelles2013}. | 14 | \cite{meirelles2013}. |
15 | 15 | ||
16 | From the economic point of view, unlike what happens with proprietary software, | 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 | other based on the same software. This stronger competition among suppliers | 18 | other based on the same software. This stronger competition among suppliers |
19 | brings benefits to users because it gives better assurances regarding the | 19 | brings benefits to users because it gives better assurances regarding the |
20 | evolution of the system and induces a reduction in prices \cite{kon2012}. These | 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,9 +23,9 @@ freedoms and assurances on software are guaranteed in Brazil by Law 9610/98 | ||
23 | the terms conferred by a contract related to certain software. This contract is | 23 | the terms conferred by a contract related to certain software. This contract is |
24 | called ``license''. A software license determines a list of rights that are | 24 | called ``license''. A software license determines a list of rights that are |
25 | given to, and duties that are imposed on a user of the software. In particular, | 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 | the \textit{GPL (GNU General Public License)}, the Apache license, the MIT | 29 | the \textit{GPL (GNU General Public License)}, the Apache license, the MIT |
30 | license, and the BSD license. | 30 | license, and the BSD license. |
31 | 31 | ||
@@ -35,7 +35,7 @@ that has consolidated itself as an environment for sharing software | @@ -35,7 +35,7 @@ that has consolidated itself as an environment for sharing software | ||
35 | projects. It provides a space (community) for each software. | 35 | projects. It provides a space (community) for each software. |
36 | Therefore, it was designed to include tools that promote collaboration | 36 | Therefore, it was designed to include tools that promote collaboration |
37 | and interaction in communities (by managers, users, and developers) of | 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 | includes mailing lists, discussion forums, issue trackers, version | 39 | includes mailing lists, discussion forums, issue trackers, version |
40 | control systems, and social networking environments. | 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,11 +47,11 @@ results obtained through the use of those solutions. In this way, some software | ||
47 | development cooperatives and private companies have shown an interest in making | 47 | development cooperatives and private companies have shown an interest in making |
48 | their software available on the SPB platform. | 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 | guarantees that it is a public good, and that project must be available | 52 | guarantees that it is a public good, and that project must be available |
53 | on the SPB portal. Being a true public good assumes requirements that | 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 | must be a relaxed trademark usage policy by the original vendor that | 55 | must be a relaxed trademark usage policy by the original vendor that |
56 | does not stop eventual competitors from advertising services for that | 56 | does not stop eventual competitors from advertising services for that |
57 | same software. Inclusion in the SPB Portal also has extra requirements, | 57 | same software. Inclusion in the SPB Portal also has extra requirements, |
opensym2017/content/03-relatedworks.tex
@@ -2,9 +2,10 @@ | @@ -2,9 +2,10 @@ | ||
2 | \label{sec:relatedwork} | 2 | \label{sec:relatedwork} |
3 | 3 | ||
4 | The new SPB platform presented in this paper is a fully integrated | 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 | government developed software\footnote{\url{https://code.gov}}. Code.gov | 9 | government developed software\footnote{\url{https://code.gov}}. Code.gov |
9 | is an interface to organize the USA government projects and, in short, make | 10 | is an interface to organize the USA government projects and, in short, make |
10 | it easy for users and developers to obtain information and access their | 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,7 +31,7 @@ business applications, cloud computing platforms and foster a community and | ||
30 | business ecosystem. In short, it aims to support the development, deployment | 31 | business ecosystem. In short, it aims to support the development, deployment |
31 | and management of distributed applications with a focus on FOSS middleware and | 32 | and management of distributed applications with a focus on FOSS middleware and |
32 | related development and management tools. | 33 | related development and management tools. |
33 | -% | 34 | + |
34 | Moreover, from the European Commission in 2007 until 20011, there was the | 35 | Moreover, from the European Commission in 2007 until 20011, there was the |
35 | QualiPSo project that aimed at providing FOSS users, developers, and consumers, | 36 | QualiPSo project that aimed at providing FOSS users, developers, and consumers, |
36 | with quality resources and expertise on the various topics related to FOSS. The | 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,10 +50,10 @@ source code repositories are available at the Bitbucket | ||
49 | platform\footnote{\url{https://bitbucket.org/softwarepublico}}. | 50 | platform\footnote{\url{https://bitbucket.org/softwarepublico}}. |
50 | 51 | ||
51 | The Brazilian government needed to evolve the SPB project that | 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 | users and ask them to register an account at Github as well. Moreover, | 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 | specific law decree (8.135/2013) to rule its communication services, | 57 | specific law decree (8.135/2013) to rule its communication services, |
57 | requiring the public administration to host its information systems to | 58 | requiring the public administration to host its information systems to |
58 | be provided by itself, what rules out usage of private platforms, | 59 | be provided by itself, what rules out usage of private platforms, |
opensym2017/content/06-architecture.tex
1 | \section{Architecture} | 1 | \section{Architecture} |
2 | \label{sec:architecture} | 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 | From the point of view of the architecture, two main requirements was | 4 | From the point of view of the architecture, two main requirements was |
13 | brought by the Brazilian Federal Government for the new platform: | 5 | brought by the Brazilian Federal Government for the new platform: |
14 | 6 |