Skip to content

Summer of Code in Space 2023

Georg Zotti edited this page Oct 3, 2022 · 1 revision

Ideas for the SOCIS 2023 (ESA Summer of Code in Space) or other externally sponsored programmes.

Common requirements

All of these tasks require knowledge of C/C++, as Stellarium is written in it, and some knowledge of the Qt framework (or willingness to learn the basics very quickly), because Stellarium relies heavily on it, especially for its GUI.

You should also become familiar with Stellarium's merge proposal review guideline, which outlines how your code will be reviewed before it's merged in Stellarium's code.

Suggested workflow

For each task that looks interesting to you:

  • Understand it - read the description and try to imagine what is required
  • Research it - if the description is unclear, you can ask for clarification and/or do some research and come up with your own ideas. Also, look at how Stellarium works with similar tasks
  • Sketch it - Check out Stellarium's code and build it (there are Git contributor workflow and branching strategy instructions on this wiki), look at what can be used and what needs to be done to implement your idea, how it will come together with the rest of Stellarium
  • All of this should prepare you to write a good proposal.

Ideas/projects

D-Bus Interface

Brief explanation: D-Bus is an interprocess communication protocol which can be used to interface several programs running on the same computer. There is an idea (https://github.com/Stellarium/stellarium/issues/88) to link the three most popular open-source programs to make optimal use of the best features of each program. D-Bus is usually found on modern Linux systems as regular system component, and can also be installed on MacOS X and Windows.

Note that in one previous year's SOCIS initiated a Remote Control plugin which allows controlling Stellarium via an http interface. This required major changes in the internal communication between Stellarium's modules (how the modules' properties are propagated). The D-Bus communication can make use of much of this new infrastructure, and should use a similar syntax.

Knowledge Prerequisite: C++, Qt, a bit of interprocess communication, and some experience with Stellarium, KStars, and maybe Cartes du Ciel.

Mentor: Alexander Wolf (IRC: alexwolf)

Contact

Point Cloud Renderer

The Scenery3D plugin is capable of rendering a geolocated OBJ model. Some 3D data (esp. from laser scanning) come in form of point clouds. It would be desirable to have another foreground 3D rendering option which can display some widely available open 3D point cloud format. Optimally, this should extend the Scenery3D and combine solid OBJ with point clouds.

Knowledge Prerequisite: C++, Qt, and some experience with Stellarium.

Mentor: Georg Zotti

Contact