\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. These data illustrates the potential of the SPB Portal, even with several limitations in the past. 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 and developed a ``mind map''\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 were: \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=\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: \begin{enumerate} \item An 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 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 proposed the technological requirements 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 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.