In 2019 Libre Space Foundation (LSF) participates in 2019 Google Summer of Code (GSoC). GSoC is a global program which offers post-secondary students an opportunity to discover and work with open source organizations over the course of 3 months, while being paid a stipend. Students work closely with one or more mentors from an open source organization in order to implement either a project idea by the organization, or a proposal of their own.
Please note, that acceptance into GSoC isn't a prerequisite for becoming an Libre Space contributor. You are welcome to join our community developing open-source space technologies by joining our community forum or at #librespace IRC channel on Freenode synced with our Matrix room.
GSoC is a great opportunity for students to get paid to work on an open source project. If you're interested in applying as a student, you should definitely read the following resources:
Join #librespace IRC channel on irc.freenode.net or the synced Matrix channel if you are interested in an open-source space technologies project that has it's own channel please feel free to join in too. p.e. for SatNOGS development join #satnogs too at irc.freenode.net or Matrix
Open-source space technologies and open-source projects are quite diverse, each following their own needs to provide solutions. Read the available documentation and don't hesitate to reach out to the forums and chat rooms for clarification and guidance.
Once you have a good understanding of the project is high-time to write your proposal.
Your proposal should use the following template
What interests you about this project?
Why is it worth doing?
Prior experience (especially with regards to technical skills that are needed for the project)
Project plan and implementation strategy
Clear milestones explaining the deliverables to be achieved by the end of each Strong proposals will have clear, concrete and well-defined milestones. It's OK to break up a milestone into smaller milestones over smaller timescales, but individual milestones should represent concrete deliverables. Please try to be realistic when setting milestones.
A technical design and implementation plan Strong proposals will demonstrate familiarity with the codebase, a realistic implementation plan, and attention to detail.
Mocks or wireframes, if appropriate they don't need to be pixel perfect but they should represent user journeys clearly.
Which timezone(s) will you primarily be in during the summer?
How much time will you be able to commit to this project?
What other obligations might you need to work around? Please be upfront about any existing commitments you may have.
What is your contact information, and preferred method of communication?
How often do you plan on communicating with your mentor?
In order to add a new idea for consideration please add a new issue, and select the 'Idea' template which follows the following structure.
### Sample Idea name.**Aim** Please describe the scope of the idea at hand.**Skills/Knowledge required** * p.e. Python * p.e. GNU Radio flowgraphs**Expected results** What should the finalized contribution is expected to do**Potential mentor(s)** you know who you are**Related repositories** add if applicable
PLUTO DSL in Python
PLUTO is a domain specific language for use in space mission testing and
operations. It has been standardized by the European Committee for Space
Standardization (ECSS) and is used by ESA for automatization of operations.
The goal of this project is to develop an open source PLUTO parser that
is able to read PLUTO scripts as input and generates valid Python3 code
from it. The Python module to use for the parser is Lark (proposed).
preferably some knowledge of DSLs
A working prototype that takes a PLUTO script as input and outputs valid
Python3 code. The PLUTO script should encompass all essential elements of
The Space Packet Protocol (CCSDS 133.0-B-1) is designed to meet the requirements of space missions to
efficiently transfer space application data of various types and characteristics over a network
that involves a ground-to-space or space-to-space communications link. The goal of this activity is to provide an OS independent implementation of the Space Packet protocol and especially the TC Space Data Link Protocol (CCSDS 232.0-B-3 ) and TM Space Data Link Protocol (CCSDS 132.0-B-2). Such a library can be easily integrated either into a spacecraft or at the ground segment, allowing robust and efficient exchange of information.
Good C knowledge
Basic understanding of networks
Basic micro-controller knowledge
The outcome of this activity will be a C-based library that will be operating system independent and will use only the standard C library. That will enable users to integrate this library either in applications w
Machine Learning on health-keeping telemetry for cubesat awareness and diagnostic
The aim is to analyze a set of telemetry from a satellite to understand links and dependencies among different subsystems. The project should be able to demonstrate understanding of the links between the different behaviour changes of each telemetry within a satellite, or between the telemetry and a set of external sources of information (mission plan, solar aspect angles, ephemerides, etc.). Machine learning can be used to learn the different link models; the acquired knowledge should be stored in a graph (Bayesian network). The intermediate and final output should be represented as data interpretable by a visualization interfaces, preferably in JSON.
Pandas data wrangling
Feature engineering principles
Traditional machine learning workflow as well as continuous learning workflow
ML algorithms and models: xgboost, auto-encoders, generative models
The final contribution should be a Python module that can take any set of telemetry from the SatNOGS network, merge it with orbital information, and perform an analysis to diagnose potential issues.
Redouane Boumghar (@redsharpbyte) for ESA-SOCIS: Data scientist for space ops
Xabier Crespo Alvarez (@crespum) for GSoC: Embedded Systems Consultant