Google Summer of Code - Student Check List
|This page is outdated and is only kept for historical reference.|
- March 29th 2010: Application period for students begins.
- April 9th 2010: Student application deadline. The earlier you start the more probable it is that you will be accepted! There is two way feedback during the application process which really helps you improve and clarify your application before this final deadline.
- April 26th 2010: Accepted student proposals are announced.
- May 24th 2010: Coding begins!
- July 12-16th: Mid-term evaluation.
- August 9th: Pencils down!
Before applying for LXDE project, here is a list of prerequisites. It's a good idea to get yourself prepared.
- Familiar with C language and UNIX programming. (required)
- Familiar with writing GTK+ programs in C language. (required)
- if you have experience on pygtk or gtkmm, it's a good idea to learn how to write it in C now since it's quite different
- Basic understanding of multi-threading programming. (optional, but better to have)
- Using multi-threading is a good way to keep GUI responsive. Hence it's used more and more in LXDE components.
- For portability and simplicity, we don't use pthread directly but using the wrappers provided by glib. (GThread)
- Able to read freedesktop.org specifications (http://freedesktop.org/). (optional)
- This is not absolutely needed since some of the specs are already implemented by glib/gio.
- Even some of the specs are supported by glib already, knowing more details can let you develop better desktop applications
- Basics usage of autotools (automake/autoconf). (optional)
- Since autotools is used extensively in the whole LXDE project, so most of time it's required
- If you only fix bugs and do not touch the build process, autotools knowledge is not require and you only need to know ./configure and make.
- Basic usage of git. (required)
- We'are now using git for version control so it's a good idea to learn it now if you want to join LXDE project
- You don't need to be a git guru, but you have to know basic usage.
- Don't be afraid of frustration or try & error. (required)
- This is the most important one
- During realworld application development, one can frequently get frustrated.
- We need someone who can tolerate frustration and doesn't give up easily.
- Don't be afraid of reading documentations, searching for answers, and reading others code. (required)
- It's not possible for any single developer to know everything. We always learn from what we're doing and gain experience from it. Although mentors will help you, sometimes reading documentations yourself is inevitable.
GSoC Check List
If you want to participate in GSoC 2010 as a student, you should do your best to persuade us that you are the best candidate.
- Show us some C code you've written in the past.
- Links to projects where you participated if there are any.
- Get involved as soon as possible with the LXDE project.
- Introduce yourself on the mailing list: https://lists.sourceforge.net/lists/listinfo/lxde-list
- Submit patches for bugs or new features, so that we can see your code before starting big GSoC project.
- Write good proposal.
- Define goals of your proposal, we should see quickly what is topic of your proposal.
- Brief descriptions telling us how you will do it. Better to have a thesis describing technical details so we can see if it will work in advance and give you suggestions.
- If your proposal may involve changes in user interface, screen mockups are needed. We need to see how will it look like in advance. Besides, you can get feedback from the community before you start.
- Choose descriptive name.
- Clearly define deliverables.
- As this is paid work by google, you should have clear deliverables.
- Give us a timeline telling us when should the items in TODO List be completed. After discussing with mentors, several check points will be set in the timeline to see if you catch up with the schedule. It's ok that you cannot do coding everyday, but you need to have reasonable deliverables at every check point.
- At least define what you expect to deliver in mid-term and as a final results.
- It is okay to define optional deliverables also.
- Show your commitment to the project.
GSoC 2010 Student Guide
What to do if you have been accepted as a student for Google Summer of Code 2010?
- Set up a blog where you will communicate your results. It is okay to use existing one.
- Start posting immediately, begin with a description of your project.
- You should post an update there every week.
- This blog will be aggregated on http://planet.lxde.org.
- Weekly status reports are obligatory, if you fail to provide them, it can be reason for not passing evaluation for Google.
- Subscribe to the mailing list: https://lists.sourceforge.net/lists/listinfo/lxde-list
- Introduce yourself.
- Include the link to your blog there.
- Describe your project in short.
- All your communication should go through this mailing list.
- Benefit from the Community Bonding Period (from April 20 to May 23)
- Familiarize yourself with LXDE's code base
- Contact your mentor and establish a plan for the upcoming weeks
- Ask questions in public.
- Ask on the mailing list unless you have a good reason to ask directly your mentor.
- You can also use irc to ask questions (irc://irc.oftc.net #lxde).
- Be active, don't expect to be kicked.
- Write weekly reports on time.
- Submit your code early.
- If you fail to communicate, it can lead your project being marked as failed and you won't receive any money from Google.
- Provide code and documentation in regularly and in good quality.
- GSoC has deadlines, but we want to see your code continuously.
- Having documentation for users is a must, you need to include it in our existing documentation.
- Follow the set up guides for development