diff --git a/opensym2017/content/01-introduction.tex b/opensym2017/content/01-introduction.tex index e06f683..372dd96 100644 --- a/opensym2017/content/01-introduction.tex +++ b/opensym2017/content/01-introduction.tex @@ -6,9 +6,9 @@ program (eGov) aiming at democratizing information access and improving the public provision quality of service and information. % In 2003, the Federal Government created a committee for implementation of -Free/Libre/Open Source Software (FLOSS)\footnote{Free Software, Open Source, or Free/Open Source Software.} and thereafter a -circular-letter was sent to all Ministries in which the recommendation to adopt -FLOSS became a public policy. +Free/Libre/Open Source Software (FLOSS)\footnote{Free Software, Open Source, or +Free/Open Source Software.} and thereafter a circular-letter was sent to all +Ministries in which the recommendation to adopt FLOSS became a public policy. % In 2007, the Brazilian Public Software Portal (\textit{Portal do Software Público Brasileiro}, in Portuguese) was released with the goal of sharing FLOSS diff --git a/opensym2017/content/05-requirements.tex b/opensym2017/content/05-requirements.tex index 638623c..9faa509 100644 --- a/opensym2017/content/05-requirements.tex +++ b/opensym2017/content/05-requirements.tex @@ -1,66 +1,51 @@ \section{Requirements} \label{sec:requirements} -\begin{comment} -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. These data illustrates the potential of the -SPB Portal, even with several limitations in the past. -\end{comment} - -By preparing the evolution project described in this paper, the Brazilian -government promoted 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. The 10 most voted requirements were: -(i) Source code repository with public access; -(ii) Visit community pages without login; -(iii) Distributed version control system; -(iv) Scores of users and developers collaboration; -(v) Search software by features; -(vi) Integration with social networks; -(vii) Repository for future ideas and requirements; -(viii) Friendly URL to access a public software community page; -(ix) User feedback about a public software; -(x) Report of the experience about the use of a public software. - -%\begin{figure}[hbt] -% \centering -% \includegraphics[width=\linewidth]{figures/technological-requirements.png} -% \caption{Technological requirements.} -% \label{fig:requirements} -%\end{figure} - - -There were other requirements based on the experience of the IT -stakeholders from the Brazilian government and from the Brazilian FLOSS -community (that UnB and USP were representing too in this project). The -new platform would only work properly if there is a unique -authentication to use the provided tools. Additionally, a unified -interface was an important non-functional requirement to have a better -user experience in the new platform. - -At the first moment, we desired to release an initial version that could -replace the old SPB portal. For that, the first version should have -features such as: -(i) An organized public software catalog; -(ii) Social network environment (profiles for users, software pages, and community pages); -(iii) CMS features; -(iv) Web-based Git repository manager with wiki and issue tracking features; -(v) Mailing lists and discussion forums; - -Other requirements were also 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. By analyzing all of these -requirements, we have designed the SPB evolution -project based on existing FLOSS tools. However, the integration of -several existing systems that were already implemented in different -programming languages and frameworks, adding features such as a -centralized authentication, unified interface, and a search engine, as -well as, other back-end features, would require a non-trivial amount of -work. +By preparing the evolution the SPB Portal, the Brazilian Government executed +three steps to collect the requirements, in particular from society point of +view. The first step consisted in order to collect proposals using an online +tool called Pligg \footnote{\url{https://pligg.com}} and share them openly on +the Internet. The citizens were able to write proposals as well as vote on +those that most interested them. At the end of this step. the Brazilian +Government collected about 100 proposals and the initial perspective was to +prioritize the most voted of them to be implemented for the new SPB Portal. + +The second step was two open face-to-face meetings that aimed to discuss ideas +(not necessarily based on the proposals collect during the first step) to +improve the SPB Portal and its specific environments. At the first day, the +participants were divided in two groups to discuss (i) features and +technologies as well as (ii) user experience and ideas in general regarding to +SPB. Each group generated a mind map to summarize and correlated its ideas. +During the second day, the participants were allocated in three groups to +discuss features related to (i) the process of software evaluation and +acceptance in the SPB Portal, (ii) the approaches to share the SPB projects, +and (iii) how to attract universities and students to collaborate to SPB +projects. + +The last step was a workshop with IT representatives from a specific group at +the Government and public organizations. One more time, the objective was to +collect proposals to evolute the SPB Portal, but the discussions was not +necessarily related to the ideas provided during the first and second steps. + +After these uncoated 3 steps, the Brazilian government listed 145 requirements +for us. By trying to mitigate the lack of focus from the requirement list, we +propose to release an initial version that would replace the old SPB portal, +prioritizing the following features: + +\begin{enumerate} +\item An organized public software catalog; +\item Social network environment (profiles for users, software pages, and community pages); +\item CMS features; +\item Web-based Git repository manager with Wiki and issue tracking features; +\item Mailing lists and discussion forums. +\end{enumerate} + +Moreover, the new SPB Portal just would work properly if there is a unique +authentication to use the provided features. Additionally, a unified interface +was an important non-functional requirement to have a better user experience in +the new platform. + +Other requirements, such as an integrated search engine and a web-based source +code static analysis monitor, were in the wishlist. By analyzing all of these +requirements, we have designed the SPB evolution project based on existing +FLOSS tools. diff --git a/opensym2017/content/06-architecture.tex b/opensym2017/content/06-architecture.tex index c598119..aad10c6 100644 --- a/opensym2017/content/06-architecture.tex +++ b/opensym2017/content/06-architecture.tex @@ -1,8 +1,12 @@ \section{Architecture} \label{sec:architecture} -From the architecture point of view, two main requirements was included on the -new platform by Brazilian Federal Government request. They are: +From the architecture point of view, the integration of several existing +systems that were already implemented in different programming languages and +frameworks, adding features such as a centralized authentication, unified +interface, and a search engine, as well as, other back-end features, would +require a non-trivial amount of work. In this context, the most important +architetural requirements for the new platform were: \begin{enumerate} \item \textit{Integrating existing FLOSS systems} with minimal differences -- libgit2 0.21.2