03-requirements.tex
7.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
\section{Requirements}
\label{sec:requirements}
In 2013, the SPB Portal had more than 600 thousand unique visitors, generating
more than 16 million page views with about 50 million hits. By evaluating only
the main projects, there were more than 15 thousand downloads and 4 thousand
messages exchanged in their forums. This data illustrates the potential of the
SPB Portal, even with some limitations in the past.
By preparing the evolution project described in this paper, the Brazilian
government promote 3 events to collect the requirements, in particular from
society point of view: (i) an online form to collect general ideas; (ii) a
face-to-face meeting with society in general; (iii) a workshop to review the
SPB concepts and requirements with IT stakeholders from the Brazilian
government and public organizations.
After these 3 rounds discussing the new SPB platform, the Brazilian government listed
about 145 requirements and developed a mind
model\footnote{\url{https://softwarepublico.gov.br/social/spb/gallery/mapaconceitual.png}}
to guide the SPB portal evolution. In this scenario, the 10 most voted
requirements are, for example:
\begin{enumerate}
\item Source code repository with public access.
\item Visit community pages without login.
\item Distributed version control system.
\item Scores of users and developers collaboration.
\item Search software by features.
\item Integration with social networks.
\item Repository for future ideas and requirements.
\item Friendly URL to access a public software community page.
\item User feedback about a public software.
\item Report of the experience about the use of a public software.
\end{enumerate}
\begin{figure}[hbt]
\centering
\includegraphics[width=.6\linewidth]{figures/technological-requirements.png}
\caption{Technological requirements overview.}
\label{fig:requirements}
\end{figure}
Moreover, there were other requirements based on the experience of the IT
stakeholders from the Brazilian government and from the Brazilian FOSS
community (that UnB and USP were representing too in this project). The new
platform just could work properly if there is a unique authentication to use
the provided tools. Additionally, a unified
interface was an important non-functional requirement to make easy the user
experience into the new platform.
At the first moment, we wish to release an initial version to replace the old
SPB portal. For that, the first version must have some features such as:
\begin{enumerate}
\item Organized public software catalog.
\item Social network environment (profiles for users, software pages, and community pages).
\item Content Management Systems (CMS) features.
\item Web-based Git repository manager with wiki and issue tracking features.
\item Mailing lists and discussion forums.
\end{enumerate}
Other requirements also were planned during the conception phase of the SPB
evolution project such as an integrated search engine and a web-based source
code static analysis monitor. Therefore, by analyzing all of these
requirements, we propose the technological requirements overview, as
illustrated in Figure \ref{fig:requirements}, to guide the development of the
new SPB platform. In other words, we have designed the SPB evolution project
based on existing FOSS tools. However, the integration of several existing
systems that already was implemented in different programming language and
frameworks, adding features such as a unique authentication, a unified
interface, and a search engine, as well as, other back-end features, is not a
trivial work.
The new SPB platform is fully an integrated environment, as we can see in
Figure \ref{fig:requirements}, being very advanced comparing to other related
projects and initiatives. For example, the USA government has a platform
designed to improve access to the federal government developed
software\footnote{\url{https://code.gov}}. Code.gov is an interface to
organize the USA government projects and, in short, make easy that their users
and developers obtain some information and access their source code
repositories at GitHub. However, there are not social networking and CMS
features, as well as, other communication resources provided by that platform.
Also, there are two initiatives in Europe:
OSOR\footnote{\url{https://joinup.ec.europa.eu/community/osor}} and
OW2\footnote{\url{http://ow2.org}}. The Open Source Observatory (OSOR) is a
community hosted in the JoinUp platform powereded by the European Commission.
OSOR aims exchanging information, experiences and best practices around FOSS
solutions for use in public administrations. Summarily, it helps to find a FOSS
made available by other public administrations, providing access to information
such as news, events, studies and solutions related to implementation of open
source software. It also offers forum discussions and community mailing lists,
but it does not have an integrated source code repository manager and for the
each project has a link to its own external repository (or its tarball file).
%
OW2 is a FOSS community to promote the development of FOSS middleware, generic
business applications, cloud computing platforms and foster a community and
business ecosystem. In short, it aims to support the development, deployment
and management of distributed applications with a focus on FOSS middleware and
related development and management tools.
%
Moreover, from the European Commission in 2007 until 20011, there were the
QualiPSo project that aims to provide to FOSS users, developers, and consumers,
quality resources and expertise on the various topics related to FOSS. The
QualiPSo project also had planned to develop a platform called QualiPSo
Factory but it was not fully completed.
In Latin American has an initiative based on the SPB project called Software
Publico Regional\footnote{\url{http://softwarepublicoregionalbeta.net}}. From
the practical point of view, it provides a customized Gitlab instance to share
the source code and documentation of the project from the involved countries.
%
Such as Brazil, Chile has its own portal also called Software
Publico\footnote{\url{http://www.softwarepublico.gob.cl}}. The user can create
content in the communities (news items, documents, wiki pages), but all
repository is available at the Bitbucket
platform\footnote{\url{https://bitbucket.org/softwarepublico}}.
The Brazilian government needed to evolute the SPB project that exists since
2005. In 2013, when we started this project, the SPB Portal had about 200
thousand registered users. We could not just contact these users and ask them
to register an account at Github as well. Moreover, after the Edward Snowden
case, the Brazilian government approved a specific law decree (8.135/2013) to
rule its communication service. Summarily, services like Gmail, Google Drive,
Dropbox, Live, Outlook, iCloud, as well, Google Groups, Github, etc do not
could be used by a Brazilian public agent as tool for your work. To use these
kinds of services the Brazilian government needs to provide them to itself.
Thus, we developed our own solution to cover all the requirements, producing a
complete governmental integrated platform for collaborative software
development.