GSoC/GCI Archive
Google Summer of Code 2010


Web Page:

Mailing List:

The mission of the Mozilla Project is to preserve choice and innovation on the Internet. We are the producer and provider of the award-winning Firefox web browser (which has more than 350 million users) and Thunderbird email software. We are an advocate for open standards on the Net, and provide tools for developing standard web content. We also provide software development tools used by hundreds of free software projects worldwide. The Mozilla Project in GSoC is a container for opportunities to work on Firefox, Thunderbird, Firefox Mobile (Fennec), Camino, SeaMonkey, Rhino (JavaScript engine in Java), Calendar/Lightning, Bugzilla, and other areas of the project, using a wide variety of technologies. Check out our list to see if anything interests you :-)


  • Add new automated tests to test the Fennec front end Fennec has very little automation that tests the UI and some basic coverage on all the pieces must be made available. The present proposal will elucidate tests which will cover the whole front end. These tests will act as a new standard for developers to model new test cases after when modifying or adding new features and benefits Mozilla by giving a better testing coverage each day for the mobile browsers.
  • Add Quick Look support for attachments in Thunderbird The aim of this project is to research and integrate Quick Look support into Thunderbird, i.e. allowing quick preview of attachments.
  • Developing Hooks / stubs mechanisms for Mozilla Lightning and Improve event/tasks alarms support #1 - Hooks / stubs mechanisms for Mozilla Lightning The goal behind this project is to add extension points to Lightning to facilitate extension developers that would like to provide tight integration between Lightning and their groupware of choice. #2- Improve event/tasks alarms support The goal behind this is to make sure that reminders perform well in case of past alarm,recurring events/tasks and shared alarms.
  • Implement support for TLS 1.1 (RFC 4346) and TLS 1.2 (RFC 5246) in NSS library NSS library in it's current state supports the TLS 1.0 protocol. My summer project aims to add support of TLS 1.1 as a transitional step towards implementing of TLS 1.2. Thereafter if time permits I will start writing code for TLS 1.2 support.
  • Implementation of RSA-PSS signatures for nss The RSA algorithm cannot (or at least should not) be used „plain“ for real-world applications. It needs some kind of padding. Earlier RSA implementations used a naive approach to do this padding, which also caused security issues. Today there are methods for RSA-padding that have „proven“ security, called RSA-OAEP (encryption) and RSA-PSS (signatures). But usage isn't very widespread yet. The purpose of this proposal is the implementation of RSA-PSS for X.509 certificates in nss.
  • Implementing Social Bugzilla Extension The aim of our project is to investigate and implement an extension that would collect statistics about users who are involved in the software development or testing using Bugzilla. The extension would help user to understand the related person’s information in Bugzilla and make bugzilla more “human”.
  • Mail Store interface and implementation for Mbox and Maildir (Thunderbird) TB uses mbox file format for storing local mail. This is a flat file that represents a message folder. It works fine for add/read and mark message as deleted, but is bad at actually deleting the messages and needs modifications to support indexing. It'd be great to try another mail format w/o abandoning the mbox. This project aims to design a mail store interface to abstract access to particular mail store, update the TB code to use it, and implement the interface for mbox and MailDir.
  • Multitouch Simulation Framework If a developer currently wants to code a web project involving multitouch they must own a multitouch device to test, or not be able to test at all. The goal of this project is to give developers an easy way to test their code without owning a multitouch device. In addition, this framework could be used to run unit tests for multitouch-enabled projects.
  • Naive Bayes algorithm to automatically classify emails in Thunderbird The goal of this project is investigate the use of Bayesian methods on corpora of mail messages and implement a JavaScript algorithm to suggest the most likely candidates for useful filters.
  • Weave Sync engines for tabs and mailnews status sync in Mozilla Seamonkey browser suite 'Weave Sync engines for tabs and mailnews status sync' is a GSoC 2010 project proposed by the Mozilla organization under Seamonkey projects.