$page->title = "Open Source Messaging Application: Building and Extending Gaim"; require('template.inc.php'); <h1>About
<i>Building
and
Extending
Gaim
</i></h1> <p><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1590594673&link_code=as2&camp=1789&tag=gaim-20&creative=9325"><img border="0" hspace="6" src="book.gif" align="left" /></a>I
(Sean)
am
pleased
to
announce
the
publication
of
my
book,
<b><i><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1590594673&link_code=as2&camp=1789&tag=gaim-20&creative=9325">Open
Source
Messaging
Application
Development:
Building
and
Extending
Gaim
</a></i></b>.
</p> <p>I
started
working
on
Gaim
as
a
university
freshman
five
years
ago.
At
the
time,
I
knew
nothing
about
programming
graphical
user
interfaces,
or
network
programming,
or
internationalization.
In
fact,
I
didn't
even
know
C,
the
language
Gaim
is
written
in.
I
<i>did
</i> know,
however,
that
open-source
development
(and
specifically
on
a
popular
project
like
Gaim)
was
really
exciting
to
me
and
I
wanted
to
get
involved.
I
started
writing
numerous
small
patches
I
learned
C
in
the
process,
by
example,
relying
on
Gaim's
source
code.
With
every
small
change
I
made,
I
learned
more
and
more
about
open-source
development.
Now,
I
maintain
the
Gaim
project,
one
of
the
consistently
most
active
open-source
projects
for
years
running.
</p> <p>People
ask
me
all
the
time:
"how
do
I
get
started
with
open-source
development?"
This
book
is
my
answer
to
that
question.
The
book
isn't
about
Gaim,
per
se,
but
rather
about
open-source
development
with
Gaim
as
the
prevailing
theme
throughout.
The
book
explains
how
to
become
an
open-source
developer
the
same
way
I
learned
it
myself:
studying
actual
Gaim
source
code.
It
serves
as
a
field
guide
for
novice
developers
to
learn
more
about
open-source
development
whether
they
want
to
work
on
Gaim
or
create
their
own
applications
with
the
same
open-source
tools
and
techniques.
</p> <img align="right" src="ft.png" /> <p>Major
topics
discussed
in
this
book
include:
prevelent
open-source
development
tools,
such
as
GCC,
GDB,
CVS,
Vim,
etc;
GUI
programming
with
GTK+
(read
along
as
I
rennovate
the
File
Transfer
dialog
as
seen
at
right);
networking,
network
protocol
design
and
implementation,
internationalization,
and
portability.
Throughout,
I
offer
my
personal
insight
from
my
five
years
of
experience
with
the
Gaim
project.
</p> <p>The
book
also
makes
use
of
practical
Gaim
plug-ins
developed
specifically
to
highlight
certain
techniques.
These
plug-ins
introduce
new
functionalities
such
as
the
<i>URL
Catcher
</i> which
captures
all
incoming
hyperlinks
from
chats
to
a
single
window
and
a
web
server
that
allows
you
to
remotely
read
your
new
messages
from
any
computer
with
a
web
browser.
<p>One
of
the
most
important
freedoms
of
free
software
is
the
freedom
to
study
how
a
program
works.
This
freedom
has
allowed
me
to
build
my
knowledge
upon
the
efforts
of
other,
more
experienced
developers
before
me.
After
reading
this
<a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1590594673&link_code=as2&camp=1789&tag=gaim-20&creative=9325">book
</a>,
I
hope
you
can
build
your
knowledge
upon
mine.
</p> <p>Please
IM
me
or
E-mail
me
if
you
have
any
questions.
</p>