OLD | NEW |
(Empty) | |
| 1 # gRPC Summer of Code Project Ideas |
| 2 |
| 3 Hello students! |
| 4 |
| 5 We want gRPC to be the universal remote procedure call protocol for all |
| 6 computing platforms and paradigms, so while these are our ideas of what we |
| 7 think would make good projects for the summer, we're eager to hear your ideas |
| 8 and proposals as well. |
| 9 [Try us out](https://github.com/grpc/grpc/blob/master/CONTRIBUTING.md) and get |
| 10 to know the gRPC code and team! |
| 11 |
| 12 **Required skills for all projects:** git version control, collaborative |
| 13 software development on github.com, and software development in at least one |
| 14 of gRPC's ten languages on at least one of Linux, Mac OS X, and Windows. |
| 15 |
| 16 ------------------------------------- |
| 17 |
| 18 gRPC C Core: |
| 19 |
| 20 1. Port gRPC to one of the major BSD platforms ([FreeBSD](https://freebsd.org),
[NetBSD](https://netbsd.org), and [OpenBSD](https://openbsd.org)) and create pa
ckages for them. Add [kqueue](https://www.freebsd.org/cgi/man.cgi?query=kqueue)
support in the process. |
| 21 * **Required skills:** C programming language, BSD operating system. |
| 22 * **Likely mentors:** [Craig Tiller](https://github.com/ctiller), |
| 23 [Nicolas Noble](https://github.com/nicolasnoble), |
| 24 [Vijay Pai](https://github.com/vjpai). |
| 25 1. Fix gRPC C-core's URI parser. The current parser does not qualify as a standa
rd parser according to [RFC3986]( https://tools.ietf.org/html/rfc3986). Write te
st suites to verify this and make changes necessary to make the URI parser compl
iant. |
| 26 * **Required skills:** C programming language, HTTP standard compliance. |
| 27 * **Likely mentors:** [Craig Tiller](https://github.com/ctiller). |
| 28 1. HPACK compression efficiency evaluation - Figure out how to benchmark gRPC's
compression efficiency (both in terms of bytes on the wire and cpu cycles). Impl
ement benchmarks. Potentially extend this to other full-stack gRPC implementatio
ns (Java and Go). |
| 29 * **Required skills:** C programming language, software performance benchmarkin
g, potentially Java and Go. |
| 30 * **Likely mentors:** [Craig Tiller](https://github.com/ctiller). |
| 31 |
| 32 |
| 33 gRPC Python: |
| 34 |
| 35 1. Port gRPC Python to [PyPy](http://pypy.org). Investigate the state of [Cython
support](http://docs.cython.org/src/userguide/pypy.html) to do this or potentia
lly explore [cffi](https://cffi.readthedocs.org/en/latest/). |
| 36 * **Required skills:** Python programming language, PyPy Python interpreter. |
| 37 * **Likely mentors:** [Nathaniel Manista](https://github.com/nathanielmanistaat
google), [Masood Malekghassemi](https://github.com/soltanmm). |
| 38 1. Develop and test Python 3.5 Support for gRPC. Make necessary changes to port
gRPC and package it for supported platforms. |
| 39 * **Required skills:** Python programming language, PyPy Python interpreter. |
| 40 * **Likely mentors:** [Nathaniel Manista](https://github.com/nathanielmanistaat
google), [Masood Malekghassemi](https://github.com/soltanmm). |
| 41 |
| 42 gRPC Ruby/Java: |
| 43 |
| 44 1. [jRuby](http://jruby.org) support for gRPC. Develop a jRuby wrapper for gRPC
based on grpc-java and ensure that it is API compatible with the existing Ruby i
mplementation and passes all tests. |
| 45 * **Required skills:** Java programming language, Ruby programming language. |
| 46 * **Likely mentors:** [Michael Lumish](https://github.com/murgatroid99), [Eric
Anderson](https://github.com/ejona86). |
| 47 |
| 48 |
| 49 gRPC Wire Protocol: |
| 50 |
| 51 1. Develop a [Wireshark](https://wireshark.org) plugin for the gRPC protocol. Pr
ovide documentation and tutorials for this plugin. |
| 52 * **Bonus:** consider set-up and use with mobile clients. |
| 53 * **Required skills:** Wireshark software. |
| 54 * **Likely mentors:** [Nicolas Noble](https://github.com/nicolasnoble). |
OLD | NEW |