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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
[[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]]."]]"""]]
* What is your Organization's Name?
GNU Hurd
* What is your Organization's Homepage?
http://hurd.gnu.org
* Describe your organization.
The Hurd project is a loose community of people sharing a common interest in
developing the Hurd kernel, which is the official kernel of the [GNU operating
system](http://gnu.org).
When the Hurd was originally started in 1990, it was the last missing major
component for a complete GNU system. Today Linux and other free kernels are
available to fill this gap, and the combination of GNU and Linux (often
[incorrectly](http://www.gnu.org/gnu/why-gnu-linux.html) called just "Linux")
is in wide use. However, the Hurd is still interesting due to its unique
design, better fitting the GNU philosophy than traditional monolithic kernels
like Linux.
The GNU GPL guarantees that all users of software published under this license
get the legal permission to adapt the software they are using according to
their wishes, and also get the source code and other tools necessary to put
this permission to use. However, in traditional operating systems, the kernel
and related low-level system software are protected from normal users, and
cannot be easily modified; only the system administrator has power over these.
The Hurd offers special mechanisms that allow any user to change almost all of
the system functionality he uses, without affecting the rest of the system, and
thus easily (at runtime) and without any special permissions.
This ability to run subenvironments more or less independant from the rest of
the system, can be classified as a very sophisticated [lightweight
virtualization](http://tri-ceps.blogspot.com/2007/10/advanced-lightweight-virtualization.html)
approach.
To offer these possibilities, the Hurd uses a true multiserver microkernel
architecture. That makes it quite unique: The Hurd is the only general-purpose
multiserver microkernel system in development today that is nearly ready for
everyday use, and offering almost perfect UNIX compatibility. (More than half
of the packages in the Debian repository are available for the Hurd.) All other
existing true microkernel systems are either research projects not nearly
complete enough for actual use, or limited to embedded systems and other
special purposes, or both.
Marcus Brinkmann and Neal Walfield from the Hurd project are working at the
bleeding edge of microkernel operating system research. They have been in
contact with the most distinguished researchers in that field from the
[L4](http://l4hq.org/) and
[EROS](http://www.eros-os.org/eros.html)/[Coyotos](http://www.coyotos.org/)
microkernel operating system groups, and have written a couple of [research
papers](http://walfield.org/).
* Why is your organization applying to participate in GSoC 2009? What do you
hope to gain by participating?
The primary goal of course is to find and introduce new long-term contributors
to the project.
Aside from that, it is a way to make progress with tasks that require an amount of
focused work, that is hard to do for volunteers working in their spare time
only.
Also it is a good possibility to get valuable input from new people, as well as
spreading technical and other knowledge about the Hurd among actual and
potential contributors. More generally, participation should help raising
awareness among people who might know about the existence of the Hurd, but
otherwise having very little idea what the project is all about, and how its
progress is.
Last but not least, we hope the participation will have a positive effect on
our community -- new impulses, increased communication etc.
* Did your organization participate in past GSoCs? If so, please summarize
your involvement and the successes and challenges of your participation.
In 2006 and 2007,
we participated under the umbrella of the GNU project, getting one slot each
year.
The 2006 participation was mostly a failure. After some intitial work
(available in CVS), the student disappeared -- moving to another country and
other personal issues from what we heard.
The 2007 participation was a considerable success. The student was very bright
and dedicated. We got some code, as well as a lot of ideas, which we continued
discussing after the end of GSoC, and he intends to put into code as well in
the future.
In 2008 we participated as an organisation on our own for the first time. This
turned out extremely beneficial: Not only did it give us much better
possibilities to find and select good students, as we hoped. We also get a lot
more applications, mostly of good or excellent quality.
We ended up with four slots. (We didn't request more, because we were not sure
whether we would be able to mentor them properly, and generally didn't want to
overdo it on our first "full" participation.) There was also a fifth student,
who worked on his project in spite of not getting a slot.
All five students were pretty successful, most of them completing or almost
completing the original goals -- some even exceeding them. Even our weakest
student, after serious struggling in the beginning, did quite well in the end.
Two students are still regularily working on the Hurd -- not as much as we
hoped of course, but probably as much as can be realistically expected...
All in all, the participation was a considerable amount of work, but it was
definitely worth it :-)
* If your organization has not previously participated in GSoC, have you
applied in the past? If so, for what year(s)?
--
* What license(s) does your project use?
Most of the code in the Hurd servers and the Hurd-specific glibc parts is
licensed GPLv2 or later; it might move to GPLv3 soon. Some components (mostly
the TCP/IP stack and parts of the ext2fs driver) are based on Linux code and
thus GPLv2 only.
The microkernel (gnumach) is covered by the three-clause BSD license. (And some
minor variations of same...)
* What is the URL for your ideas page?
[[project_ideas]]
* What is the main development mailing list or forum for your organization?
bug-hurd@gnu.org, see http://lists.gnu.org/mailman/listinfo/bug-hurd
* What is the main IRC channel for your organization?
\#hurd on freenode.net
* Does your organization have an application template you would like to see
students use? If so, please provide it now.
[[student_application_form]]
* Who will be your backup organization administrator? Please include Google
Account information.
bddebian at gmail
* Who will your mentors be? Please include Google Account information.
antrik at gmx.net, benasselstine at gmail, samuel.thibault at ens-lyon.org,
glguida at gmail, neal, marcus, ...
* What criteria did you use to select these individuals as mentors? Please be
as specific as possible.
The most important criterium is that the person is involved in the project for
some time, knowing the ways; so he can actually instruct the student; and if
there are tough technical questions he can't answer himself, he knows whom to
ask.
It's also important that the mentors are reliable and helpful, so the students
won't be left on their own with any problems they face.
* What is your plan for dealing with disappearing students?
The plan is mostly to avoid that happening in the first place. For that, we
will be particularily careful with the selection of the students: Making sure
that they have no other obligations during that time; that they are motivated
enough; that they actually have the necessary skills to complete the task; that
they fit in our community.
Also, we will make sure that we are constantly in contact with the students --
asking about progress, discussing technical issues, etc. -- so we can act in
time if things go wrong.
If a student disappears in spite of that, there is little we can do. Of course
we will try to contact him and find out what the problem is; whether the
project can perhaps be scaled down, or at least wrapped up to bring it in a
state where it is useful even if not finished.
We will also try to limit damage by insisting that students regularily check in
their work, so that we get partial results at least if someone disappears.
* What is your plan for dealing with disappearing mentors?
As our mentors all have been with the project for some time, the risk of them
disappearing is not too big. If one of them disappears nevertheless, it's not a
problem for us: We have enough mentors, and someone else will take over.
We will encourage the students to keep discussions public as much as possible,
keeping private conversations with the mentors to a minimum, so the transition
should go smoothly.
* What steps will you take to encourage students to interact with your
project's community before, during and after the program?
As part of the application process, we will ask students to answer very
specific questions about our organisation and the project they chose, which
they won't be able to answer without contacting us and discussing details
already during the application phase. This way we make sure we only get
studends able and willing to communicate with us.
During the program, we will be asking the students actively about the work they
do, problems they face, decisions they take etc.
After the program we will continue discussing the projects, and ask the
students to take part in these discussions.
* What will you do to ensure that your accepted students stick with the project
after GSoC concludes?
We will try to invite all participating students to a conference afterwards,
where we will discuss the projects, as well as other Hurd-related topics. We
hope this will motivate them to follow up on the work they have done during the
program, and generally help keeping them involved.
|