Revisions to project ideas and formatting on the volunteer page
Damian Johnson

Damian Johnson commited on 2011-02-09 06:03:20
Zeige 1 geänderte Dateien mit 142 Einfügungen und 115 Löschungen.


Few of the simple changes discussed on -assistants.

- Formatting Fix: The starting entries properly used paragraph tags, but the later were just text with breaks. The result was that all the entries ran together (no spacing between the ideas).

- Moving the Vidalia projects to the bottom since we're pretty shaky about if we have a mentor for them. It sounds like Tomás would rather be a backup mentor, and no one has stepped forward to be the primary. :(

- Dropping the JTor project since we don't have a mentor for it. It's currently just commented out in case the project gets rekindled. I'll include JTor in the projects table I add later so potential volunteers are aware of it.

- Minor fix: Replacing Weasel with Peter as a mentor for one of the projects.


... ...
@@ -180,46 +180,6 @@ meetings around the world.</li>
180 180
     robustness.</p>
181 181
     </li>
182 182
     
183
-    <li>
184
-    <b>Tor Controller Status Event Interface for Vidalia</b>
185
-    <br>
186
-    Priority: <i>Medium</i>
187
-    <br>
188
-    Effort Level: <i>Medium</i>
189
-    <br>
190
-    Skill Level: <i>Low to Medium</i>
191
-    <br>
192
-    Likely Mentors: <i>Matt</i>
193
-    <p>There are a number of status changes inside Tor of which the user may need
194
-    to be informed. For example, if the user is trying to set up his Tor as a
195
-    relay and Tor decides that its ports are not reachable from outside
196
-    the user's network, we should alert the user. Currently, all the user
197
-    gets is a couple of log messages in Vidalia's 'message log' window, which they
198
-    likely never see since they don't receive a notification that something
199
-    has gone wrong. Even if the user does actually look at the message log,
200
-    most of the messages make little sense to the novice user.</p>
201
-    <p>Tor has the ability to inform Vidalia of many such status
202
-    changes, and we recently implemented support for a couple of these
203
-    events. Still, there are many more status events which the user should
204
-    be informed of, and we need a better UI for actually displaying them
205
-    to the user.</p>
206
-    <p>The goal of this project then is to design and implement a UI for
207
-    displaying Tor status events to the user. For example, we might put a
208
-    little badge on Vidalia's tray icon that alerts the user to new status
209
-    events they should look at. Double-clicking the icon could bring up a
210
-    dialog that summarizes recent status events in simple terms and maybe
211
-    suggests a remedy for any negative events if they can be corrected by
212
-    the user. Of course, this is just an example and one is free to
213
-    suggest another approach.</p>
214
-    <p>A person undertaking this project should have good UI design and layout
215
-    skills and some C++ development experience. Previous experience with Qt and
216
-    Qt's Designer will be very helpful, but are not required. Some
217
-    English writing ability will also be useful, since this project will
218
-    likely involve writing small amounts of help documentation that should
219
-    be understandable by non-technical users. Bonus points for some graphic
220
-    design/Photoshop fu, since we might want/need some shiny new icons too.</p>
221
-    </li>
222
-    
223 183
     <li>
224 184
     <b>Client Mode Use Cases for Arm</b>
225 185
     <br>
... ...
@@ -309,33 +269,6 @@ meetings around the world.</li>
309 269
     changes in performance on machines in different roles automatically.</p>
310 270
     </li>
311 271
     
312
-    <li>
313
-    <b>Help with independent Tor client implementations</b>
314
-    <br>
315
-    Priority: <i>Medium</i>
316
-    <br>
317
-    Effort Level: <i>High</i>
318
-    <br>
319
-    Skill Level: <i>Medium to High</i>
320
-    <br>
321
-    Likely Mentors: <i>Bruce, Nathan</i>
322
-    <p>Others are currently working on Tor clients for Java, Android, and Maemo
323
-    environments.  The first step is to get a handle on the current state of
324
-    the project in which you are interested in helping; <a
325
-    href="http://github.com/brl/JTor">Tor for Java</a>,
326
-    <a href="https://svn.torproject.org/svn/projects/android/trunk/">Android/Orbot</a>,
327
-     or <a href="<page docs/N900>">Tor for Maemo</a>. Check out the
328
-    repository and familiarize yourself
329
-    with the source code.  Further, support for requesting or even providing
330
-    Tor hidden services would be neat, but not required.</p>
331
-    <p>A prospective developer should be able to understand and write new Java
332
-    code, including a Java cryptography API. Being able to read C code would be helpful,
333
-    too. One should be willing to read the existing documentation,
334
-    implement code based on it, and refine the documentation
335
-    when things are underdocumented. This project is mostly about coding and
336
-    to a small degree about design.</p>
337
-    </li>
338
-
339 272
     <li>
