2cc3ec328716e36201280c539ee4f19f9f12121f
[oweals/gnunet.git] / TODO
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:
4 * TESTING
5 * FS (DHT not available)
6 * SETUP
7 * DV (distributed testing not available)
8 * TBENCH (distributed testing not available)
9 * TRACEKIT (distributed testing not available)
10 * HTTP transport
11 * FRAGMENTATION
12 * MySQL / Postgres plugins (datastore, datacache)
13 * UPNP
14
15
16 PHASE #2: (Goal: recover basic file-sharing functionality)
17 * TESTING (needed for DV, DHT, Topology)
18   - implement library for local testing
19   - implement testcases for library
20 * TOPOLOGY:
21   - implement testcases (needs TESTING)
22 * HOSTLIST:
23   - implement testcases
24 * FS (anonymous FS only)
25   - review FS API [Nils, Amatus, CG]
26   - design network structs (CS)
27   - implement FS library
28     + URI API
29     + getopt API
30     + persistence mechanism
31     + sharing API
32       ~ file-information
33       ~ insert
34       ~ download
35       ~ search
36       ~ unindex
37       ~ namespaces
38       ~ collection
39     + directory API
40   - design network structs (P2P)
41   - datastore request queueing mechanism
42   - implement FS service (needs DHT)
43     + insert
44     + download
45     + search
46     + unindex
47   - implement testcases 
48     + URI API
49     + getopt API
50     + sharing API (needs TESTING)
51       ~ file-information
52       ~ insert
53       ~ download
54       ~ search
55       ~ unindex
56       ~ namespaces
57       ~ collection
58     + directory API
59   - implement performance tests (needs TESTING)
60     + insert
61     + download
62     + search
63     + unindex
64 * new webpage
65   - install on proper server
66   - activate as ng.gnunet.org
67 => Deploy(able) development network
68
69
70 PHASE #3: (Goal: ready for pre-release) [completion-goal: end of 2009]
71 * Module features to implement:
72   - setup (RC-pre0)
73     + default generation
74     + need to settle basic design; do we want to keep guile?
75   - testing (RC-pre0)
76     + implement library for distributed testing [Nate]
77     + implement testcases for distributed testing [Nate]
78   - tbench (RC-pre1)
79     + good to have for DV evaluation!
80   - DV (RC-pre1)
81     + write DV API 
82     + implement DV service [Nate & CG]
83     + implement DV library [Nate]
84     + implement DV transport plugin [Nate & CG]
85     + implement testcases [Nate]
86     + implement performance tests [Nate]
87   - tracekit (RC-pre2)
88     + good to have for DV/DHT evaluation!
89   - DHT (RC-pre2)
90     + implement DHT service (needs DV, DATACACHE)
91     + implement DHT library
92     + implement testcases
93     + implement performance tests
94 * GUIs to implement:
95   - gtk (RC-pre1)
96     + how to integrate scheduler with GTK event loop!
97   - fuse (RC-pre2)
98   - qt (RC-pre3)
99     + see discussions @ FISL about integration with event loop!
100 * Plugins to implement:
101   - UDP backend (RC-pre2)
102     + Fragmentation library 
103     + actual plugin
104   - HTTP backend (RC-pre2)
105 * Determine RC bugs and fix those!
106
107 => PRE-RELEASE
108
109
110 PHASE #4: [completion-goal: mid 2010]
111 * Documentation
112   - Doxygen generation
113   - lcov generation
114   - update man pages
115   - update webpage documentation
116 * new webpage:
117   - expand bibliography
118   - convert documentation pages to books
119   - update books (especially for developers)
120   - create good Drupal theme for GNUnet
121   - make a NICE download page and figure out how to 
122     enable developers to publish TGZs nicely
123   - port "contact" page; add impressum
124   - add content type for "todo" items?
125   - DNS activation
126 * Plugins to implement:
127   - MySQL database backends
128     + datacache
129     + datastore
130   - Postgres database backends
131     + datacache
132     + datastore
133   - vpn
134 * Determine RC bugs and fix those!
135
136 => 0.9.0 RELEASE
137
138
139
140
141 Post 0.9.0 features:
142 * SMTP transport backend
143 * HTTPS transport backend
144   - improved HTTPS support in MHD
145   - actual plugin