Community:SummerOfCode16: Difference between revisions
(Preparation for application to GSoC 2016) |
(→Instantbird: Add some ideas from last year for Instantbird.) |
||
Line 96: | Line 96: | ||
! Comments | ! Comments | ||
|- | |- | ||
| Improve the JavaScript XMPP implementation and implement new features. | |||
| Includes better error handling, support for DNS SRV, implementing multi-user chats (MUCs), test coverage and adding new/missing features. Feature-parity with libpurple's XMPP implementation is one of the prerequisites for replacing it with the JavaScript implementation and is an end-goal of this project. Students are expected to compile a list of bugs or unimplemented features in the JavaScript XMPP code. | |||
| JavaScript, XPCOM, an understanding of XMPP is desired | |||
| Florian Quèze | |||
| aleth, Patrick Cloke [:clokep] | |||
| | |||
|- | |||
| JavaScript Protocol Plug-in | |||
| Instantbird supports protocol plugins implemented in JavaScript. The student will add support for a new protocol in Instantbird. The student working on new protocols should take every opportunity to improve the code and APIs shared by all JavaScript protocol plugins (IRC, XMPP, Yahoo and Twitter). Students are expected to implement a protocol they use on a day-to-day basis to dog-food the code. | |||
| JavaScript, XPCOM, understanding of network protocols | |||
| Patrick Cloke | |||
| Patrick Cloke [:clokep] | |||
| Possible protocols include: Google Hangouts, Facebook, Bonjour, TextSecure, or Telegram | |||
|- | |||
| File transfer support | |||
| API design, backend implementation, frontend UI for supporting file transfers in Instantbird. | |||
| XPCOM, JavaScript, webrtc, networking protocols | |||
| nhnt11 | |||
| Patrick Cloke [:clokep] | |||
| | |||
|- | |||
| Redesign libpurple integration | |||
| Change libpurple from being an XPCOM component to a separate (sub-)process that uses IPC to communicate to it | |||
| C++, XPCOM, JavaScript | |||
| Patrick Cloke | |||
| | |||
| | |||
|- | |||
| OTR (Off-the-Record) Integration | |||
| [https://trac.torproject.org/projects/tor/wiki/doc/TorMessenger Tor Messenger], which is based on Instantbird, has support for end-to-end encrypted instant messaging using OTR ([https://github.com/arlolra/ctypes-otr via an extension]). The goal of this project would be to upstream these changes from Tor Messenger into Instantbird while incorporating UI changes designed by the Instantbird team. | |||
| c-types, XPCOM, JavaScript, XUL | |||
| arlolra | |||
| Patrick Cloke [:clokep] | |||
| | |||
|} | |} | ||
Revision as of 14:55, 3 February 2016
This page lists all the Google Summer of Code 2016 projects with confirmed mentors, and which have been approved by the SoC administrator. New suggestions can be made on the Brainstorming page. Do not edit this page yourself; contact Florian for 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 guidelines for good ideas. You can also discuss your ideas or application in the #introduction channel on IRC: irc://irc.mozilla.org/#introduction . Your idea will have a significantly greater 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 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.
Application Advice
You should do the following:
- Talk to the mentor. Contact details are on this page; if all you have is a nickname, get on IRC and try and contact them.
- Read the GSoC Student Guide and follow its advice.
- Read How Not To Apply For Summer Of Code and avoid doing the things listed there.
- Read our examples of good applications: 1, 2, 3.
- Apply on the GSoC site (note that we have an application template).
- It is entirely acceptable to apply for 2 or 3 projects, if more than one catches your eye; if the applications are high quality, that can improve your chances. However, more than 3 seems like spam.
Note that if a project suggests it would be helpful to know XUL (Mozilla's user interface description language), you may be able to get away with learning on the job. Don't be put off from applying if the project otherwise looks right for you.
Questions about individual projects are best addressed to the potential mentor of that project. These should be listed in the table below. If you want to contact a mentor and contact details are not here, ask people in the #introduction channel on IRC: irc://irc.mozilla.org/#introduction. If you have questions of any other sort, send mail to Florian and Patrick. We will try and respond as soon as possible and get your questions directed to the right person. Please allow at least 48 hours for a reply.
Firefox
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Firefox Developer Tools
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Firefox OS / Boot2Gecko
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Mozilla Platform (Gecko)
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Thunderbird
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Instantbird
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|---|---|---|---|---|
Improve the JavaScript XMPP implementation and implement new features. | Includes better error handling, support for DNS SRV, implementing multi-user chats (MUCs), test coverage and adding new/missing features. Feature-parity with libpurple's XMPP implementation is one of the prerequisites for replacing it with the JavaScript implementation and is an end-goal of this project. Students are expected to compile a list of bugs or unimplemented features in the JavaScript XMPP code. | JavaScript, XPCOM, an understanding of XMPP is desired | Florian Quèze | aleth, Patrick Cloke [:clokep] | |
JavaScript Protocol Plug-in | Instantbird supports protocol plugins implemented in JavaScript. The student will add support for a new protocol in Instantbird. The student working on new protocols should take every opportunity to improve the code and APIs shared by all JavaScript protocol plugins (IRC, XMPP, Yahoo and Twitter). Students are expected to implement a protocol they use on a day-to-day basis to dog-food the code. | JavaScript, XPCOM, understanding of network protocols | Patrick Cloke | Patrick Cloke [:clokep] | Possible protocols include: Google Hangouts, Facebook, Bonjour, TextSecure, or Telegram |
File transfer support | API design, backend implementation, frontend UI for supporting file transfers in Instantbird. | XPCOM, JavaScript, webrtc, networking protocols | nhnt11 | Patrick Cloke [:clokep] | |
Redesign libpurple integration | Change libpurple from being an XPCOM component to a separate (sub-)process that uses IPC to communicate to it | C++, XPCOM, JavaScript | Patrick Cloke | ||
OTR (Off-the-Record) Integration | Tor Messenger, which is based on Instantbird, has support for end-to-end encrypted instant messaging using OTR (via an extension). The goal of this project would be to upstream these changes from Tor Messenger into Instantbird while incorporating UI changes designed by the Instantbird team. | c-types, XPCOM, JavaScript, XUL | arlolra | Patrick Cloke [:clokep] |
Calendar
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Bugzilla
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Accessibility
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Automation & Tools
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Release Engineering
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Rust
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Servo
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Localization
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Security
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
OpenArt
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Webmaker
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|
Mozilla Science Lab
Title | Details | Skills Needed | Reporter | Mentor(s) | Comments |
---|