NOTE
-
**
This
page
s
now
historical.
***
Google
has
opened
up
the
program
to
more
than
just
formal
students,
so
we've
moved
to
GSoC
Contributor
Expectations.
OLD PAGE
We're
excited
to
get
applications
from
students
with
a
wide
range
of
backgrounds,
experience
levels,
and
interests.
To
ensure
everyone
has
the
best
experience
possible,
here
are
a
few
guidelines
for
students
thinking
about
applying
to
work
with
Plan
9
or
related
technologies
in
Google
Summer
of
Code.
SKILLS
The
primary
skill
needed
to
work
well
with
Plan
9
or
related
projects
is
an
ability
to
think
creatively
about
problems.
While
the
Unix
lineage
of
all
these
tools
is
clear,
we
do
a
number
of
things
differently.
Students
should
be
prepared
to
be
working
in
a
somewhat
unfamiliar
-
but
very
exciting!
-
environment.
If
you're
working
on
Plan
9
itself,
your
project
will
most
likely
be
done
in
C.
We
use
a
dialect
of
ANSI
C
with
a
few
restrictions,
a
few
extensions,
and
a
more
limited
pre-processor.
If
you're
good
with
ANSI
C,
it'll
be
an
easy
transition.
There
is
a
tiny
bit
of
assembly
in
the
platform
support;
if
you're
working
on
a
port
you
may
need
to
be
able
to
handle
that.
It
is
possible
to
do
Plan
9
projects
in
a
few
other
languages
(most
notably
Go);
if
you're
thinking
about
doing
that,
be
sure
to
talk
to
us
beforehand
to
ensure
a
good
language/environment
fit.
For
Inferno,
the
kernel
is
written
in
C
while
all
the
applications
are
written
in
Limbo,
a
high-level
language
vaguely
similar
to
C
(and
an
ideological
ancestor
to
Go).
If
you're
familiar
with
C
or
other
C-family
languages,
it
should
be
a
relatively
easy
learning
curve.
If
you're
looking
to
work
on
a
project
for
Inferno
and
are
not
already
familiar
with
Limbo,
you
should
get
at
least
a
high-level
familiarity
while
preparing
your
application
to
GSoC
and
be
prepared
to
be
reasonably
proficient
before
the
start
of
the
coding
period.
Skill
requirements
for
other
projects
will
vary
with
the
specifics.
For
example,
v9fs
will
require
C
work
in
the
style
used
by
the
Linux
kernel,
while
9p/styx
servers
in
other
languages
could
be
done
entirely
in
those
languages.
If
a
project
on
our
ideas
page
has
particular
skill
requirements
beyond
these,
we'll
list
them
there.
EXPECTATIONS
Over
the
course
of
the
summer,
students
will
be
engaged
in
a
project
with
their
mentor
that
is
designed
to
be
educational,
productive,
and
fill
about
175
hours
over
the
course
of
a
summer.
To
ensure
that
this
goes
well,
students
should
be
prepared
for
the
following:
-
Students
are,
of
course,
expected
to
follow
all
Google's
rules
for
the
program,
and
to
have
read
the
Student
Guide.
This
includes
filling
out
the
midterm
and
final
evaluations
in
a
timely
manner.
-
The
reduced
hours
for
GSoC
2021
mean
that
students
are
not
expected
to
be
working
full
time
all
summer.
Students
will
need
to
coordinate
with
their
mentors
up
front
in
order
to
find
a
schedule
for
the
summer
which
works
for
you
both.
-
Students
will
be
expected
to
be
in
regular
contact
with
their
mentors.
You
should
discuss
exactly
what
this
means
with
your
mentor,
but
it
likely
means
every
day
or
two
initially.
This
daily(-ish)
contact
needn't
be
particularly
in-depth,
but
should
indicate
what
you've
been
doing
since
the
last
such
contact.
Lines
from
a
changelog
or
commit
messages
would
be
great
to
include
here,
but
discuss
the
exact
form
with
your
mentor.
Note
that
this
is
only
expected
to
be
true
durring
the
agreed-to
work
period.
-
You'll
be
epxected
to
make
a
regular
report
to
the
plan9-gsoc
mailing
list.
This
should
give
a
reasonably
detailed
account
of
what
you've
done
over
the
past
week.
You
needn't
give
line-by-line
code
review,
but
it
should
be
enough
so
that
casual
readers
of
the
list
know
what
you've
been
up
to.
In
past
years,
we've
required
this
to
be
every
Monday,
but
discuss
what
makes
sense
with
your
mentor.
A
good
guide
is
weekly
while
you're
working
on
it.
-
Students
must
keep
their
code
in
a
publicly-available
place,
with
updates
every
day
or
so
reflecting
the
current
state
of
things.
Don't
worry:
if
it
doesn't
compile
for
a
few
days
nobody's
going
to
get
mad,
but
we
need
to
be
able
to
see
what
you're
working
on
to
make
sure
you're
not
heading
off
in
unproductive
directions.
Discuss
with
your
mentor
where
to
put
this.
-
Each
student
will
be
assigned
a
backup
mentor.
This
mentor
may
not
have
much
day
to
day
interaction
with
you,
but
will
be
following
along
in
case
they're
needed.
Keep
them
in
the
loop
by
CC'ing
them
on
any
mail
sent
to
your
mentor
(and
not
sent
to
the
plan9-gsoc
list).
-
In
the
unlikely
event
that
your
mentor
becomes
uncommunicative
or
unresponsive,
let
your
backup
mentor
and
organization
admins
know
right
away.
We're
excited
to
get
applications
from
students
with
a
wide
range
of
backgrounds,
experience
levels,
and
interests.
To
ensure
everyone
has
the
best
experience
possible,
here
are
a
few
guidelines
for
students
thinking
about
applying
to
work
with
Plan
9
or
related
technologies
in
Google
Summer
of
Code.
SKILLS
The
primary
skill
needed
to
work
well
with
Plan
9
or
related
projects
is
an
ability
to
think
creatively
about
problems.
While
the
Unix
lineage
of
all
these
tools
is
clear,
we
do
a
number
of
things
differently.
Students
should
be
prepared
to
be
working
in
a
somewhat
unfamiliar
-
but
very
exciting!
-
environment.
If
you're
working
on
Plan
9
itself,
your
project
will
most
likely
be
done
in
C.
We
use
a
dialect
of
ANSI
C
with
a
few
restrictions,
a
few
extensions,
and
a
more
limited
pre-processor.
If
you're
good
with
ANSI
C,
it'll
be
an
easy
transition.
There
is
a
tiny
bit
of
assembly
in
the
platform
support;
if
you're
working
on
a
port
you
may
need
to
be
able
to
handle
that.
It
is
possible
to
do
Plan
9
projects
in
a
few
other
languages
(most
notably
Go);
if
you're
thinking
about
doing
that,
be
sure
to
talk
to
us
beforehand
to
ensure
a
good
language/environment
fit.
For
Inferno,
the
kernel
is
written
in
C
while
all
the
applications
are
written
in
Limbo,
a
high-level
language
vaguely
similar
to
C
(and
an
ideological
ancestor
to
Go).
If
you're
familiar
with
C
or
other
C-family
languages,
it
should
be
a
relatively
easy
learning
curve.
If
you're
looking
to
work
on
a
project
for
Inferno
and
are
not
already
familiar
with
Limbo,
you
should
get
at
least
a
high-level
familiarity
while
preparing
your
application
to
GSoC
and
be
prepared
to
be
reasonably
proficient
before
the
start
of
the
coding
period.
Skill
requirements
for
other
projects
will
vary
with
the
specifics.
For
example,
v9fs
will
require
C
work
in
the
style
used
by
the
Linux
kernel,
while
9p/styx
servers
in
other
languages
could
be
done
entirely
in
those
languages.
If
a
project
on
our
ideas
page
has
particular
skill
requirements
beyond
these,
we'll
list
them
there.
EXPECTATIONS
Over
the
course
of
the
summer,
students
will
be
engaged
in
a
project
with
their
mentor
that
is
designed
to
be
educational,
productive,
and
fill
about
175
hours
over
the
course
of
a
summer.
To
ensure
that
this
goes
well,
students
should
be
prepared
for
the
following:
-
Students
are,
of
course,
expected
to
follow
all
Google's
rules
for
the
program,
and
to
have
read
the
Student
Guide.
This
includes
filling
out
the
midterm
and
final
evaluations
in
a
timely
manner.
-
The
reduced
hours
for
GSoC
2021
mean
that
students
are
not
expected
to
be
working
full
time
all
summer.
Students
will
need
to
coordinate
with
their
mentors
up
front
in
order
to
find
a
schedule
for
the
summer
which
works
for
you
both.
-
Students
will
be
expected
to
be
in
regular
contact
with
their
mentors.
You
should
discuss
exactly
what
this
means
with
your
mentor,
but
it
likely
means
every
day
or
two
initially.
This
daily(-ish)
contact
needn't
be
particularly
in-depth,
but
should
indicate
what
you've
been
doing
since
the
last
such
contact.
Lines
from
a
changelog
or
commit
messages
would
be
great
to
include
here,
but
discuss
the
exact
form
with
your
mentor.
Note
that
this
is
only
expected
to
be
true
durring
the
agreed-to
work
period.
-
You'll
be
epxected
to
make
a
regular
report
to
the
plan9-gsoc
mailing
list.
This
should
give
a
reasonably
detailed
account
of
what
you've
done
over
the
past
week.
You
needn't
give
line-by-line
code
review,
but
it
should
be
enough
so
that
casual
readers
of
the
list
know
what
you've
been
up
to.
In
past
years,
we've
required
this
to
be
every
Monday,
but
discuss
what
makes
sense
with
your
mentor.
A
good
guide
is
weekly
while
you're
working
on
it.
-
Students
must
keep
their
code
in
a
publicly-available
place,
with
updates
every
day
or
so
reflecting
the
current
state
of
things.
Don't
worry:
if
it
doesn't
compile
for
a
few
days
nobody's
going
to
get
mad,
but
we
need
to
be
able
to
see
what
you're
working
on
to
make
sure
you're
not
heading
off
in
unproductive
directions.
Discuss
with
your
mentor
where
to
put
this.
-
Each
student
will
be
assigned
a
backup
mentor.
This
mentor
may
not
have
much
day
to
day
interaction
with
you,
but
will
be
following
along
in
case
they're
needed.
Keep
them
in
the
loop
by
CC'ing
them
on
any
mail
sent
to
your
mentor
(and
not
sent
to
the
plan9-gsoc
list).
-
In
the
unlikely
event
that
your
mentor
becomes
uncommunicative
or
unresponsive,
let
your
backup
mentor
and
organization
admins
know
right
away.
We're
excited
to
get
applications
from
students
with
a
wide
range
of
backgrounds,
experience
levels,
and
interests.
To
ensure
everyone
has
the
best
experience
possible,
here
are
a
few
guidelines
for
students
thinking
about
applying
to
work
with
Plan
9
or
related
technologies
in
Google
Summer
of
Code.
SKILLS
The
primary
skill
needed
to
work
well
with
Plan
9
or
related
projects
is
an
ability
to
think
creatively
about
problems.
While
the
Unix
lineage
of
all
these
tools
is
clear,
we
do
a
number
of
things
differently.
Students
should
be
prepared
to
be
working
in
a
somewhat
unfamiliar
-
but
very
exciting!
-
environment.
If
you're
working
on
Plan
9
itself,
your
project
will
most
likely
be
done
in
C.
We
use
a
dialect
of
ANSI
C
with
a
few
restrictions,
a
few
extensions,
and
a
more
limited
pre-processor.
If
you're
good
with
ANSI
C,
it'll
be
an
easy
transition.
There
is
a
tiny
bit
of
assembly
in
the
platform
support;
if
you're
working
on
a
port
you
may
need
to
be
able
to
handle
that.
It
is
possible
to
do
Plan
9
projects
in
a
few
other
languages
(most
notably
Go);
if
you're
thinking
about
doing
that,
be
sure
to
talk
to
us
beforehand
to
ensure
a
good
language/environment
fit.
For
Inferno,
the
kernel
is
written
in
C
while
all
the
applications
are
written
in
Limbo,
a
high-level
language
vaguely
similar
to
C
(and
an
ideological
ancestor
to
Go).
If
you're
familiar
with
C
or
other
C-family
languages,
it
should
be
a
relatively
easy
learning
curve.
If
you're
looking
to
work
on
a
project
for
Inferno
and
are
not
already
familiar
with
Limbo,
you
should
get
at
least
a
high-level
familiarity
while
preparing
your
application
to
GSoC
and
be
prepared
to
be
reasonably
proficient
before
the
start
of
the
coding
period.
Skill
requirements
for
other
projects
will
vary
with
the
specifics.
For
example,
v9fs
will
require
C
work
in
the
style
used
by
the
Linux
kernel,
while
9p/styx
servers
in
other
languages
could
be
done
entirely
in
those
languages.
If
a
project
on
our
ideas
page
has
particular
skill
requirements
beyond
these,
we'll
list
them
there.
EXPECTATIONS
Over
the
course
of
the
summer,
students
will
be
engaged
in
a
project
with
their
mentor
that
is
designed
to
be
educational,
productive,
and
fill
about
175
hours
over
the
course
of
a
summer.
To
ensure
that
this
goes
well,
students
should
be
prepared
for
the
following:
-
Students
are,
of
course,
expected
to
follow
all
Google's
rules
for
the
program,
and
to
have
read
the
Student
Guide.
This
includes
filling
out
the
midterm
and
final
evaluations
in
a
timely
manner.
-
The
reduced
hours
for
GSoC
2021
mean
that
students
are
not
expected
to
be
working
full
time
all
summer.
Students
will
need
to
coordinate
with
their
mentors
up
front
in
order
to
find
a
schedule
for
the
summer
which
works
for
you
both.
-
Students
will
be
expected
to
be
in
regular
contact
with
their
mentors.
You
should
discuss
exactly
what
this
means
with
your
mentor,
but
it
likely
means
every
day
or
two
initially.
This
daily(-ish)
contact
needn't
be
particularly
in-depth,
but
should
indicate
what
you've
been
doing
since
the
last
such
contact.
Lines
from
a
changelog
or
commit
messages
would
be
great
to
include
here,
but
discuss
the
exact
form
with
your
mentor.
Note
that
this
is
only
expected
to
be
true
durring
the
agreed-to
work
period.
-
You'll
be
epxected
to
make
a
regular
report
to
the
plan9-gsoc
mailing
list.
This
should
give
a
reasonably
detailed
account
of
what
you've
done
over
the
past
week.
You
needn't
give
line-by-line
code
review,
but
it
should
be
enough
so
that
casual
readers
of
the
list
know
what
you've
been
up
to.
In
past
years,
we've
required
this
to
be
every
Monday,
but
discuss
what
makes
sense
with
your
mentor.
A
good
guide
is
weekly
while
you're
working
on
it.
-
Students
must
keep
their
code
in
a
publicly-available
place,
with
updates
every
day
or
so
reflecting
the
current
state
of
things.
Don't
worry:
if
it
doesn't
compile
for
a
few
days
nobody's
going
to
get
mad,
but
we
need
to
be
able
to
see
what
you're
working
on
to
make
sure
you're
not
heading
off
in
unproductive
directions.
Discuss
with
your
mentor
where
to
put
this.
-
Each
student
will
be
assigned
a
backup
mentor.
This
mentor
may
not
have
much
day
to
day
interaction
with
you,
but
will
be
following
along
in
case
they're
needed.
Keep
them
in
the
loop
by
CC'ing
them
on
any
mail
sent
to
your
mentor
(and
not
sent
to
the
plan9-gsoc
list).
-
In
the
unlikely
event
that
your
mentor
becomes
uncommunicative
or
unresponsive,
let
your
backup
mentor
and
organization
admins
know
right
away.
We're
excited
to
get
applications
from
students
with
a
wide
range
of
backgrounds,
experience
levels,
and
interests.
To
ensure
everyone
has
the
best
experience
possible,
here
are
a
few
guidelines
for
students
thinking
about
applying
to
work
with
Plan
9
or
related
technologies
in
Google
Summer
of
Code.
SKILLS
The
primary
skill
needed
to
work
well
with
Plan
9
or
related
projects
is
an
ability
to
think
creatively
about
problems.
While
the
Unix
lineage
of
all
these
tools
is
clear,
we
do
a
number
of
things
differently.
Students
should
be
prepared
to
be
working
in
a
somewhat
unfamiliar
-
but
very
exciting!
-
environment.
If
you're
working
on
Plan
9
itself,
your
project
will
most
likely
be
done
in
C.
We
use
a
dialect
of
ANSI
C
with
a
few
restrictions,
a
few
extensions,
and
a
more
limited
pre-processor.
If
you're
good
with
ANSI
C,
it'll
be
an
easy
transition.
There
is
a
tiny
bit
of
assembly
in
the
platform
support;
if
you're
working
on
a
port
you
may
need
to
be
able
to
handle
that.
It
is
possible
to
do
Plan
9
projects
in
a
few
other
languages
(most
notably
Go);
if
you're
thinking
about
doing
that,
be
sure
to
talk
to
us
beforehand
to
ensure
a
good
language/environment
fit.
For
Inferno,
the
kernel
is
written
in
C
while
all
the
applications
are
written
in
Limbo,
a
high-level
language
vaguely
similar
to
C
(and
an
ideological
ancestor
to
Go).
If
you're
familiar
with
C
or
other
C-family
languages,
it
should
be
a
relatively
easy
learning
curve.
If
you're
looking
to
work
on
a
project
for
Inferno
and
are
not
already
familiar
with
Limbo,
you
should
get
at
least
a
high-level
familiarity
while
preparing
your
application
to
GSoC
and
be
prepared
to
be
reasonably
proficient
before
the
start
of
the
coding
period.
Skill
requirements
for
other
projects
will
vary
with
the
specifics.
For
example,
v9fs
will
require
C
work
in
the
style
used
by
the
Linux
kernel,
while
9p/styx
servers
in
other
languages
could
be
done
entirely
in
those
languages.
If
a
project
on
our
ideas
page
has
particular
skill
requirements
beyond
these,
we'll
list
them
there.
EXPECTATIONS
Over
the
course
of
the
summer,
students
will
be
engaged
in
a
project
with
their
mentor
that
is
designed
to
be
educational,
productive,
and
fill
about
175
hours
over
the
course
of
a
summer.
To
ensure
that
this
goes
well,
students
should
be
prepared
for
the
following:
-
Students
are,
of
course,
expected
to
follow
all
Google's
rules
for
the
program,
and
to
have
read
the
Student
Handbook.
This
includes
filling
out
the
midterm
and
final
evaluations
in
a
timely
manner.
-
The
reduced
hours
for
GSoC
2021
mean
that
students
are
not
expected
to
be
working
full
time
all
summer.
Students
will
need
to
coordinate
with
their
mentors
up
front
in
order
to
find
a
schedule
for
the
summer
which
works
for
you
both.
-
Students
will
be
expected
to
be
in
regular
contact
with
their
mentors.
You
should
discuss
exactly
what
this
means
with
your
mentor,
but
it
likely
means
every
day
or
two
initially.
This
daily(-ish)
contact
needn't
be
particularly
in-depth,
but
should
indicate
what
you've
been
doing
since
the
last
such
contact.
Lines
from
a
changelog
or
commit
messages
would
be
great
to
include
here,
but
discuss
the
exact
form
with
your
mentor.
Note
that
this
is
only
expected
to
be
true
durring
the
agreed-to
work
period.
-
You'll
be
epxected
to
make
a
regular
report
to
the
plan9-gsoc
mailing
list.
This
should
give
a
reasonably
detailed
account
of
what
you've
done
over
the
past
week.
You
needn't
give
line-by-line
code
review,
but
it
should
be
enough
so
that
casual
readers
of
the
list
know
what
you've
been
up
to.
In
past
years,
we've
required
this
to
be
every
Monday,
but
discuss
what
makes
sense
with
your
mentor.
A
good
guide
is
weekly
while
you're
working
on
it.
-
Students
must
keep
their
code
in
a
publicly-available
place,
with
updates
every
day
or
so
reflecting
the
current
state
of
things.
Don't
worry:
if
it
doesn't
compile
for
a
few
days
nobody's
going
to
get
mad,
but
we
need
to
be
able
to
see
what
you're
working
on
to
make
sure
you're
not
heading
off
in
unproductive
directions.
Discuss
with
your
mentor
where
to
put
this.
-
Each
student
will
be
assigned
a
backup
mentor.
This
mentor
may
not
have
much
day
to
day
interaction
with
you,
but
will
be
following
along
in
case
they're
needed.
Keep
them
in
the
loop
by
CC'ing
them
on
any
mail
sent
to
your
mentor
(and
not
sent
to
the
plan9-gsoc
list).
-
In
the
unlikely
event
that
your
mentor
becomes
uncommunicative
or
unresponsive,
let
your
backup
mentor
and
organization
admins
know
right
away.