The Serval Mesh app for Android is built from two components:
To contribute code or documentation to Serval Mesh, please observe the Serval Project's Software Development practices and refer to this page for procedures and resources that pertain specifically to Serval Mesh.
Copyright in all Batphone source code (including technical documentation) is either owned by Serval Project Incorporated or is owned by its author and licensed to the public under non restrictive terms. Contributors can assign copyright to Serval Project Incorporated by furnishing a signed Developer Agreement.
See Serval DNA Copyright for information about Serval DNA.
The Batphone source code is licensed to the public under the terms of the GNU General Public License, version 3.
See Serval DNA Licensing for information about Serval DNA.
The Serval Mesh app is available for open Beta testing on Google Play, so anybody with a Google account can install and test the latest Beta version. Furthermore, members of the serval-project-developers Google group can test the Alpha version.
There is a single automated test case for MeshMS in the Batphone tests directory. It uses the Bash test framework and requires two Android devices connected via USB with the Serval Mesh app installed and running.
The Serval DNA component has an extensive suite of automated tests, and its own testing and quality assurance policies and procedures.
Follow the Serval Mesh release procedure to make a new release of the Serval Mesh app.
Serval Mesh bugs and issues are tracked using GitHub Issues. Each component of Serval Mesh has its own GitHub repository, so each component has its own issue list. When reporting a bug in Serval Mesh, you must first choose whether to report it as a Batphone issue or a Serval DNA issue:
It can be difficult to decide between a Serval DNA issue and a Batphone issue, especially without strong technical knowledge of the source code. If in doubt, contact a Serval Project team member first, or report it as a Batphone issue by following the instructions for reporting Serval bugs.
Versions of Batphone prior to 0.90 depended on the third-party apps SMSDroid and WebSMS, which had to be downloaded and installed separately from Serval Mesh. The pre-0.90 Batphone source code included parts of the SMSDroid source code to act as a client of that app. These dependencies were removed in version 0.90 “Shiny”.