Skip to content
François Beaune edited this page Feb 26, 2014 · 12 revisions

You are a student, and you would like to participate to this year's Google Summer of Code by working on appleseed. Here is an outline of how to proceed from here.

1. Get in touch

Join appleseed-dev, the mailing list dedicated to the development of appleseed. This is the central place for all discussions related to the development of appleseed at large. We also occasionally discuss more general rendering topics such as new techniques, other renderers, etc. Everyone is pretty relaxed, but we all act in a civilized, professional manner (and we expect the same from everyone, including you of course).

We have put two measures in place to prevent spam: you will need to apply for membership (which we will grant unconditionally), and your first post will be moderated. After that you'll be free to post.

2. Introduce yourself

Use your first post on appleseed-dev to introduce yourself. Don't be shy, and be honest. Here are some things we would love to know:

About yourself:

  • What is your first name?
  • Where are you from?
  • What are you studying?
  • Where are your interests in general? In programming?
  • Do you already know what you would like to do after your studies?

About open source:

  • What open source projects did you contribute to, if any?
  • Are you following closely the development of one or several open source projects?
  • Have you or are you leading an open source project (of any kind)?
  • Is there code of yours we could peek at on GitHub, SourceForge, etc.?

About rendering:

  • Did you ever use a commercial renderer? An open source renderer?
  • Did you ever contribute to an open source renderer, even if it wasn't by coding?
  • Have you ever wanted to start writing a renderer yourself?

About appleseed:

  • Did you know of appleseed before this year's GSoC? If so, where did you first hear about it?
  • Have you ever used appleseed?
  • Have you ever wanted to use appleseed but found out it was inadequate or missing an essential feature?

About coding:

  • Which language(s) are you proficient with?
  • How would you rate your proficiency with C++? With the STL?
  • Do you know how to use Git? GitHub?
  • Did you ever have to follow coding guidelines that weren't yours?
  • Did you ever have to work on a large code base that wasn't yours? How did that feel?
  • Did you ever have your code reviewed by a peer?
  • Did you ever do a review of someone else's code?

If you are interested in one of the project from our List of Project Ideas:

  • Why did you pick this project in particular?
  • Do you understand everything in the description of the project?
  • Do you feel that the scope and difficulty of the project match your skills?

If you have your own project idea, please describe it with as many details as possible.

Assuming your participation to GSoC this year is a success:

  • Would you be interested in continuing to contribute to appleseed after the summer?
  • Would you like to become responsible for a module or a particular area of the code?
  • Would you like to become a mentor if we participate to GSoC next year?

Finally:

  • Is there anything else you would like to tell us?
  • Do you have any question about appleseed or about the team?

3. Complete a small coding task

Beside introducing yourself, we will ask you to build appleseed on your machine and fix a small bug or implement a small feature. These are supposed to be very easy: it would take someone used to the code base mere minutes to complete. However it will undoubtly require a bit more effort on your side, so don't panic if it seems difficult at first.

Build appleseed on your machine

We have detailed, step-by-step instructions in our wiki: please follow them closely.

If something goes wrong or seems incorrect, get in touch on appleseed-dev.

Find a small bug/feature

These small coding tasks are tagged with the "Easy" label in our issue tracker:
https://github.com/appleseedhq/appleseed/issues?labels=Easy&page=1&state=open.

Let us know which you would like to tackle so that we can explain what it is about.

Complete the task

Start by reading our Coding Philosophy and Guidelines. We will ask you to follow them closely.

We will help you find your way through the code base and complete the task. However we kindly ask you to investigate on your own first.

As usual, questions are best asked on appleseed-dev.