Differences between revisions 4 and 5
Revision 4 as of 2010-08-24 11:49:11
Size: 2213
Editor: ?ChrisK
Comment:
Revision 5 as of 2010-08-30 12:24:20
Size: 2294
Editor: TheAnarcat
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
 1.#0 Be free: be made of free software and, as much as possible, free hardware

FreedomBox High Level Requirements

The Goal for generating an adequate requirements list is to be able to map to them existing tools that achieve the objective specified. Further, we can identify what changes/additions need to be made in order to support the requirement. This way, we get a clear list of work that needs to be done to accomplish the goals. It will be easier to individuals to just pick up a task and go with it from there. Finally, we need someone that takes on the role of figuring out if the proposed suite of tools can work together properly in one system (high-level system architect for the project).

The FreedomBox shall ...

  1. Be free: be made of free software and, as much as possible, free hardware
  2. Routing/transport
    1. ... support encryption over all data transport
  3. Data storage
    1. ... support a distributed data storage mechanism
  4. User interface
    1. Setup
      1. ... provide an easy to understand setup process
    2. System configuration
      1. ... provide a method to enable/disable functionality
    3. Add/remove accounts
      1. ... provide methods to add/remove service accounts
      2. ... provide methods to add/remove user accounts
    4. Device status/health
      1. ... provide methods to check the status of various system services
  5. Identity management
    1. Users
      1. Accounts
        1. ... support multiple simultaneous user accounts ?

      2. Privacy settings
        1. ... support user-specified privacy settings
    2. Box identity
    3. User identity
      1. Multiple services
      2. Multiple identities
  6. Discovery
    1. Friend discovery
    2. Device naming (eg. external dynamic DNS)
  7. Messaging
    1. Mail
  8. Software updating
  9. Moveable / transportable
    1. ... function as previously configured when moved to another location
    2. ... be easily powered on and off
      1. ... write synchronously in case of power loss with an option to disable
  10. Bandwidth
    1. ... have a democratic and systematic method of sharing bandwidth
  11. Security
  12. Usability
    1. GUI
      1. ... have a unified web-based GUI that minimizes the number of steps to accomplish a given task

Functional/Non-function requirements are very blurred at this high-level, so I made this one list for now. -ChrisK