\section{Features}
\label{sec:spb}

The new generation of the SPB portal combines adapted features of existing collaborative softwares
and features developed by the SPB team. Whenever possible, new functions 
(newly developed or partially modified) were sent to official repositories, as a contribution.

As a result, we have a platform that integrates and harmonizes different features such as
social networking, mailing list, version control system, content management and
source code quality monitoring. Our aim was to develop functionalities by reusing
functions of collaborative softwares already integrated to the platform. In
addition, we tried to keep this integration transparent to end users.

\subsection{Software and Software Community}

In the new SPB portal, each software has a standard set of pages and tools.
Besides accessing support pages (such as FAQ and installation guide) within the platform, users will be able to download
different versions of the software and find several mechanisms of software development management.

Focusing on the collaborative development, the Mailman was integrated to the platform in order to allow
the dialogue and communication between developers, users and
enthusiasts of a determined software. The software has its own mailing list whose privacy
can be configured/set by administrators. 

The software has a social interface area (aka "software community") where users can find other users, blogs,
summary of recent activities, or any other relevant community-produced content. 
Users logged to the platform can request membership to different software communities 
and each community member can access and edit restricted content. For this purpose, 
many Noosfero features related to social network and content management was integrated to the portal.

To assist decision-making, the new SPB has acquired assessment and statistical
tools. Now, users will be able to rate the software and make comments and all
information will be avaiable to other users. Moreover, the software has a section
containing  its statistical data, where values are calculated through data
provided by users and the system.

The role of the administrator will be present in the software and in its community. The
administrator is responsible for moderating content, memberships and user
comments. He is also the one who can make changes in the software homepage
content.

\subsection{Software Catalog and global search}

The platform also provides a search tool called Software Catalog, 
which allows users to find softwares available in its directory.
In this catalog, some search options were developed to make the navigation easier,
such as filters (by type of software or category), sorting and score.

In order to expand the searching scope and cover more types of content, the SPB team
developed the global search tool. This tool unifies search mechanisms
provided by the mentioned collaborative softwares. Any user can
find a public content in the context of social network, mailing list and
software development.

\subsection{Software development tools}

The new SPB also provides
tools to encourage developers to keep each source code and its
developments within the platform. Any created software has, by default, a
related git repository with wiki pages and issues tracking. These tools are
supplied by the integration of Gitlab into the platform. 

Developers can also evaluate the software source code to measure software
quality. With Mezuro, they can schedule the analysis of the source-code and follow its
metric results evolution over time.  Results of each metric analysis are
public, which allows greater transparency between the developer and the
community that uses the software.  Thereby, the maintainers can decide if the
given solution meets the source code quality requirements.

Thus, the SPB becomes a platform to stimulate the openness of the source code;
dialogue between users and the development team; and also
maintenance and evolution of the software, which will provide more
transparency in government investments.
