See also: SOCIS Instructions

Guidelines for ESA Summer of Code in Space

Information for Students

These ideas were contributed by our developers and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you may wish to contact the developers and find out more about the particular suggestion you're looking at.

Being accepted as a ESA Summer of Code in Space 2014 (ESA SoCiS) student is quite competitive. Students are supposed to thoroughly research the technologies of their proposed project. Also they are supposed to be in contact with potential mentors. Simply copying and pasting an idea here will not work. On the other hand, creating a completely new idea without first consulting potential mentors is unlikely to work out.

When writing your proposal or asking for help from the general KDE community don't assume people are familiar with the ideas here. KDE is really big!

If there is no specific contact given you can ask questions on the KDE EDU list [email protected] or on the general KDE development list [email protected] See the KDE mailing lists page for information on available mailing lists and how to subscribe.

Adding a Proposal

Follow the template of other proposals!


Brief explanation:

Expected results:

Knowledge Prerequisite:


When adding an idea to this section, please try to include the following data:

  • if the application is not widely known, a description of what it does and where its code lives
  • a brief explanation
  • the expected results
  • pre-requisites for working on your project
  • if applicable, links to more information or discussions
  • mailing list or IRC channel for your application/library/module
  • your name and email address for contact (if you're willing to be a mentor)

If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.


How to find ideas? Obvious sources of projects are the bugs database, the forum, and your list and IRC channel ideas.

Marble Virtual Globe

Marble is a Virtual Globe based on Qt technology and is a part of the KDE Edu Suite ( The Marble webpage is at and the developers' mailing list is at If you want to apply for one of these projects please check out the student application form on the ESA Summer of Code in Space 2014 (ESA SoCiS) website! Deadline for the application is May 5th, 2014!

Project: Marble: Bringing Marble into the Planetarium

Brief explanation: Marble is a great educational tool for desktops and mobile devices. It has extensive support for projections. As such it could be easily used to provide the view in a format that can be used for single projector digital planetariums. This could be developed further into a solution that can be used with multiple projectors and multiple servers. The initial challenge would be to provide Marble's view in a projection that can be used by a single projector. This approach should be fully implemented during the project's timeline. Possibly Marble's OpenGL mode could be extended to provide a richer feature set. Later on the challenge would be to distribute Marble's view across multiple projectors and ensure proper synchronization. This step is certainly a lot harder to accomplish but it would be nice already if the result of this project would provide a simple prototype.

Ressources: Stellarium already does provide a similar feature. However Stellarium only features a minor subset of the capabilities Marble provides. See

We are also in touch with some planetarium people who would be able to provide some input (and maybe ressources).

Expected results: Marble is used to display the starry sky, earth and planets inside a digital planetarium dome.

Knowledge Prerequisite: A good grasp over C++ and object-oriented programming, and Qt; writing test cases with Qt; should quickly learn how to write libraries; have a lot of patience; ability to solve software design problems.

Math skills are needed, familiarity with celestial mechanics is a plus!

Mentor: Torsten Rahn <rahn AT kde DOT org>, Rene Kuettner <rene AT bitkanal DOT net>


Project: Panoramic picture support for celestial bodies in Marble

Brief explanation: Projects like the Mars Exploration Rovers or the moon landings have produced stunning Panoramic images:

Mars (MER):

Titan (Huygens):

Moon (Apollo):

Venus (Venera):

At least some of them are available in the public domain. Marble has support for visualizing other planets (like Mars and Venus) already. It would be great if Marble would e.g. display icons on top of the Mars Globe which the user could use to visualize the panoramic photos in a panoramic view. The data would get retrieved in the background automatically from The visualization of the Panoramic view would be done through the Marble library's feature-set itself: There is some initial code for using the Gnomonic projection in Marble here: ).

Expected results: The user can visualize Panoramic photos from past space missions in Marble as a panoramic view (e.g. Apollo Missions, MER, Viking, etc.).

Knowledge Prerequisite: C++. Familiarity with Qt will help.

Mentor: Torsten Rahn <rahn AT kde DOT org> and/or Dennis Nienhüser <earthwings AT gentoo DOT org&gt and/or Rene Kuettner <rene AT bitkanal DOT net>



KStars is a very powerful tool for anyone interested in astronomy. It is part of the KDE Edu suite.

Project: Fix our deep-sky data handling

Brief explanation: Currently, KStars handles data from deep-sky object catalogues in an SQLite database. While this is working well, there are some more features we would like to have, and some that should be implemented in order to sanitize the deep-sky data handling, such as automatic cross-referencing of deep-sky objects across catalogs, organizing deep-sky data better in the database etc using Hierarchical Triangular Mesh, etc.

More details here:

Expected results: Some, or all of the improvements to deep-sky handling suggested above (or maybe even your own suggestions), implemented completely in solid, release-worthy code.

Knowledge Prerequisite: C++, Qt, understanding of astronomical catalogues, some experience with data structures.

Mentors: Rafal Kulaga (IRC: rkulaga), Rishab Arora (IRC:spacetime)

The student will need to:

  • Look at the relevant code, and propose a tractable plan for implementing some of the improvements within the GSoC timeframe.
  • Implement some of the improvements, producing production-ready code that can be included in the next release of KStars after GSoC 2014.

PS: If all this looks daunting, that's because you have not (yet) talked to us. If you're really interested, get onto #kde-kstars and ping the mentors.

Project: Improved star hopping feature in KStars

Brief explanation: Star hopping is a technique that is often used by amateur astronomers to locate objects in the sky. It uses brighter objects as a guide for finding fainter ones. Many good star hopping tutorials are available on the web.

KStars currently has an experimental implementation of star hopping (tools/starhopper.cpp and tools/starhopper.h) that uses A* algorithm. It's currently not configurable - it would be good to give user the possibility to specify equipment used during session and then use this information to create better star hopping lists by adjusting cost function. Also, changing the way star hopper feature is enabled by the user is worth considering. The option to print star hopping list together with instructions and basic information about intermediate objects would be desirable. Classes that comprise extended star hopper feature should come with proper unit tests.

Please note that this is relatively simple project, so extending it with other ideas and tasks is welcome.

Expected results: Reliable and configurable star hopping feature in KStars with possibility to print star hopping instructions.

Knowledge Prerequisite:

  • Good knowledge of C++, Qt and KDE libs.
  • Basic knowledge in astronomy would be a plus.

Mentor: Rafal Kulaga (rl.kulaga - at -, IRC: rkulaga)

Project: Sky guides feature in KStars

Brief explanation: This feature is targeted particularly at beginners in the field of amateur astronomy. The idea is to create XML file format that will enable anybody to create guides which can be then published in the same way as custom star catalogs are. In the longer perspective, a feature that will enable creation and editing of such guides directly from KStars (without the need to manually edit XML files) should be implemented.

On the technical side, sky guides could be implemented as a neat QML-based side panel of the KStars' main window. Mockups are welcome in project applications.

This feature has been partly developed as a part of SOCIS 2011 project. It hasn't been finished as we have decided to focus on other issues. Currently only XML file format for sky guides and classes that represent guides, slides etc. are mostly finished. Code related to sky guides feature is located mainly in the socis2011-skyguides branch. XML schema definition file for sky guides is /kstars/data/skyguides.xsd.

Extensions and other ideas are welcome.

Expected results: Aesthetically pleasing and complete sky guides feature, optimally with a few example files.

Knowledge Prerequisite:

  • Good knowledge of C++, Qt and KDE libs.
  • Basic knowledge in astronomy would be a plus.

Mentor: Rafal Kulaga (rl.kulaga - at -, IRC: rkulaga)

Project: Improve 'What's up tonight' feature in KStars

Brief explanation: Currently, 'What's up tonight' feature, although working, might not be optimal for observation planning. The idea is to extend it with the option to filter out objects which can't be observed with the equipment that user possess and ones that are not interesting for the user for other reasons. Resulting objects should be then presented as a chronological list with possibility to print it (integration with KStars printing features would be a great plus).

Extensions and other ideas are welcome.

Expected results: More functional 'What's up tonight' feature, integrated with KStars printing features.

Knowledge Prerequisite:

  • Good knowledge of C++, Qt and KDE libs.
  • Basic knowledge in astronomy would be a plus.

Mentor: Rafal Kulaga (rl.kulaga - at -, IRC: rkulaga)

Project: Propose your own project

Brief explanation: If you have some interesting ideas about KStars that can be implemented within the GSoC timeframe, you are very welcome to propose them, because we seem to have run out of ideas.

Mentors: Rafal Kulaga (IRC: rkulaga), Rishab Arora (IRC: spacetime)

This page was last edited on 11 May 2014, at 11:02. Content is available under Creative Commons License SA 4.0 unless otherwise noted.