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
|
[[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]]."]]"""]]
The GNU Hurd project has successfully participated in the
[Google Summer of Code 2008](http://code.google.com/soc/2008/hurd/about.html)!
All in all we had five students working on a diverse selection of five projects
from our [[ideas_list|gsoc/project_ideas]], and the students as well as the mentors
did a great job!
## Projects
* [[Sergiu_Ivanov|scolobb]] worked on **namespace-based translator selection**.
Although he wasn't an official (sponsored) GSoC student, he worked on his
project quite as steady as the other students (except for a two week
vacation). The project however was hampered by various misunderstandings,
wrong assumptions, and several major redesigns during the course of the work
-- which is probably more our fault than the student's. In the end, though, he
completed nsmux (the main namespace proxy handling the magic filename
lookups, running dynamic translators on demand); he still works on
finishing the translator stack filtering necessary to implement some of the
desired functionality (accessing files while skipping existing translators).
* [[Zheng_Da|zhengda]] worked on **network virtualization** and some related topics. In
spite of many open design question in the beginning, he did a lot of good
work -- finishing not only the ethernet multiplexer and filter translators,
which form the core of his project, but also a glibc patch to allow
overriding the standard socket servers with environment variables; the
devnode translator and a pfinet patch to allow accessing network devices
through device files; support for setting the network device in promiscuous
mode in gnumach; a pfinet patch to use BPF for the packet filtering instead
of the old Mach packet filters, and also to set a proper filter rule that
really only passes the required packages to pfinet; a patch for the subhurd
boot program to allow giving arbitrary virtual devices to the subhurd; and a
proxy for the proc server, which allows running unmodified programs with a
pseudo device master port instead of the real one -- providing some of the
subhurd functionality without having to start a complete new system instance.
He is still working on fixing some remaining issues, and on allowing subhurds
to be run by normal users.
* [[Flavio_Cruz|flaviocruz]] was working on **Lisp bindings for the Hurd interfaces**,
and did a great job: Not only did he implement bindings for all low-level
interfaces as well as higher-level libraries for easy creation of translators
and other hurdish programs, but also a whole bunch of sample
translators based on these bindings, some of them quite useful on their own
account. He also fixed a few bugs in the Hurd he found along the way.
Presently he is doing some further improvements, like additional abstractions
and more sample translators.
* [Andrei Barbu](http://csclub.uwaterloo.ca/~abarbu/hurd/) was working on
**porting a kernel instrumentation framework** like dtrace or SystemTap. He
implemented the necessary kernel infrastructure (and some nice general
improvements along the way), making it possible to create tracing programs by
hand; however, only at the end of the summer he realized that SystemTap is
really extremely Linux-specific (while dtrace was ruled out already at the
setout because of licensing problems), so there is no nice frontend yet.
Unfortunately he was not able to continue work beyond the official deadline
because of his PhD.
* [[Madhusudan.C.S|madhusudancs]] was working on a **new procfs implementation**, to
allow running existing programs based on Linux procfs out of the box. He
managed to implement all the necessary information bits, so the most
important procfs programs now work; and also fixed the procps program suite
to actually build on the Hurd. There are still some major bugs left, though.
Aside from fixing the remaining bugs, he now works on adding some more
information bits that are nontrivial to implement, and on fixing libgtop to
work for us as well.
## IRC meetings
Since the selection of the students on we have had regular GSoC IRC meetings,
every Friday 19:00 UTC.
Minutes from some of the meetings: [[2008/minutes-2008-04-25]],
[[2008/minutes-2008-05-02]], [[2008/minutes-2008-05-16]]
We decided to keep up the meetings after the end of official GSoC, so things
can be properly wrapped up for upstream submission; but also because the
students want to continue discussing progress with their ongoing work,
problems, future directions etc.
I also think that regular IRC meetings are a good thing in general.
As always, the meetings are not only for (former) GSoC students and mentors,
but open to any interested party :-)
If someone of you is lurking around here and would like to contribute,
but feel that you could do so better under formal mentoring: Please
speak up at the meeting! :-)
## History
2006 and 2007 we participated in GSoC under the umbrella of the GNU project,
getting one slot each year.
<!-- TODO. Extend. -->
## Joining in
If these successes got you interested in contributing some larger part yourself -
in your free time or maybe in next years Google Summer of Code -
please have a look at our [[project_ideas]] and read up about [[contributing]].
|