340 273
     <b>More on Orbot &amp; Android OS-specific development</b>
341 274
     <br/>
... ...
@@ -400,58 +333,29 @@ meetings around the world.</li>
400 333
     Skill Level: <i>Medium</i>
401 334
     <br>
402 335
     Likely Mentors: <i>Steven</i>
403
-    <br>
336
+    <p>
404 337
     Many users of Tor have poor-quality Internet connections, giving low
405 338
     bandwidth, high latency, and high packet loss/re-ordering. User
406 339
     experience is that Tor reacts badly to these conditions, but it is
407 340
     difficult to improve the situation without being able to repeat the
408 341
     problems in the lab.
409
-    <br>
342
+    </p>
343
+    
344
+    <p>
410 345
     This project would be to build a simulation environment which
411 346
     replicates the poor connectivity so that the effect on Tor performance
412 347
     can be measured. Other components would be a testing utility to
413 348
     establish what are the properties of connections available, and to
414 349
     measure the effect of performance-improving modifications to Tor.
415
-    <br>
350
+    </p>
351
+    
352
+    <p>
416 353
     The tools used would be up to the student, but dummynet (for FreeBSD)
417 354
     and nistnet (for Linux) are two potential components on which this
418 355
     project could be built. Students should be experienced with network
419 356
     programming/debugging and TCP/IP, and preferably familiar with C and a
420 357
     scripting language.
421
-    </li>
422
-    
423
-    <li>
424
-    <b>An Improved and More Usable Network Map in Vidalia</b>
425
-    <br>
426
-    Priority: <i>Low to Medium</i>
427
-    <br>
428
-    Effort Level: <i>Medium</i>
429
-    <br>
430
-    Skill Level: <i>Medium</i>
431
-    <br>
432
-    Likely Mentors: <i>Matt</i>
433
-    <br>
434
-    One of Vidalia's existing features is a network map that shows the user
435
-    the approximate geographic location of relays in the Tor network and
436
-    plots the paths the user's traffic takes as it is tunneled through the
437
-    Tor network. The map is currently not very interactive and has rather
438
-    poor graphics. Instead, we implemented KDE's Marble widget such
439
-    that it gives us a better quality map and enables improved interactivity,
440
-    such as allowing the user to click on individual relays or circuits to
441
-    display additional information. We want to add the ability
442
-    for users to click on a particular relay or a country containing one or
443
-    more Tor exit relays and say, "I want my connections to exit
444
-    from here."
445
-    <br>
446
-    This project will first involve getting familiar with Vidalia
447
-    and the Marble widget's API. One will then integrate the widget
448
-    into Vidalia and customize Marble to be better suited for our application,
449
-    such as making circuits clickable, storing cached map data in Vidalia's
450
-    own data directory, and customizing some of the widget's dialogs.
451
-    <br>
452
-    A person undertaking this project should have good C++ development
453
-    experience. Previous experience with Qt and CMake is helpful, but not
454
-    required.
358
+    </p>
455 359
     </li>
456 360
     
457 361
     <li>
... ...
@@ -464,12 +368,13 @@ meetings around the world.</li>
464 368
     Skill Level: <i>High</i>
465 369
     <br>
466 370
     Likely Mentors: <i>Mike</i>
467
-    <br>
371
+    <p>
468 372
     We're hearing from an increasing number of users that they want to use
469 373
     Thunderbird with Tor. However, there are plenty of application-level
470 374
     concerns, for example, by default Thunderbird will put your hostname in
471 375
     the outgoing mail that it sends. At some point we should start a new
472 376
     push to build a Thunderbird extension similar to Torbutton.
377
+    </p>
473 378
     </li>
474 379
     
475 380
     <li>
... ...
@@ -482,32 +387,40 @@ meetings around the world.</li>
482 387
     Skill Level: <i>Medium</i>
483 388
     <br>
484 389
     Likely Mentors: <i>Erinn, Peter</i>
485
-    <br>
390
+    <p>
486 391
     Vidalia currently doesn't play nicely with Tor on Linux and Unix platforms.
487 392
     Currently, on Debian and Ubuntu, there is a configuration mechanism which
488 393
     allows Vidalia to override Tor's ability to start on boot (by sourcing
489 394
     <code>/etc/default/tor.vidalia</code> which sets <code>RUN_DAEMON=no</code> at the user's
490 395
     request), but full implementation of <a href="<gitblob>doc/spec/control-spec.txt">ControlPort</a> 
491 396
     communication is still required.
492
-    <br>
397
+    </p>
398
+    
399
+    <p>
493 400
     A better solution on Linux and Unix platforms would be to use Tor's
494 401
     ControlSocket, which allows Vidalia to talk to Tor via a Unix domain socket,
