pidgin/old.pidgin.im
Clone
Summary
Browse
Changes
Graph
Update win32 page with Pidgin information.
old
2007-04-30, Daniel Atallah
cf17329ea7dd
Update win32 page with Pidgin information.
<?
$page
->
title
=
"Summer of Code"
;
require
(
'../inc/template.inc.php'
);
?>
<i>
For
information
about
Summer
of
Code
2005,
see
<a
href=
'2005.php'
>
last
year's
page
</a></i>
.
<h1>
Contents
</h1>
<ul>
<li><a
href=
"#news"
>
News
</a></li>
<li><a
href=
"#intro"
>
Introduction
</a></li>
<li><a
href=
"#accepted"
>
Accepted
projects
</a></li>
<li><a
href=
"#available"
>
Available
suggestions
</a></li>
</ul>
<h1
id=
"news"
>
News
</h1>
<h2
class=
"news"
>
Halfway
Through
the
Summer
</h2>
<div
class=
"newsdate"
>
July
6th,
2006
-
11:58PM
PDT
</div>
<p>
Dig
it:
Google
has
awarded
us
with
8
rockin'
summer
of
code
slots,
and
we've
hand-picked
8
rockin'
summer
of
code
students.
Keep
in
mind
that
these
are
all
still
in
progress,
and
while
we
have
high
hopes
for
all
of
them,
it
is
possible
some
of
these
projects
will
not
be
completed.
Scroll
down
a
for
the
full
project
list,
or
<a
href=
"#accepted"
>
click
here
</a>
.
</p>
<h2
class=
"news"
>
Summer
of
Code
Begins
</h2>
<div
class=
"newsdate"
>
May
1,
2006
-
11:16AM
PDT
</div>
<p>
We
are
now
accepting
applications
for
Google's
2006
<a
href=
'http://code.google.com/soc/'
>
Summer
of
Code
</a>
program.
Look
at
the
<a
href=
'#available'
>
suggestions
</a>
below,
or
(even
better),
come
up
with
your
own
idea,
and
consider
applying!
To
apply,
visit
Google's
<a
href=
"http://code.google.com/soc/student_step1.html"
>
Student
Signup
</a>
webpage.
</p>
<br
/>
<h1
id=
"intro"
>
Introduction
</h1>
<p>
Gaim
is
proud
to
participate
in
the
Google
<a
href=
"http://code.google.com/summerofcode.html"
>
Summer
of
Code
</a>
.
This
summer
Google
is
sponsoring
students
to
work
on
free
software
projects
under
the
mentorship
of
experienced
free
software
developers.
The
Gaim
developers
are
glad
to
volunteer
to
mentor
some
students
and
introduce
them
to
the
world
of
open-source
development.
</p>
<p>
Last
year
Gaim
was
a
very
popular
mentoring
organization,
and
we
had
a
very
difficult
time
narrowing
the
candidates
down
to
only
fifteen.
Many
(very
many)
candidates
chose
to
apply
for
one
of
our
suggestions,
which
is
fine,
but
keep
in
mind
that
when
you
apply
for
one
of
our
suggestions
you're
competing
yourself
against
hundreds
of
others
for
the
same
idea.
When
you
propose
your
own
idea,
you're
competing
your
<i>
idea
</i>
against
just
a
handful
of
other
ideas,
as
well
as
highlighting
your
creativity.
</p>
<h1
id=
"accepted"
>
Accepted
Summer
of
Code
Projects
</h1>
<table>
<tr><td
class=
"highlight"
>
QQ
Support
</td></tr>
<tr><td><p>
Tim
Ringenbach
is
mentoring
Mark
Huetsch
on
this
project
to
bring
QQ
support
to
Gaim.
QQ
is
an
extremely
popular
IM
network
in
China,
but
doesn't
have
much
of
a
foothold
in
the
rest
of
the
world.
</p></td></tr>
<tr><td
class=
"highlight"
>
MSN
Protocol
Update
</td></tr>
<tr><td><p>
Sean
Egan
is
mentoring
Ma
Yuan
on
this
project
to
give
our
MSN
code
a
facelift.
We
hope
these
changes
will
pave
the
way
for
lots
of
little
MSN
features
that
people
have
been
requesting,
including
status
messages.
</p></td></tr>
<tr><td
class=
"highlight"
>
Certificate
Management
</td></tr>
<tr><td><p>
Sean
Egan
is
mentoring
Gary
Sivek
for
this
project.
</p></td></tr>
<tr><td
class=
"highlight"
>
Revamped
Logging
and
Reporting
</td></tr>
<tr><td><p>
Richard
Laager
is
mentoring
Bill
Reading
for
this
project.
Bill
is
working
on
modifying
the
logging
functionality
to
provide
for
better
searching,
higher
performance,
and
is
also
working
on
implementing
a
logging
plugin
that
stores
logs
in
a
SQL
database.
</p></td></tr>
<tr><td
class=
"highlight"
>
General
Performance
Enhancement
</td></tr>
<tr><td><p>
Ethan
Blanton
is
mentoring
Aaron
Sheldon
for
this
project.
Aaron
is
profiling
Gaim
and
making
small
code
changes
that
fine-tune
portions
of
Gaim's
codebase
to
speed-up
some
of
our
more
CPU
intensive
tasks.
</p></td></tr>
<tr><td
class=
"highlight"
>
Improved
Logging
</td></tr>
<tr><td><p>
Richard
Laager
is
mentoring
Brian
Chu
for
this
project.
Brian
is
working
on
improving
logging
interoperability
with
other
IM
clients.
Specifically,
this
involves
collaborating
on
the
design
of
a
unified
XML
logging
format
and
implementation
of
an
XML
logger
in
Gaim
as
well
as
working
on
a
plugin
to
read
the
logs
from
other
clients.
</p></td></tr>
<tr><td
class=
"highlight"
>
Console-based
Gaim
using
Curses
</td></tr>
<tr><td><p>
Evan
Schoenberg
is
mentoring
Sadrul
Habib
Chowdhury
for
this
project.
This
project
consists
of
taking
all
the
non-GTK
parts
of
Gaim,
bundling
them
into
a
library,
then
writing
a
console-based
frontend
that
utilizes
that
library
to
connect
to
the
IM
networks
in
the
same
way
that
our
current
GTK
frontend
connects.
</p></td></tr>
<tr><td
class=
"highlight"
>
Contact
Availability
Prediction
</td></tr>
<tr><td><p>
Mark
Doliner
is
mentoring
Geoffrey
Foster
for
this
project.
Geoffrey
is
working
on
a
plugin
that
attempts
to
predict
when
your
buddies
will
be
online
based
on
their
past
usage
habits.
</p></td></tr>
</table>
<h1
id=
"available"
>
Summer
of
Code
Project
Suggestions
</h1>
<p>
Here
are
some
of
the
suggestions
proposed
by
Gaim
developers
for
this
year's
Summer
of
Code.
</p>
<table>
<tr><td
class=
"highlight"
>
Improved
Privacy
Support
</td></tr>
<tr><td><p>
As
Gaim
began
life
as
an
AIM
client,
there
are
still
some
parts
that
are
somewhat
AIM-centric.
Currently,
one
of
the
areas
most
uncomfortable
for
users
of
other
protocols
is
privacy
support.
Your
task
would
be
to
improve
Gaim's
privacy
support.
</p>
<p>
This
job
entails
surveying
other
IM
clients
and
determining
what
sort
of
privacy
capabilities
they
offer,
abstracting
these
all
into
a
concise
Gaim
backend
API,
designing
a
UI
capable
of
handling
the
diversity
of
different
privacy
features,
then
finally,
implementing
and
documenting
your
work.
</p>
</td></tr>
<tr><td
class=
"highlight"
>
Certificate
Manager
</td></tr>
<tr><td><p>
Some
of
our
protocols,
namely
Jabber,
IRC,
and
MSN,
use
SSL
encryption.
However,
Gaim
currently
has
no
way
to
ensure
the
user
that
she's
actually
connecting
to
the
correct
server.
If
a
malicious
cracker
stood
between
you
and
your
Jabber
server,
he
could
trick
you
into
thinking
he
was
the
server.
You
would
think
your
messages
are
encrypted,
but
the
malicious
cracker
could
read
them
all.
</p>
<p>
This
is
solved
by
a
system
known
as
"certificates."
An
SSL
certificate
authenticates
that
the
server
is
who
it
claims
to
be.
If
the
user
trusts
the
certificate,
she'll
know
her
communications
are
safe.
</p>
<p>
Your
task
this
summer
is
to
write
a
certificate
manager
for
Gaim.
This
manager
would
display
SSL
certificates
to
the
user
and
keep
track
of
those
the
user
has
trusted.
This
way,
the
first
time
the
user
connects
to
a
server,
she'll
be
required
to
confirm
the
certificate
is
valid;
subsequent
connections
to
the
same
server
with
the
same
certificate
will
not
prompt
her
again.
</p>
<p>
This
same
interface
can
be
used
elsewhere
in
Gaim
not
directly
related
to
SSL.
For
instance,
several
third-party
plugins
exist
to
encrypt
Gaim
messages.
These
would
benefit
from
a
generic
certificate
manager.
</p></td></tr>
<tr><td
class=
"highlight"
>
Profile
and
Improve
Gaim's
Performance
</td></tr>
<tr><td><p>
There
are
a
number
of
places
where
Gaim
runs
slower
than
it
needs
to,
or
takes
up
more
memory
than
is
necessary.
Your
task
this
summer
is
to
profile
Gaim,
determine
where
it's
spending
most
of
its
time
and
memory,
and
optimize
in
order
to
improve
performance.
</p></td></tr>
<tr><td
class=
"highlight"
>
MSN
Protocol
Upgrade
</td></tr>
<tr><td><p>
Newer
features
of
MSN
Messenger
are
available
only
in
protocols
greater
than
what
Gaim
currently
supports.
The
latest
version
of
the
MSN
protocol
is
MSNP13,
used
by
the
MSN
Messenger
8.0
beta.
</p>
<p>
Your
task
this
summer
is
to
implement
the
newest
MSN
Messenger
protocol,
and
as
many
of
its
features
as
time
allows.
</p></td></tr>
<tr><td
class=
"highlight"
>
Log
Management
and
Searching
</td></tr>
<tr><td><p>
Gaim's
current
logging
system
is
powerful
and
modularlly
extensible,
however
it
would
benefit
from
added
functionality.
Moving
searching
into
the
logger
modules,
for
instance,
could
greatly
improve
search
performance.
The
log
viewer
should
also
allow
you
to
delete
logs
directly
from
the
UI.
The
UI
for
log
management
should
be
improved
to
reflect
your
design
changes.
</p>
</td></tr>
</table>