Linaro GSoC suggested project Ideas list for 2016


All of the project descriptions should follow the following template.

Title of the project

  • Description of the project: At least 8-10 lines describing the project. It is essential to have a good description of your project idea if you want to attract good student applications. You should have enough information here to guide a prospective student when they're deciding whether to work on your project or not. Don't go too technical here, necessarily; you don't need to spell out your complete design for a project, nor should you. Give potential applicants the core idea of what you're thinking/expecting, and be prepared to work with them on their interpretation of the project as/when they apply.

  • Confirmed Mentor: Name of the mentor

  • How to contact the mentor: (mail, IRC, etc)

  • Confirmed co-mentors: It is not compulsory to have co-mentors up-front, but it is definitely a good idea. Secondary mentors do not need to be as knowledgeable as the primary mentor, but they should be available to help the student as/when necessary (e.g. the primary mentor is on vacation)

  • Deliverables of the project: Upstreaming language bindings to libsoc along with examples and test code for each language.

  • Desirable skills: C, Python, Java and/or JavaScript would be a plus.

  • What the student will learn: Learn about things like GPIOs in embedded systems. Learn about developing bindings from a high-level language into C.

Projects with confirmed mentors

Please keep this section clear of project ideas without confirmed mentors, to avoid any confusion for prospective students. Such projects should be published in the next section.

VLANd: device support

  • Description of the project: VLANd is a new piece of Open Source Software, designed and developed by Linaro engineers to enable testing with complex ad-hoc networks in our LAVA test lab. It's still comparatively new and lacking in features, and there is scope for several possible projects in this area. An initial project suggestion is to add more support for more switch devices. At the moment, VLANd only targets some specific models of switch (2 Cisco, 1 TP-Link, 1 Netgear)that we use in the central LAVA test lab. It would be great to have more support for other switch devices, both physical devices (including from other vendors) and particularly virtual devices like Open vSwitch.

  • Confirmed Mentor: Steve McIntyre

  • How to contact the mentor:; IRC: SteveMcIntyre @ freenode

  • Confirmed co-mentors: none (yet!)

  • Deliverables of the project: Fully functional VLANd device backend for one/several new switch devices

  • Desirable skills: Python, networking, ...

  • What the student will learn: More about enterprise-level networking in a real, working test environment; how to interface to switch devices and make them dance!

Mailing list patches validation

* Description of the project: Patchwork is tool for tracking patches in mailing list. This project is to integrate automatic tests to Patchwork. I.e. integrate it to Jenkins, integrate Do test for individual patches and hole patch set. Replay back to sender if patch does not match acceptance criteria. Show in web interface current status. If possible merge changes upstream.

* Confirmed Mentor: Maxim Uvarov

* How to contact the mentor:

* Confirmed co-mentors: TBD

* Deliverables of the project: Set of patches adding mailing list patches verification. If possible patches merged upstream.

* Desirable skills: Django web framework, python, mysql, json, ajax, bash, Jenkins API. Strong skills in reading documentation, self studying.

* What the student will learn: Student will learn open source release cycle and maintainers work. Delivered test system can really unload maintainers in validation and testing mailing list patches.

libsoc enhancements for 96Boards

  • Description of the project: libsoc is a C library for interfacing with common !SoC peripherals (GPIO, i2c) through generic kernel interfaces. The 96Boards project promotes the use of libsoc for accessing its peripherals. The libsoc API is currently only supported by C. We would like to add Python and Java bindings to libsoc and produce interesting demo code for each language. If time allows adding Javascript bindings too.

  • Confirmed Mentor: Andy Doan

  • How to contact the mentor:; IRC: doanac @ freenode

  • Confirmed co-mentors: David Mandala

  • Deliverables of the project: Set of patches adding Python and Java (and if time allows Javascript) bindings to libsoc. If possible patches merged upstream.

  • Desirable skills: Understanding of C, Python, and Java. Willing to learn how to make bindings for a library.

  • What the student will learn: Student will learn how to work with upstream maintainers, how to expand a C library to support other languages, and learn how to work with embedded hardware.

Projects without confirmed mentors

This page contains project ideas that have been suggested but do not (yet!) include confirmed mentors. These projects won't happen if nobody steps up to the task of mentoring them.

If you are willing and able to mentor one of those projects, please add your name to the Mentors section and move the paragraph back up the the first section.

If you want to add an idea, please follow the template below. But before doing so, please consider mentoring the project, and/or looking for co-mentors to help you doing so. Not having mentors means the project won't happen.

SummerOfCode2016/ProjectIdeas (last modified 2016-02-13 18:22:39)