WISP in a Box Development

From WirelessAfrica
Jump to navigation Jump to search


Developer Guide

WISP in a Box development is organized as an Open-Source or Libré software project.

In order to understand what this means and be able to work together in this way we need to agree on the definitions of the following five words:

  • Upstream - We use the term Upstream to refer to projects which our project makes use of. For example net-snmp and afrimesh are both upstream projects of the WispBox.
  • Downstream - Downstream are projects who use our code. For example, if someone were to create a linux distribution which focused on adding VOIP services to a WISP and which used WispBox as a dependency then that project would be considered to be downstream from our project.
  • Users - We live and breathe for these special individuals as, without them, none of us would have paying jobs. Their contributions to the project usually take the form of running the software, reporting bugs on the mailing list and requesting features.
  • Contributors - Contributors are usually also users but they have both the ability and desire to contribute code patches, documentation and their expertise to project development discussions. Often, future developers on a project are drawn from the pool of contributors. Contributors are a necessary condition to the long-term sustainability of any Libré project. For this reason all new developers are first required to spend some time as a contributor to the project before they are "handed the keys to the house" and gain full access to the project infrastructure.
  • Developers - Developers perform the bulk of the development work and have full access to the project source repositories, servers and other infrastructure.
The Libré Software Development Cycle


Upstream Projects

WISP in a Box has many upstream dependencies. The following list are the ones you will see referred to most commonly:

  • Afrimesh - the WispBox component integration toolkit and the core management dashboard.
  • Ubuntu Customization Kit - A set of scripts used by our build system to generate the WispBox livecd images.


Setup Checklist

Task Description
Development Workstation
  • x86
  • FreeBSD or Ubuntu
  • 1x Edimax 7711UM USB WiFi network card
WISP Server
  • AMD ION
  • 1GB RAM
  • 80GB Hard Drive
  • D-Link USB Ethernet
Development Mesh Node
  • D-Link DIR-300
Deployment Mesh Node
  • HPN
Subscribe to mailing lists TODO
Join IRC Install an IRC client and configure it for irc.freenode.net, #afrimesh (ask George if you need help)
Configure WispBox Development Environment

Read: http://code.google.com/p/wispinabox/wiki/DevelopmentEnvironment

Configure Afrimesh Development Environment

Read: http://code.google.com/p/afrimesh/wiki/DevelopmentEnvironment


Core Project Infrastructure

Resource URL Description
Mailing List - User Support TO COME Users, Contributors and Developers should subscribe to and follow this list.
Mailing List - Development TO COME Contributors and Developers should subscribe to and follow this list.
Issue tracker http://code.google.com/p/wispinabox/issues/list Bug reports and feature requests submitted to the Issue tracker are more likely to receive attention!
IRC http://webchat.freenode.net/?channels=afrimesh For IRC client configuration, use: irc.freenode.net, #afrimesh
Wiki - Main http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISP_in_a_Box_Development
Wiki - WispBox http://code.google.com/p/wispinabox/w Content hosted here still needs to be migrated to the main wiki
Wiki - Afrimesh http://code.google.com/p/afrimesh/w Afrimesh services multiple projects and as such maintains a separate wiki
Version Control - WispBox http://code.google.com/p/wispinabox/source/checkout
Version Control - Afrimesh http://code.google.com/p/afrimesh/source/checkout
Package Repository https://launchpad.net/~wispinabox
Build Server TO COME


Resources


Development

VO Requirements & Functionality Questions