revamp the open positions
Andrew Lewman

Andrew Lewman commited on 2009-12-08 07:57:39
Zeige 1 geänderte Dateien mit 93 Einfügungen und 39 Löschungen.

... ...
@@ -13,10 +13,10 @@
13 13
 able to work independently and want to help make Tor better.
14 14
 </p>
15 15
 
16
-<p>In particular, we're looking for two categories of people:</p>
16
+<p>In particular, we're looking for a few people:</p>
17 17
 <ul>
18
-<li><a href="#developer">Software Developer</a></li>
19
-<li><a href="#activist">Activist/Outreach</a></li>
18
+<li><a href="#sysdev">Systems Developer</a></li>
19
+<li><a href="#windowsdev">Microsoft Windows Developer</a></li>
20 20
 </ul>
21 21
 
22 22
 <p>Working on Tor is rewarding because:</p>
... ...
@@ -35,11 +35,97 @@ We want you to have good communication and writing skills (in particular,
35 35
 you should know how to keep other project members informed of your
36 36
 progress), and we want you to know how to figure out what needs doing and
37 37
 then take the initiative to do it. Most project members play more than
38
-one role, so combination developer/activist/grantwriters are very welcome.
38
+one role, so combination developer/activist are very welcome.
39 39
 </p>
40 40
 
41
-<a id="developer"></a>
42
-<h3><a class="anchor" href="#developer">Developer</a></h3>
41
+<a id="sysdev"></a>
42
+<h3><a class="anchor" href="#sysdev">Systems Developer</a></h3>
43
+<ul>
44
+<li><strong>New Secure Updater Features</strong>:
45
+<br />
46
+Additional capabilities are needed for assisted updates of all the Tor
47
+related software for Windows and other operating systems. Some of the
48
+features to consider include:
49
+<ol>
50
+<li> Integration of the <a
51
+href="http://chandlerproject.org/Projects/MeTooCrypto">MeTooCrypto
52
+Python library</a> for authenticated HTTPS downloads.</li>
53
+<li> Adding a level of indirection between the timestamp signatures
54
+and the package files included in an update. See the "Thandy attacks /
55
+suggestions" thread on or-dev.</li>
56
+<li> Support locale specific installation and configuration of assisted
57
+updates based on preference, host, or user account language settings.
58
+Familiarity with Windows codepages, unicode, and other character sets
59
+is helpful in addition to general win32 and posix API experience and
60
+Python proficiency.</li>
61
+</ol>
62
+</li>
63
+
64
+<li><strong>Tor/Polipo/Vidalia Auto-Update Framework</strong>:
65
+<p>We're in need of a good authenticated-update framework.  Vidalia already
66
+has the ability to notice when the user is running an outdated or
67
+unrecommended version of Tor, using signed statements inside the Tor
68
+directory information. Currently, Vidalia simply pops up a little message
69
+box that lets the user know they should manually upgrade. The goal of
70
+this project would be to extend Vidalia with the ability to also fetch
71
+and install the updated Tor software for the user. We should do the
72
+fetches via Tor when possible, but also fall back to direct fetches in
73
+a smart way. Time permitting, we would also like to be able to update
74
+other applications included in the bundled installers, such as Polipo
75
+and Vidalia itself.</p>
76
+<p>To complete this project, you will first need to first investigate
77
+the existing auto-update frameworks (e.g., Sparkle on OS X) to evaluate
78
+their strengths, weaknesses, security properties, and ability to be
79
+integrated into Vidalia. If none are found to be suitable, the student
80
+will design their own auto-update framework, document the design, and
81
+then discuss the design with other developers to assess any security
82
+issues. You will then implement their framework (or integrate
83
+an existing one) and test it.</p>
84
+<p>A person undertaking this project should have good C++ development
85
+experience. Previous experience with Qt is helpful, but not required. One
86
+should also have a good understanding of common security
87
+practices, such as package signature verification. Good writing ability
88
+is also important for this project, since a vital step of the project
89
+will be producing a design document to review and discuss
90
+with others prior to implementation.</p>
91
+</li>
92
+</ul>
93
+
94
+<a id="windowsdev"></a>
95
+<h3><a class="anchor" href="#windowsdev">Microsoft Windows Developer</a></h3>
96
+This person needs to be very familiar with Windows at a system and
97
+network level.  We're looking or someone to do two projects:
98
+<ul>
99
+<li><strong>Improving Polipo on Windows</strong>:
100
+<p>Help port <a
101
+href="http://www.pps.jussieu.fr/~jch/software/polipo/">Polipo</a>
102
+to Windows. Example topics to tackle include: 
103
+<ol>
104
+<li> the ability to asynchronously query name servers, find the system
105
+nameservers, and manage netbios and dns queries.</li>
106
+<li> manage events and buffers natively (i.e. in Unix-like OSes, Polipo
107
+defaults to 25% of ram, in Windows it's whatever the config
108
+specifies).</li>
109
+<li> some sort of GUI config and reporting tool, bonus if it has a
110
+systray icon with right clickable menu options. Double bonus if it's
111
+cross-platform compatible.</li>
112
+<li> allow the software to use the Windows Registry and handle proper
113
+Windows directory locations, such as "C:\Program Files\Polipo"</li>
114
+</ol>
115
+</li>
116
+
117
+<li><strong>Intermediate Level Network Device Driver</strong>:
118
+<br />
119
+The WinPCAP device driver used by Tor VM for bridged networking does
120
+not support a number of wireless and non-Ethernet network adapters.
121
+Implementation of a intermediate level network device driver for win32
122
+and 64bit would provide a way to intercept and route traffic over such
123
+networks. This project will require knowledge of and experience with
124
+Windows kernel device driver development and testing. Familiarity with
125
+Winsock and Qemu would also be helpful.
126
+</li>
127
+</ul>
128
+</p>
43 129
 
