1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled
[[GNU_Free_Documentation_License|/fdl]]."]]"""]]
Before we get to the actual application form, some important remarks about the
application process -- please read them carefully.
Submitting the application form is only part of the deal: we expect a few other
things on top of that. Lacking these, the application is not complete, and we
won't consider it.
One of the things we expect is that you contact us directly as soon as possible
(preferably even before you send the application form), on our developer
[[mailing_lists]] and [[IRC]] channel. Don't be afraid -- we won't bite :-) IRC
in particular allows for very informal conversations.
(Note though that we are not all in the same time zone, and people generally
don't stare at the IRC screen all the time -- it can take quite a long time
until somebody replies: even several hours. Don't get discouraged by that: Just
be patient and hang on, or try again later.)
Contacting us as soon as possible is crucial, as regular communication is the
single most important factor for a successful GSoC project. We need to see that
you are able and willing to talk to us regularily. Also it allows us getting to
know you much better than the application form alone could.
You shouldn't be at a loss for reason to contact us. You ought to discuss your
project and application with us for exmple: You will gain a much better idea
about the project, our expectations etc. -- in short, you will be able to
submit a better application right from the beginnig, saving both yourself and
us some tedious roundtrips :-)
Also, if you really want to get involved with the Hurd project, there are
surely many things you will want to know :-) All in all, you should have ample
causes to get in touch during the application period. Bonus points if you also
participate in discussions not directly related to your project.
The other thing necessary to complete your application is making a change to
some part of the Hurd code, and submitting a patch with the change. (If you are
not sure what that means, ask us!)
This is important, as it shows that you have everything set up to start hacking
on the project (source code, tool chain, testing environment etc.), and that
you have all kinds of qualifications necessary to successfully finish the
project: general programming abilities; working in the Hurd environment;
submitting patches and reacting to feedback; finding and/or asking for any
information you need; and so on.
Don't get us wrong: We absolutely do *not* demand that you have and know all
this up front. After all, the idea of GSoC is to *introduce* you to free
software development in general, and to our project specifically :-) We are
willing to help you with anything you will need to create the patch -- you just
need to ask!
We actively encourage you to contact us whenever you have any doubts. Don't be
afraid that we will think worse of you when you ask too much. On the contrary:
this is an occasion for you to show us that whenever there is something you
don't know yet, you are able to learn quickly, and know how to ask for help :-)
As for the kind of change we want: Ideally, it would be some real improvement
(bug fix or new feature) in a part of the Hurd related to the specific project
you want to work on. (This is not always possible though -- in that case, a
useful change to some unrelated part of the Hurd would also do, or perhaps some
not strictly useful change to the part you will be working on.)
The [[project_ideas]] page has more information on this. In either case, please
contact us, so we can discuss it, and together come up with something suitable.
Note that we do not place any demands on the size of the change. Even a very
simple modification suffices to meet the minimum requirements -- after all, the
amount of time available for working on this before the end of the student
selection process is quite short; and you are not obliged to do a substantial
amount of work before you get accepted. (But if you feel more ambitious, that's
fine of course :-) )
Now to the actual questions in the application form. Please answer *all*
questions -- we are asking them for a reason. (Whether you answer them one by
one, or all in a larger piece of prose, is up to you.)
If some of these questions look strange to you and/or you don't quite know what
to answer, don't despair. This is not some kind of exam -- we do not expect you
to have good answers for all of them up front. (In fact, we would be very
surprised if anyone did...) The idea is more that you learn the answers before
the end of the application process -- with our help. Please talk to us whenever
you are unsure about something.
And now that you are prepared to face the enemy, here we go :-)
* Please describe the task of the project you want to work on, in your own
words. Be as specific as possible. It's not sufficient to rephrase the
description from the project ideas page; show us that you actually understand
what this task involves! Read the available documentation (and possibly code)
if necessary. And don't hesitate to ask us if you have any doubts :-)
* Give a preliminary schedule for your work. The exact dates will obviously be
only guesses; but try to be specific about all the individual steps you will
have to do to complete the task.
Note: By the end of the summer session, the code is expected to be in a state
ready to be merged to mainline. Experience shows that adding the "final
touches" necessary for that, tends to take up quite a lot of time -- there are
always some bugs here and there, some misunderstandings about how things are
supposed to work, build system issues, missing documentation, forgotten bits,
and so on. Thus, the schedule should suppose that a larger part of the main
implementation work will be done by midterm!
Also note that by the beginning of the summer session, you need to be able to
work on the task at more or less full speed -- meaning that you need to get
familiar with the code, think through the design (and discuss it with us) etc.
already in the interim period *before* the summer session.
* What things will you have to learn to be able to complete the project? What
do you already know?
In case you wonder what this question is getting at: Again, we want you to show
us that you really understand what kind of work the task involves. As always,
we encourage you to ask us for pointers if you are not sure how to go about
this :-)
* Why did you choose this project idea? What do you consider most appealing
about it?
* Please describe your previous programming experience in detail. What
languages do you use? How long have you been programming, and how much? What
kind of programs have you written? What kind of programming (and related) work
are you enjoying most?
* Have you been involved in any free software ("Open Source") projects yet?
Which projects, how long, and in what way have you been involved? Have you been
active in the Hurd project/Hurd community before?
* Please try to describe your understanding of how a free software project
works, how people interact in the community. Include anything specific you know
about the Hurd project. How do you imagine your interaction with the community
during GSoC?
* Are you running or have you run a Hurd system yet? What did you do with it?
How was your experience?
* Have you ever compiled parts of the Hurd -- including the Hurd
servers/libraries, glibc, gnumach, or some standalone traslator? Which ones,
and how? Please go into details.
* Please briefly describe the Hurd, including the goals, architecture etc.
* What makes you interested in the Hurd? Why do you want to work on it? What is
your vision of it's future development?
* Are you subscribed to bug-hurd@gnu.org, or other Hurd-related mailing lists?
Do you have general experience with mailing list communication?
* Are you using the #hurd IRC channel on freenode? Are you familiar with IRC in
general? Do you have a permanent internet connection, and/or access to one
during the summer?
* In what time zone do you live? Would you be able and willing to shift your
day/night rhythm to better match that of other Hurd developers, if necessary?
* When are the exams and vacations at your University?
* How much time do you intend to spend on your GSoC project per day/week during
the summer months? What other major activities will you engage in during the
summer? (Moving apartments, longer vacations, other obligations, etc.) If any,
how do you intend to make sure you will be able to dedicate sufficient time to
your project nevertheless?
|