summaryrefslogtreecommitdiff
path: root/community/gsoc/project_ideas.mdwn
blob: 38355e701ffed1a7016966f74f52afa9a6440521 (plain)
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
[[!meta copyright="Copyright © 2008, 2009, 2010, 2011 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]]."]]"""]]

We offer a wide range of possible projects to choose from. If you have an idea
not listed here, we'd love to hear about it!

In either case, we encourage you to contact us (on [[IRC]] and/or our developer
[[mailing lists]]), so we can discuss your idea, or help you pick a suitable
task -- we will gladly explain the tasks in more detail, if the descriptions
are not clear enough.

In fact, we suggest you discuss your choice with us even if you have no trouble
finding a task that suits you: as explained in the introduction section of the
[[student_application_form]], we ask all students to get into regular
communication with us for the application to be considered complete. Talking
about your project choice is a good start :-)

(We strongly suggest that you generally take a look at the
[[student_application_form]] right now -- the sooner you know what we expect,
the better you can cater to it :-) )

Many of the project descriptions suggest some "exercise". The reason is that
for the application to be complete, we require you to make a change to the Hurd
code, and send us the resulting patch. (This is also explained in the
[[student_application_form]].) If possible, the change should make some
improvement to the code you will be working on during the summer, or to some
related code.

The "exercise" bit in the project description is trying to give you some ideas
what kind of change this could be. In most cases it is quite obvious, though:
Try to find something to improve in the relevant code, by looking at known
issues in the [Savannah bug tracker](http://savannah.gnu.org/bugs/?group=hurd);
by running the code and testing stuff; and by looking through the code. If you
don't find anything, try with some related code -- if you task involves
translator programming, make some improvement to an existing translator; if it
involves glibc hacking, make an improvement to glibc; if it involves driver
hacking, make an improvement to the driver framework; and so on... Makes sense,
doesn't it? :-)

Sometimes it's hard to come up with a useful improvement to the code in
question, that isn't too complicated for the purposes of the application. In
this case, we need to find a good alternative. You could for example make an
improvement to some Hurd code that is not directly related to your project:
this way you won't get familiar with working on the code you will actually need
for the task, but at least you can show that you are able to work with the Hurd
code in general.

Another possible alternative would be making some change to the code in
question, that isn't really a useful improvement, while still making sense in
some way -- this could suffice to prove that you are able to work with the
code.

Don't despair if you can't come up with anything suitable by yourself. Contact
us, and we will think of something together :-)

In either case, we strongly suggest that you talk to us about the change you
want to make up front, to be sure that it is something that will get our
approval -- especially if the idea is not directly taken from the project
description.

Also, don't let this whole patch stuff discourage you from applying! As
explained in the [[student_application_form]], it's not a problem if you do not
yet have all the necessary knowledge to do this alone -- we don't expect that.
After all, the purpose of GSoC is to introduce you to free software development
:-) We only want to see that you are able to obtain the necessary knowledge
before the end of the application process, with our help -- contact us, and we
will assist you as well as we can.

See also the list of **[Hurd-related X.org project
ideas](http://wiki.x.org/wiki/Hurd_Porting)**.

<!-- These X.org tasks are also listed on
<http://xorg.freedesktop.org/wiki/SummerOfCodeIdeas>, which is the page used by
X.org for referring to their GSoC projects.  Probabaly we should get rid of one
of these pages (to avoid duplication).  -->

Also, note that there is a task about **[porting GCC's implementation of the
Google Go programming language to
GNU/Hurd](http://gcc.gnu.org/wiki/SummerOfCode#gccgo_hurd)**.

[[!inline pages="community/gsoc/project_ideas/language_bindings" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/virtualization" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/file_locking" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/server_overriding" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/pthreads" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/disk_io_performance" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/vm_tuning" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/mtab" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/gnumach_cleanup" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/xmlfs" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/unionfs_boot" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/tmpfs" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/lexical_dot-dot" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/secure_chroot" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/perl_python" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/testsuites" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/testing_framework" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/valgrind" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/driver_glue_code" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/dtrace" show=0 feeds=no actions=yes]]