Community:SummerOfCode16:Brainstorming: Difference between revisions

(→‎Calendar: Moving calendar ideas)
(→‎Automation & Tools: - new project)
 
(22 intermediate revisions by 10 users not shown)
Line 63: Line 63:
| Javascript
| Javascript
| marco
| marco
|
|
|  
|-
| RFC7512 URI support (PKCS #11 URI)
| [https://bugzilla.mozilla.org/show_bug.cgi?id=1162897 bug 1162897]
and
[https://bugzilla.mozilla.org/show_bug.cgi?id=248722 bug 248722]
| C
|
| rrelyea and dwmw2
| Already entered [[Community:SummerOfCode16]]
|-
|-
|}
|}
Line 172: Line 180:
|-
|-
| Redesign libpurple integration
| Redesign libpurple integration
| Change libpurple from being an XPCOM component to a separate (sub-)process that uses IPC to communicate to it
| Currently Thunderbird can have additional protocols added to them via libpurple. This is distributed separately because of licensing compatibilities. There is a shim later (called purplexpcom) which translates from Thunderbird's chat interfaces to libpurple's interfaces. Unfortunately this is:
| C++, XPCOM, JavaScript
 
* Time consuming to maintain
* Difficult to compile
* Requires re-compilation for each Thunderbird version
* Is not binary compatible with system libpurples
 
It is desirable to experiment with different ways to interact with libpurple to redesign this interface. Potential experiments include:
 
* Using js-ctypes to interact with the libpurple binary component (instead of C++ XPCOM code)
* Spawn a separate sub-process and use IPC to communicate with libpurple
* Compile libpurple to JavaScript with emscripten
 
Requires understanding of: C, C++, XPCOM, JavaScript
| C, C++, XPCOM, JavaScript
| Patrick Cloke
| Patrick Cloke
|
|
Line 201: Line 222:


== SeaMonkey ==
== SeaMonkey ==
{| class="standard-table" border="1" style="border-collapse: collapse"
|-
! Title
! Details
! Skills Needed
! Reporter
! Mentor(s)
! Comments
|}
==NSS (Network Security Services)==


{| class="standard-table" border="1" style="border-collapse: collapse"
{| class="standard-table" border="1" style="border-collapse: collapse"
Line 271: Line 280:
! Mentor(s)  
! Mentor(s)  
! Comments
! Comments
|-
! Debugging failures seen in CI Infrastructure
! there are many things we can do to make the developer experience better when investigating a test job.  From retriggering a job to collecting verbose logging or profiling data, to using a 1 click loaner to not only reproduce but to debug and fix issues, there are many parts of the CI system that we can make small improvements upon to simplify and make dealing with test jobs in CI more enjoyable.  Full details available [https://docs.google.com/document/d/1kiTt79hnqP65UDYobm0ekYV27-0nRE9IDo9AB8NkSLQ/edit here]
! python, javascript
! Joel Maher
! Joel Maher
!
|-
|-
|}
|}
Line 382: Line 398:
! Comments
! Comments
|-
|-
| Reduce the frequency of update races in Balrog
| One of the key features of our update server's (Balrog) API is that it guards against update races - where multiple clients overwrite each others' changes to the same piece of data. In many cases clients are updating small, independent parts of the same larger piece of data, and the server should be able to safely merge the changes together rather than forcing clients to try again. This project will involve the design and implementation of an improved algorithm for safely accepting changes to Balrog's Release objects through the API.
| Python
| [https://mozillians.org/en-US/u/bhearsum/ bhearsum]
| [https://mozillians.org/en-US/u/bhearsum/ bhearsum]
|
|}
|}


Line 419: Line 429:
! Mentor(s)  
! Mentor(s)  
! Comments
! Comments
|-
| SemVer policy checker
| Rust's library ecosystem works with "semantic versioning" (semver), which allows the version numbers of libraries to signify backwards-compatibility constraints. Roughly speaking, if your code works with version `X.Y` of some library, it should work with `X.(Y+1)` -- a new "minor release" -- as well.
In practice, actually ensuring compatibility is quite subtle, and in Rust, there are some library changes that could theoretically break client code, but which we want to allow anyway. Our full stance on semantic versioning is written up in an RFC: https://github.com/rust-lang/rfcs/pull/1105
The goal of this project is to build a tool that can tell whether a set of changes to a library is valid under Rust's semver rules. Building this tool will likely require some hacking on the compiler itself (to produce the necessary information), and will hopefully result in some reusable infrastructure that can be applied to other projects as well.
| Familiarity with Rust
| Aaron Turon
| Brian Anderson, Aaron Turon
|
|-
|-
|}
|}
Line 433: Line 454:
! Comments
! Comments
|-
|-
| File Support
| Adding File and Blob support to [https://github.com/servo/servo Servo]
| Familiarity with Javascript; desire to write [https://rust-lang.org Rust] code (Rust or C++ experience helpful)
| [https://mozillians.org/u/manishearth Manish Goregaokar]
| [https://mozillians.org/u/manishearth Manish Goregaokar]
| [https://github.com/servo/servo/wiki/Summer-of-Code-2016:-File-support In-depth project details]
|-
| Service Worker building blocks
| Implement some fundamental pieces of the missing ServiceWorker API
| Familiarity with Javascript; desire to write [https://rust-lang.org Rust] code (Rust or C++ experience helpful)
| [http://mozillians.org/u/jdm Josh Matthews]
| [http://mozillians.org/u/jdm Josh Matthews]
| [https://github.com/servo/servo/wiki/Summer-of-Code-2016:-ServiceWorker-infrastructure In-depth project details]
|}
|}


Line 496: Line 504:
! Mentor(s)  
! Mentor(s)  
! Comments
! Comments
|-
| ZAP Bug tracker support
| https://github.com/zaproxy/zaproxy/issues/440
| Java
| Simon Bennetts
| Simon Bennetts
|
|-
| ZAP Auto login detection and configuration
| https://github.com/zaproxy/zaproxy/issues/2251
| Java
| Simon Bennetts
| Simon Bennetts
|
|-
| Zest text representation and parser
| https://github.com/mozilla/zest/issues/23
| Java
| Simon Bennetts
| Simon Bennetts
|
|-
|-
|}
|}
Line 597: Line 626:
! Comments
! Comments
|-
|-
| Contributorship Badges for Science.
| Exploring the use of digital badges for crediting contributors to scholarly papers for their work. As the research environment becomes more digital, we want to test how we can use this medium to help bring transparency and credit for individuals in the publication process.
Using Mozilla's Badgekit-api to implement our badges, we can issue and fetch badges from badgekit via the badgkit-api-client. By authenticating against ORCID, a user can reliably issue badges to a valid ORCID, the standard unique researcher identifier.
In this project, you will integrate with the publishers paper submission system to generate the badges.
| Strong JavaScript programming skills. Familiar with node.
| Abigail Cabunoc Mayes
| [https://mozillians.org/en-US/u/Abby/ Abigail Cabunoc Mayes :abbycabs]
|
|}
|}


Line 619: Line 638:
! Comments  
! Comments  
|-
|-
| [http://www.aframe.io aframe.io] - Building Blocks for the VR Web
|
To bring the library to the next level we need new demos that focus on the strengths of the VR medium. We need someone to help us create new exciting and visually stimulating a-frame examples that show new interaction techniques to handle locomotion (how do you move quickly in the VR space without inducing motion sickness?), object manipulation (how do we integrate novel input controls that track your arms and hands?), and multi user experiences (How will social activities express in VR?). Those explorations will result in examples and components that we will make available to the a-frame users. This is a great opportunity for someone to explore the next big medium, play with cool gadgets and interact with an emerging open source community.
| JavaScript and Computer Graphics (OpenGL / WebGL)
| Diego Marcos : dmarcos
| Diego Marcos : dmarcos
|}
|}
Confirmed users
3,376

edits