495 402
     and could possibly be enabled by default in Tor's distribution packages.
496 403
     Vidalia can then authenticate to Tor using filesystem-based (cookie)
497 404
     authentication if the user running Vidalia is also in the distribution-specific
498 405
     tor group.
499
-    <br>
406
+    </p>
407
+    
408
+    <p>
500 409
     This project will first involve adding support for Tor's ControlSocket to
501 410
     Vidalia. The student will then develop and test this support on various
502 411
     distributions to make sure it behaves in a predictable and consistent manner on
503 412
     all of them.
504
-    <br>
413
+    </p>
414
+    
415
+    <p>
505 416
     The next challenge would be to find an intuitive and usable way for Vidalia to be
506 417
     able to change Tor's configuration (torrc) even though it is located in
507 418
     <code>/etc/tor/torrc</code> and thus immutable. In Debian and Ubuntu we handle
508 419
     this with the aforementioned <code>/etc/default/tor.vidalia</code> but this
509 420
     functionality could (or should) be less distribution-specific.
510
-    <br>
421
+    </p>
422
+    
423
+    <p>
511 424
     The best idea we've come up with so far is to feed Tor a new configuration via
512 425
     the ControlSocket when Vidalia starts, but that's bad because if the user is not
513 426
     using the latest Debian/Ubuntu packages, they may not have disabled Tor's
... ...
@@ -516,10 +429,13 @@ meetings around the world.</li>
516 429
     write out a temporary torrc file and ask the user to manually move it to
517 430
     <code>/etc/tor/torrc</code>, but that's bad because users shouldn't have to
518 431
     mess with files directly.
519
-    <br>
432
+    </p>
433
+    
434
+    <p>
520 435
     A person undertaking this project should have prior knowledge of various Linux
521 436
     distributions and their packaging mechanisms as well as some C++ development
522 437
     experience. Previous experience with Qt is helpful, but not required.
438
+    </p>
523 439
     </li>
524 440
     
525 441
     
... ...
@@ -533,11 +449,12 @@ meetings around the world.</li>
533 449
     Skill Level: <i>Low to Medium</i>
534 450
     <br>
535 451
     Likely Mentors: <i>Andrew</i>
536
-    <br>
452
+    <p>
537 453
     Especially the browser bundle, ideally amongst our target demographic.
538 454
     That would help a lot in knowing what needs to be done in terms of bug
539 455
     fixes or new features. We get this informally at the moment, but a more
540 456
     structured process would be better.
457
+    </p>
541 458
     </li>
542 459
     
543 460
     <li>
... ...
@@ -549,8 +466,8 @@ meetings around the world.</li>
549 466
     <br>
550 467
     Skill Level: <i>Medium to High</i>
551 468
     <br>
552
-    Likely Mentors: <i>Sebastian, Weasel, Roger</i>
553
-    <br>
469
+    Likely Mentors: <i>Sebastian, Peter, Roger</i>
470
+    <p>
554 471
     The world needs an authenticating irc proxy. As we're periodically
555 472
     reminded from the Penny Arcade web comic, "Internet user + anonymity =
556 473
     jerk". With respect to websites we're actually doing ok, since websites
... ...
@@ -574,6 +491,7 @@ meetings around the world.</li>
574 491
     layer that requires the users to authenticate.  Some work on this has
575 492
     begun by other volunteers, see their progress at <a
576 493
     href="http://github.com/anonirc/orc">http://github.com/anonirc/orc</a>.
494
+    </p>
577 495
     </li>
578 496
     
579 497
     <li>
... ...
@@ -586,7 +504,7 @@ meetings around the world.</li>
586 504
     Skill Level: <i>Medium</i>
587 505
     <br>
588 506
     Likely Mentors: <i>?</i>
589
-    <br>
507
+    <p>
590 508
     <a href="http://code.google.com/p/torsocks/">Torsocks</a> and <a
591 509
     href="http://code.google.com/p/dsocks/">dsocks</a> are wrappers that will
592 510
     run applications, intercept their outgoing network connections, and push
... ...
@@ -603,7 +521,116 @@ meetings around the world.</li>
603 521
     dsocks is installed, and call them appropriately. This probably means
604 522
     unifying their interfaces, and might involve sharing code between them
605 523
     or discarding one entirely.
