\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) Content Management Systems (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.