Account confirmers, Anti-spam team, Confirmed users, Bureaucrats and Sysops emeriti
4,925
edits
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
This page lists all the [[SummerOfCode|Google Summer of Code]] 2013 projects with confirmed mentors, and which have been approved by the SoC administrator. New suggestions can be made on [[Community:SummerOfCode13:Brainstorming|the Brainstorming page]]. This page is locked; contact Gerv with edits. | This page lists all the [[SummerOfCode|Google Summer of Code]] 2013 projects with confirmed mentors, and which have been approved by the SoC administrator. New suggestions can be made on [[Community:SummerOfCode13:Brainstorming|the Brainstorming page]]. This page is locked; contact Gerv with edits. | ||
'''Potential students''': you may choose from the list below, '''but you do not have to'''. Feel free to submit a proposal for your own idea. However, before you do so, see the [[Community:SummerOfCode13:Brainstorming|guidelines for good ideas]]. You can also discuss your ideas or application in the #developers channel on IRC: irc://irc.mozilla.org/#developers . Your idea will have a significantly | '''Potential students''': you may choose from the list below, '''but you do not have to'''. Feel free to submit a proposal for your own idea. However, before you do so, see the [[Community:SummerOfCode13:Brainstorming|guidelines for good ideas]]. You can also discuss your ideas or application in the #developers channel on IRC: irc://irc.mozilla.org/#developers . Your idea will have a significantly grecaater chance of being chosen if you can find an existing member of the Mozilla community who is willing to evaluate or mentor it. (You should name that person in your application.) | ||
In addition to the specifically-named projects below, we have also tagged a number of bugs in Bugzilla with the keyword [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&keywords_type=allwords&keywords=student-project&resolution=--- student-project]. However, as the idea of a "student project" is wider than just the Summer of Code, students looking through the list will need to decide whether any particular bug listed there is actually the right size and scope for Summer of Code. | In addition to the specifically-named projects below, we have also tagged a number of bugs in Bugzilla with the keyword [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&keywords_type=allwords&keywords=student-project&resolution=--- student-project]. However, as the idea of a "student project" is wider than just the Summer of Code, students looking through the list will need to decide whether any particular bug listed there is actually the right size and scope for Summer of Code. | ||
| Line 101: | Line 101: | ||
|- | |- | ||
| Mailbox-to-Maildir Converter | | Mailbox-to-Maildir Converter | ||
| Mailbox and Maildir are two alternative on-disk storage formats for email messages. Thunderbird currently uses Mailbox, but wants to use Maildir. Hence the need for a converter. This is one of the last critical pieces blocking moving away from mbox-style mailboxes. | | Mailbox and Maildir are two alternative on-disk storage formats for email messages. Thunderbird currently uses Mailbox, but wants to use Maildir. Hence the need for a converter. This is one of the last critical pieces blocking moving away from mbox-style mailboxes. See {{bug|856087}}. | ||
| C++, although some JS may be necessary | | C++, although some JS may be necessary | ||
| jcranmer | | jcranmer | ||
| [mailto:Pidgeot18@verizon.net jcranmer] | | [mailto:Pidgeot18@verizon.net jcranmer] | ||
| | | | ||
|} | |||
== Calendar == | |||
{| class="standard-table" border="1" style="border-collapse: collapse" | |||
|- | |||
! Title | |||
! Details | |||
! Skills Needed | |||
! Reporter | |||
! Mentor(s) | |||
! Comments | |||
|- | |||
| Make Lightning Fast | |||
| The Lightning Extension has a few performance problems, especially with lots of calendars. Now that the [http://mikeconley.ca/blog/2012/06/15/gecko-profiler-now-works-in-thunderbird-daily/ Gecko Profiler] works in Thunderbird Daily, its a great time to harness its power and improve Lightning's performance. A Student working on this project should: | |||
# [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=keyword%3Aperf%20prod%3Acalendar&list_id=6253887 Browse Bugzilla] to get an overview of reported performance problems. | |||
# Use the Gecko Profiler to identify performance bottlenecks, for example occurrence calculation. | |||
# Propose a method to improve performance in a way that would move the bottleneck elsewhere and discuss with mentor. | |||
# Fix the bottleneck. | |||
# Continue with (2). | |||
Depending on remaining time and student experience, adding performance tests to Lightning would be a bonus. | |||
| Javascript; Python and make for perf tests | |||
| Philipp (:Fallen) | |||
| Ludovic (:ludovic) | |||
| A student applying for this project should be able to work with large codebases. Getting familiar with the Lightning source code early improves chances of being accepted. Look for Fallen on irc.mozilla.org / #calendar if you need help getting started. | |||
|- | |||
| Improve Calendar Backends | |||
| Lightning has historically supported two modes for calendar providers: cached and uncached. In uncached mode, each request is directly relayed to the remote end, causing a lot of traffic. Therefore, cached mode was introduced, which is close to a "real" synchronization, where only changes are transferred. In the future it would be nice to use cached mode exclusively. To do so, there need to be some changes in the backend. This project consists of a combination of the following bugs, depending on time and student skill: | |||
* Finish the patch I started for async storage ({{bug|501689}}) | |||
* Move calendar metadata from the [http://mxr.mozilla.org/comm-central/source/calendar/base/public/calIChangeLog.idl#83 provider inteface] to the [http://mxr.mozilla.org/comm-central/source/calendar/base/public/calIItemBase.idl item interface] (no bug yet) | |||
* Turn the ICS calendar into a cache-only provider ({{bug|780992}}) | |||
* Turn the CalDAV calendar into a cache-only provider (no bug yet) | |||
| Javascript, SQL, | |||
| Philipp (:Fallen) | |||
| Mohit (:redDragon) | |||
| As these changes will partially require some migration steps, it is important to write unit tests for the code produced during the Summer of Code. Not all of the mentioned bugs need to be fixed for passing mid-terms and finals, please read through the bugs and consult with mentor or reporter with your suggestion when applying. | |||
|} | |} | ||
| Line 124: | Line 161: | ||
| Byron Jones (IRC: glob) | | Byron Jones (IRC: glob) | ||
| Byron Jones (IRC: glob) | | Byron Jones (IRC: glob) | ||
| | |||
|- | |||
| Bugzilla-MediaWiki Extension | |||
| <b>Note: this project is being done under the Wikimedia Foundation umbrella, and is copied here for publicity purposes only. You need to apply to them, not to us, if you want to do it. See [http://www.mediawiki.org/wiki/Summer_of_Code_2013#Bugzilla-MediaWiki_extension their page].</b> Mozilla has developed a MediaWiki-Bugzilla extension which allows for read-only inclusion of Bugzilla lists and charts in MediaWiki pages. For example, it is used to provide "Mentored Bugs" sections. It could also be used for basic prioritization, ToDo lists for projects, metrics... This project consists in enhancing this extension by making API calls more robust (i.e. when receiving 1000s of results), allowing more types of charts, providing good test coverage and user documentation. | |||
| PHP, Javascript, JSON, Bugzilla | |||
| Brandon Savage (Mozilla), Sam Reed (Wikimedia) | |||
| Brandon Savage (Mozilla), Sam Reed (Wikimedia) | |||
| | | | ||
|} | |} | ||
| Line 193: | Line 237: | ||
| [http://www.rust-lang.org/ Rust] is a new compiled programming language that Mozilla is working on. At the moment, Rust programs are tricky to debug when they don't work because they lack debugging symbols. This work has been started, but for many core Rust features the current debugging support is little to none. The goal of this project would be to support building the self-hosted (i.e. written in Rust) compiler with full debugging symbols enabled, and fill out the suite of automated gdb tests to ensure that the debugging support does not regress in the future. The project will require making use of [http://llvm.org/ LLVM]'s [http://llvm.org/docs/SourceLevelDebugging.html source-level debugging features] and building on the debugging support that [https://github.com/mozilla/rust/blob/master/src/librustc/middle/trans/debuginfo.rs already exists in the compiler]. | | [http://www.rust-lang.org/ Rust] is a new compiled programming language that Mozilla is working on. At the moment, Rust programs are tricky to debug when they don't work because they lack debugging symbols. This work has been started, but for many core Rust features the current debugging support is little to none. The goal of this project would be to support building the self-hosted (i.e. written in Rust) compiler with full debugging symbols enabled, and fill out the suite of automated gdb tests to ensure that the debugging support does not regress in the future. The project will require making use of [http://llvm.org/ LLVM]'s [http://llvm.org/docs/SourceLevelDebugging.html source-level debugging features] and building on the debugging support that [https://github.com/mozilla/rust/blob/master/src/librustc/middle/trans/debuginfo.rs already exists in the compiler]. | ||
| Rust, LLVM experience beneficial | | Rust, LLVM experience beneficial | ||
| Josh Matthews (jdm) | | [mailto:josh@joshmatthews.net Josh Matthews] (jdm) | ||
| Josh Matthews (jdm) | | [mailto:josh@joshmatthews.net Josh Matthews] (jdm) | ||
| Practical experience with Rust is rare. Therefore, any student interested in this project should take some time to become familiar with Rust so that the actual project time is spent on practical work instead of learning the language. | | Practical experience with Rust is rare. Therefore, any student interested in this project should take some time to become familiar with Rust so that the actual project time is spent on practical work instead of learning the language. | ||
|} | |} | ||