GSoC Guidance
From OpenChange wiki
This page contains general guidance on applying to the OpenChange project for GSoC_2009.
Contents |
Generally applicable stuff
For all projects, it is useful if:
- you are somewhat familiar with the Messaging API (MAPI) that exists on Windows (since the libmapi API is quite similar)
- have at least basic knowledge of C (as it will help you read the OpenChange source code if the API documentation is incomplete)
- have access to Exchange server and Outlook client (to enable testing / verification)
Thoughts on the OpenChange GUI Front End Project
Regarding the GUI specifications / details of interest, one of project's objective is to integrate these graphical front-ends over openchange tools into the Gnome desktop. They should - for some of them - be available through System > Administration and be used to centralize MAPI needs for multiple applications.
The primary objective would be to develop a graphical front-end to mapiprofile which lets users manipulate their MAPI profile. This information - through the database it uses - should next be available to other applications: e.g. evolution-mapi or others.
This first sub project should give you enough background to work on other OpenChange tools.
Further tasks could for example be:
- GUI for exchange2ical which fits with the calendar applet on the user's desktop and integrates MAPI semantics.
- drag&drop feature converting ICAL events to online MAPI appointment (and vice-versa).
- Desktop Sticky Notes integrating MAPI semantics.
Please note that ideas above are just random pointers and do not constitute a defined roadmap. We would rather prefer students to propose their own roadmap and sub-projects depending on their skills, interest and time.
As a preliminary step, we'd suggest that you familiarize yourself with OpenChange tools, then try to find which improvements a GUI would offer and how this should get integrated into Desktop environment to improve user's experience with a remote OpenChange/Exchange server.
Note that while these would also be possible on a KDE desktop, you'd need to show how it will fit within the Akonadi architecture.
Applying for a project
We recommend that you read the Google Summer of Code FAQ about registrations and how to submit a proposal:
http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs
In submitting your proposal, try to explain what you plan to do (see above). A proposal that is vague or the plan just says "Week 1-2: Figure out what to do" and "Remainder: do it" isn't convincing. You need to "figure out what to do" before you submit the application.
Selection process
From OpenChange point of view, we will make our final decision based on the quality of the proposal you submitted. We need to know:
- What are your skills (Why would you be the best among other for this project)
- Why does this particular project matter to you?
- What do you understand about this particular project?
- What do you intend to provide?
- What do you see as the milestones and deliverables?
- What is the timeline to achieve those milestones and deliverables?
Any pointers that would help us understand who and why you are the best student for this project will help your case a lot.
Previous positive participation in an open source project will be looked at favourably.
Discussing with mentors
You can write to the mentors, using email to summercode@openchange.org. You can also contact us on IRC #openchange on irc.freenode.net.
Please don't write emails that basically say "tell me what to do". You need to show some initiative. At least try to ask specific questions about the specific project you are interested in. Try to show you've already done some independent research, and are only asking about the parts you couldn't figure out any other way.
