Contents
News
Summer of Code Begins
We are now accepting applications for Google's 2006 Summer of Code program. Look at the suggestions below, or (even better), come up with your own idea, and consider applying! To apply, visit Google's Student Signup webpage.
Introduction
Gaim is proud to participate in the Google Summer of Code. This summer Google is sponsoring students to work on free software projects under the mentorship of experienced free software developers. The Gaim developers are glad to volunteer to mentor some students and introduce them to the world of open-source development.
Last year Gaim was a very popular mentoring organization, and we had a very difficult time narrowing the candidates down to only fifteen. Many (very many) candidates chose to apply for one of our suggestions, which is fine, but keep in mind that when you apply for one of our suggestions you're competing yourself against hundreds of others for the same idea. When you propose your own idea, you're competing your idea against just a handful of other ideas, as well as highlighting your creativity.
Accepted Summer of Code Projects
No projects have yet been accepted.
Summer of Code Project Suggestions
Here are some of the suggestions proposed by Gaim developers for this year's Summer of Code.
| Improved Privacy Support |
As Gaim began life as an AIM client, there are still some parts that are somewhat AIM-centric. Currently, one of the areas most uncomfortable for users of other protocols is privacy support. Your task would be to improve Gaim's privacy support. This job entails surveying other IM clients and determining what sort of privacy capabilities they offer, abstracting these all into a concise Gaim backend API, designing a UI capable of handling the diversity of different privacy features, then finally, implementing and documenting your work. |
| Certificate Manager |
Some of our protocols, namely Jabber, IRC, and MSN, use SSL encryption. However, Gaim currently has no way to ensure the user that she's actually connecting to the correct server. If a malicious cracker stood between you and your Jabber server, he could trick you into thinking he was the server. You would think your messages are encrypted, but the malicious cracker could read them all. This is solved by a system known as "certificates." An SSL certificate authenticates that the server is who it claims to be. If the user trusts the certificate, she'll know her communications are safe. Your task this summer is to write a certificate manager for Gaim. This manager would display SSL certificates to the user and keep track of those the user has trusted. This way, the first time the user connects to a server, she'll be required to confirm the certificate is valid; subsequent connections to the same server with the same certificate will not prompt her again. This same interface can be used elsewhere in Gaim not directly related to SSL. For instance, several third-party plugins exist to encrypt Gaim messages. These would benefit from a generic certificate manager. |
| Profile and Improve Gaim's Performance |
There are a number of places where Gaim runs slower than it needs to, or takes up more memory than is necessary. Your task this summer is to profile Gaim, determine where it's spending most of its time and memory, and optimize in order to improve performance. |
| MSN Protocol Upgrade |
Newer features of MSN Messenger are available only in protocols greater than what Gaim currently supports. The latest version of the MSN protocol is MSNP13, used by the MSN Messenger 8.0 beta. Your task this summer is to implement the newest MSN Messenger protocol, and as many of its features as time allows. |
| Log Management and Searching |
Gaim's current logging system is powerful and modularlly extensible, however it would benefit from added functionality. Moving searching into the logger modules, for instance, could greatly improve search performance. The log viewer should also allow you to delete logs directly from the UI. The UI for log management should be improved to reflect your design changes. |