524
+    </p>
525
+    </li>
526
+    
527
+    <li>
528
+    <b>Tor Controller Status Event Interface for Vidalia</b>
529
+    <br>
530
+    Priority: <i>Medium</i>
531
+    <br>
532
+    Effort Level: <i>Medium</i>
533
+    <br>
534
+    Skill Level: <i>Low to Medium</i>
535
+    <br>
536
+    Likely Mentors: <i>Tomás?</i>
537
+    <p>There are a number of status changes inside Tor of which the user may need
538
+    to be informed. For example, if the user is trying to set up his Tor as a
539
+    relay and Tor decides that its ports are not reachable from outside
540
+    the user's network, we should alert the user. Currently, all the user
541
+    gets is a couple of log messages in Vidalia's 'message log' window, which they
542
+    likely never see since they don't receive a notification that something
543
+    has gone wrong. Even if the user does actually look at the message log,
544
+    most of the messages make little sense to the novice user.</p>
545
+    <p>Tor has the ability to inform Vidalia of many such status
546
+    changes, and we recently implemented support for a couple of these
547
+    events. Still, there are many more status events which the user should
548
+    be informed of, and we need a better UI for actually displaying them
549
+    to the user.</p>
550
+    <p>The goal of this project then is to design and implement a UI for
551
+    displaying Tor status events to the user. For example, we might put a
552
+    little badge on Vidalia's tray icon that alerts the user to new status
553
+    events they should look at. Double-clicking the icon could bring up a
554
+    dialog that summarizes recent status events in simple terms and maybe
555
+    suggests a remedy for any negative events if they can be corrected by
556
+    the user. Of course, this is just an example and one is free to
557
+    suggest another approach.</p>
558
+    <p>A person undertaking this project should have good UI design and layout
559
+    skills and some C++ development experience. Previous experience with Qt and
560
+    Qt's Designer will be very helpful, but are not required. Some
561
+    English writing ability will also be useful, since this project will
562
+    likely involve writing small amounts of help documentation that should
563
+    be understandable by non-technical users. Bonus points for some graphic
564
+    design/Photoshop fu, since we might want/need some shiny new icons too.</p>
565
+    </li>
566
+    
567
+    <li>
568
+    <b>An Improved and More Usable Network Map in Vidalia</b>
569
+    <br>
570
+    Priority: <i>Low to Medium</i>
571
+    <br>
572
+    Effort Level: <i>Medium</i>
573
+    <br>
574
+    Skill Level: <i>Medium</i>
575
+    <br>
576
+    Likely Mentors: <i>Tomás?</i>
577
+    <p>
578
+    One of Vidalia's existing features is a network map that shows the user
579
+    the approximate geographic location of relays in the Tor network and
580
+    plots the paths the user's traffic takes as it is tunneled through the
581
+    Tor network. The map is currently not very interactive and has rather
582
+    poor graphics. Instead, we implemented KDE's Marble widget such
583
+    that it gives us a better quality map and enables improved interactivity,
584
+    such as allowing the user to click on individual relays or circuits to
585
+    display additional information. We want to add the ability
586
+    for users to click on a particular relay or a country containing one or
587
+    more Tor exit relays and say, "I want my connections to exit
588
+    from here."
589
+    </p>
590
+    
591
+    <p>
592
+    This project will first involve getting familiar with Vidalia
593
+    and the Marble widget's API. One will then integrate the widget
594
+    into Vidalia and customize Marble to be better suited for our application,
595
+    such as making circuits clickable, storing cached map data in Vidalia's
596
+    own data directory, and customizing some of the widget's dialogs.
597
+    </p>
598
+    
599
+    <p>
600
+    A person undertaking this project should have good C++ development
601
+    experience. Previous experience with Qt and CMake is helpful, but not
602
+    required.
603
+    </p>
604
+    </li>
605
+    
606
+    <!--
607
+    <li>
608
+    <b>Help with independent Tor client implementations</b>
609
+    <br>
610
+    Priority: <i>Medium</i>
611
+    <br>
612
+    Effort Level: <i>High</i>
613
+    <br>
614
+    Skill Level: <i>Medium to High</i>
615
+    <br>
616
+    Likely Mentors: <i>Bruce, Nathan</i>
617
+    <p>Others are currently working on Tor clients for Java, Android, and Maemo
618
+    environments.  The first step is to get a handle on the current state of
619
+    the project in which you are interested in helping; <a
620
+    href="http://github.com/brl/JTor">Tor for Java</a>,
621
+    <a href="https://svn.torproject.org/svn/projects/android/trunk/">Android/Orbot</a>,
622
+     or <a href="<page docs/N900>">Tor for Maemo</a>. Check out the
623
+    repository and familiarize yourself
624
+    with the source code.  Further, support for requesting or even providing
625
+    Tor hidden services would be neat, but not required.</p>
626
+    <p>A prospective developer should be able to understand and write new Java
627
+    code, including a Java cryptography API. Being able to read C code would be helpful,
628
+    too. One should be willing to read the existing documentation,
629
+    implement code based on it, and refine the documentation
630
+    when things are underdocumented. This project is mostly about coding and
631
+    to a small degree about design.</p>
606 632
     </li>
633
+    -->
607 634
 
608 635
     <li>
609 636
     <b>Bring up new ideas!</b>
610 637