Implementable right now (but not necessarily important), with caveats (unavailable components that will limit what can be implemented right away), in order in which they will likely be done: * TESTING * FS (DHT not available) * SETUP * DV (distributed testing not available) * TBENCH (distributed testing not available) * TRACEKIT (distributed testing not available) * HTTP transport * FRAGMENTATION * MySQL / Postgres plugins (datastore, datacache) * UPNP PHASE #2: (Goal: recover basic file-sharing functionality) * TESTING (needed for DV, DHT, Topology) - implement library for local testing + modify configuration to allow controlling connections for non-local starts + CORE service does not start with valid peer ID (all zeross) -- testcase fails! + consider changing API for peer-group termination to call continuation when done + testbed creation with topology (needs working F2F topology) [Nate] + testbed with churn [Nate] - implement testcases for library + get test for basic peer start to work! + test basic peer connect + test group start + test basic peer re-configure [Nate] + test topology creation [Nate] + test churn generation [Nate] * TOPOLOGY: - implement testcases (needs TESTING) * HOSTLIST: - implement testcases * FS (anonymous FS only) - review FS API [Nils, Amatus, CG] - design network structs (CS) - implement FS library + URI API + getopt API + persistence mechanism + sharing API ~ file-information ~ insert ~ download ~ search ~ unindex ~ namespaces ~ collection + directory API - design network structs (P2P) - datastore request queueing mechanism - implement FS service (needs DHT) + insert + download + search + unindex - implement testcases + URI API + getopt API + sharing API (needs TESTING) ~ file-information ~ insert ~ download ~ search ~ unindex ~ namespaces ~ collection + directory API - implement performance tests (needs TESTING) + insert + download + search + unindex * new webpage - install on proper server - activate as ng.gnunet.org => Deploy(able) development network PHASE #3: (Goal: ready for pre-release) [completion-goal: end of 2009] * Module features to implement: - setup (RC-pre0) + default generation + need to settle basic design; do we want to keep guile? - testing (RC-pre0) + implement library for distributed testing [Nate] + implement testcases for distributed testing [Nate] - tbench (RC-pre1) + good to have for DV evaluation! - DV (RC-pre1) + write DV API + implement DV service [Nate & CG] + implement DV library [Nate] + implement DV transport plugin [Nate & CG] + implement testcases [Nate] + implement performance tests [Nate] - tracekit (RC-pre2) + good to have for DV/DHT evaluation! - DHT (RC-pre2) + implement DHT service (needs DV, DATACACHE) + implement DHT library + implement testcases + implement performance tests * GUIs to implement: - gtk (RC-pre1) + how to integrate scheduler with GTK event loop! - fuse (RC-pre2) - qt (RC-pre3) + see discussions @ FISL about integration with event loop! * Plugins to implement: - UDP backend (RC-pre2) + Fragmentation library + actual plugin - HTTP backend (RC-pre2) * Determine RC bugs and fix those! => PRE-RELEASE PHASE #4: [completion-goal: mid 2010] * Documentation - Doxygen generation - lcov generation - update man pages - update webpage documentation * new webpage: - expand bibliography - convert documentation pages to books - update books (especially for developers) - create good Drupal theme for GNUnet - make a NICE download page and figure out how to enable developers to publish TGZs nicely - port "contact" page; add impressum - add content type for "todo" items? - DNS activation * Plugins to implement: - MySQL database backends + datacache + datastore - Postgres database backends + datacache + datastore - vpn * Determine RC bugs and fix those! => 0.9.0 RELEASE Post 0.9.0 features: * SMTP transport backend * HTTPS transport backend - improved HTTPS support in MHD - actual plugin