[cairo] GSoC Requirements / Expectations

Behdad Esfahbod behdad at behdad.org
Tue Mar 18 05:11:57 PDT 2008

On Tue, 2008-03-18 at 04:52 -0400, Daniel Kraft wrote:
> Hi,

Hi Daniel,

> I'm planning to apply for Google Summer of Code this year, and am 
> interested in helping cairo (partly because at least the name is 
> familiar to me as a Gtk+ user (and I compiled it as dependency on my 
> machine) and partly because I'm interested in learning/doing some 
> graphics stuff in general), and some of the projects on your ideas list 
> sound appealing (like the lookup-table thing and the polygon composition).
> But I want to know beforehand if you have any special 
> expectations/preferences on student applications so I can only apply if 
> I have chances of being accepted ;)

No special expectations/preferences other than expecting good code.  And
we will help our students get there.  So, feel welcome.

> As stated before, I have interest in graphics, but not yet much 
> experience on the implementor's side (only some user experience from SVG 
> "coding").  With programming in general (C included) and things like 
> make/autotools/shells I have a good deal of experience, and also some 
> basic knowledge about algorithms and datastructures (participated twice 
> at the IOI).
> Do you think I could find something to do for me and learn everything 
> needed, or do you look for someone with already cairo/graphics experience?

Sounds great.  Why don't you start browsing the source code and
familiarizing yourself with it?  I posted some instructions on our ideas

"Cairo has a very clean code base that is a pleasure to read. We believe
that source code should be written with being read by humans as a
primary goal. The file names are very clean and instantly give an easily
understandable map of the code base. For example, the cairo xlib surface
backend is implemented in src/cairo-xlib-surface.c. All the other
xlib-specific code is under src/cairo-xlib-*.c names too. The code
itself is fairly well documented with comments and documentation blocks
for all public symbols. The best way to start seeing how things work,
after you have checked the documentation and know how the to use cairo,
is to start skimming through src/cairo.c and checking out other source
files from there."

If it helps, I was a two-time IOIer too :).

> Thanks and greetings from Austria,
> Daniel

Cheers and have fun with cairo!


"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759

More information about the cairo mailing list