44 130
 <p>
45 131
 The best way to get noticed as a good developer is to join the community
... ...
@@ -52,40 +138,8 @@ Torbutton, etc.
52 138
 Periodically we get new funding to work on more development
53 139
 projects.  Your goal should be to get into the list of <a href="<page
54 140
 people>#Core">core project members</a> so we think of you when new
55
-funding arrives. We're particularly looking for Windows developers and
141
+funding arrives. We're particularly looking for Qt developers and
56 142
 people to help maintain <a href="<page vidalia/index>">Vidalia</a>.
57
-</p>
58
-
59
-<a id="activist"></a>
60
-<h3><a class="anchor" href="#activist">Activist and Outreach</a></h3>
61
-
62
-<p>
63
-There are a lot of excited people about there who want to help Tor
64
-&mdash; by running relays, helping users, writing documentation,
65
-working on add-on tools, and so on. We need to keep in touch with
66
-all of them, help them work with each other, and help them understand
67
-where they can be most useful.
68
-</p>
69
-
70
-<p>
71
-Tor activists should understand Tor's role in the world, and they should
72
-be good at explaining to the world why privacy/security/anonymity are
73
-important. They should also be well-connected with other groups around
74
-the world who care about these issues.
75
-</p>
76
-
77
-<p>
78
-Like the developer positions above, the best way to get noticed
79
-for this position is to start helping out: join the <a href="<page
80
-documentation>#MailingLists">mailing lists</a> and the <a href="<page
81
-documentation>#Support">IRC channel</a>, help clean up our FAQ, and
82
-generally be useful. Once we notice you're competent and reliable,
83
-we'll add you to the <a href="<page contact>">"tor-assistants"</a> list,
84
-and we can see where it goes from there.
85
-</p>
86
-
87
-<p>
88
-In addition, we are looking to hire experienced grant-writers.
89 143
 </p>
90 144
 
91 145
   </div><!-- #main -->
92 146