WISP in a Box Development: Difference between revisions
(New page: == Developer Guide == foo) |
|||
(52 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{|align="right" | |||
| style="height:100%;width:20em;border:1px solid #D9D9D9;background-color:#F2F2F2;" valign="top" | | |||
*[[WISP_in_a_Box_Development|'''WISP in a Box Development Home''']] | |||
|} | |||
== Developer Guide == | == Developer Guide == | ||
[[Image:libre_software_cycle.png| | WISP in a Box development is organized as an Open-Source or [http://en.wikipedia.org/wiki/Free_software 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 [http://net-snmp.sourceforge.net/ net-snmp] and [http://code.google.com/p/afrimesh 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 [http://code.google.com/p/wispinabox 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. | |||
[[Image:libre_software_cycle.png|left|frame|The Libré Software Development Cycle]] | |||
<br clear=all> | |||
=== Upstream Projects === | |||
WISP in a Box has many upstream dependencies. The following list are the ones you will see referred to most commonly: | |||
* [http://code.google.com/p/afrimesh '''Afrimesh'''] - the WispBox component integration toolkit and the core management dashboard. | |||
* [http://uck.sourceforge.net/ '''Ubuntu Customization Kit'''] - A set of scripts used by our build system to generate the WispBox livecd images. | |||
=== Setup Checklist === | |||
{| cellpadding="5" cellspacing="0" border="1" | |||
! Task !! Description | |||
|- valign="top" | |||
| Development Workstation || | |||
* x86 | |||
* FreeBSD or Ubuntu | |||
* 1x Edimax 7711UM USB WiFi network card | |||
|- valign="top" | |||
| WISP Server || | |||
* AMD ION | |||
* 1GB RAM | |||
* 80GB Hard Drive | |||
* D-Link USB Ethernet | |||
|- valign="top" | |||
| Development Mesh Node || | |||
* D-Link DIR-300 | |||
|- valign="top" | |||
| Deployment Mesh Node || | |||
* HPN | |||
|- valign="top" | |||
| Subscribe to mailing lists || TODO | |||
|- valign="top" | |||
| Join IRC || Install an IRC client and configure it for irc.freenode.net, #afrimesh (ask George if you need help) | |||
|- valign="top" | |||
| Configure WispBox Development Environment || | |||
Read: http://code.google.com/p/wispinabox/wiki/DevelopmentEnvironment | |||
|- valign="top" | |||
| Configure Afrimesh Development Environment || | |||
Read: http://code.google.com/p/afrimesh/wiki/DevelopmentEnvironment | |||
|- | |||
|} | |||
=== Core Project Infrastructure === | |||
{| cellpadding="5" cellspacing="0" border="1" | |||
! 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 === | |||
* [[Media:Community_barriers_to_entry_checklist.pdf|'''Community Building : Barriers to Entry''']] - Neary Consulting [http://www.neary-consulting.com] | |||
== Development == | |||
=== [[VO Requirements & Functionality Questions]] === |
Latest revision as of 09:13, 15 October 2009
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.
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 |
|
WISP Server |
|
Development Mesh Node |
|
Deployment Mesh Node |
|
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
- Community Building : Barriers to Entry - Neary Consulting [1]