1 Implementable right now (but not necessarily important), with caveats
2 (unavailable components that will limit what can be implemented right
3 away), in order in which they will likely be done:
5 * FS (DHT not available)
7 * DV (distributed testing not available)
8 * TBENCH (distributed testing not available)
9 * TRACEKIT (distributed testing not available)
12 * MySQL / Postgres plugins (datastore, datacache)
16 PHASE #2: (Goal: recover basic file-sharing functionality)
17 * TESTING (needed for DV, DHT, Topology)
18 - implement library for local testing
19 + modify configuration to allow controlling
20 connections for non-local starts
21 + CORE service does not start with valid peer ID (all zeross)
23 + consider changing API for peer-group termination
24 to call continuation when done
25 + testbed creation with topology (needs working F2F topology) [Nate]
26 + testbed with churn [Nate]
27 - implement testcases for library
28 + get test for basic peer start to work!
29 + test basic peer connect
31 + test basic peer re-configure [Nate]
32 + test topology creation [Nate]
33 + test churn generation [Nate]
35 - implement testcases (needs TESTING)
38 * FS (anonymous FS only)
39 - design network structs (CS)
40 + list-indexed, unindex
41 + search/download, response
42 - implement basic FS library
44 ~ unindex & list indexed!!! (need publish to be done)
45 ~ search (need publish to be done)
46 ~ download (need publish/search to be done)
47 - design network structs (CS/P2P)
48 - implement FS service
49 + datastore request queueing mechanism
50 + CS-functions (search, download, index, get_indexed, unindex)
51 + P2P-functions (query, response)
55 + sharing API (needs TESTING)
57 ~ publish (insert, index)
64 - advanced sharing API
65 + namespaces => SBlocks!
67 + location URIs (publish, search, download)
68 + persistence support (publish, unindex, search, download)
69 + datastore reservation (publishing)
70 + indexing: index-failure-cleanup
71 - implement adv. testcases
72 + insert: sblocks, loc uris
74 + search: sblocks, skblocks, loc uris
77 - implement performance tests (needs TESTING)
82 - implement adv. FS service (needs DHT)
83 + basic DHT integration
84 + CS-DHT-functions (DHT-put of LOC)
85 + P2P-functions (DHT-get)
87 - install on proper server
88 - activate as ng.gnunet.org
89 => Deploy(able) development network
92 PHASE #3: (Goal: ready for pre-release) [completion-goal: end of 2009]
93 * Module features to implement:
96 + need to settle basic design; do we want to keep guile?
98 + implement library for distributed testing [Nate]
99 + implement testcases for distributed testing [Nate]
101 + good to have for DV evaluation!
104 + implement DV service [Nate & CG]
105 + implement DV library [Nate]
106 + implement DV transport plugin [Nate & CG]
107 + implement testcases [Nate]
108 + implement performance tests [Nate]
110 + good to have for DV/DHT evaluation!
112 + implement DHT service (needs DV, DATACACHE)
113 + implement DHT library
114 + implement testcases
115 + implement performance tests
118 + how to integrate scheduler with GTK event loop!
121 + see discussions @ FISL about integration with event loop!
122 * Plugins to implement:
123 - UDP backend (RC-pre2)
124 + Fragmentation library
126 - HTTP backend (RC-pre2)
127 * Determine RC bugs and fix those!
132 PHASE #4: [completion-goal: mid 2010]
137 - update webpage documentation
139 - expand bibliography
140 - convert documentation pages to books
141 - update books (especially for developers)
142 - create good Drupal theme for GNUnet
143 - make a NICE download page and figure out how to
144 enable developers to publish TGZs nicely
145 - port "contact" page; add impressum
146 - add content type for "todo" items?
148 * Plugins to implement:
149 - MySQL database backends
152 - Postgres database backends
156 * Determine RC bugs and fix those!
164 * SMTP transport backend
165 * HTTPS transport backend
166 - improved HTTPS support in MHD