The GODOT Community has been established to make ESA's GODOT software available to the wider ESA community under ESCLv2.4 license.

The Community aims to create an environment for developing and sharing astrodynamics software based on GODOT.

What is GODOT?

GODOT is the ESA/ESOC flight dynamics software for performing orbit related computations for estimation, optimisation and analysis of orbits for mission analysis and in-flight operations.

GODOT is written in C++. User applications can be built in C++ or entirely in Python using a dedicated Python interface.

For more technical information, see the GODOT documentation.

The GODOT Community is made up of several projects which fall into the following categories:

Operations infrastructure

GODOT is a collection of C++ libraries developed at ESA/ESOC which is used for mission analysis and mission operations of all ESA space missions.

The GODOT project is an operational tool and therefore under strict control.

Changes to this project is only permitted from its ESA gitlab site. The space codev projects is a read-only mirror.

This does not mean that GODOT cannot be adapted by the community!

GODOT has been designed to allow many changes to be performed using plugin extension libraries which enable new functionality without touching the code in the GODOT project at all.

Supporting projects

The GODOTPY project provides a Python interface to GODOT, using Pybind11

The GODOT documentation project generates the documentation available here.

GODOT Jupyter Tutorials is a project which provides a collection of Jupyter tutorials explaining how to use godot. They are available here.

Community Extensions

The community are free to contribute their own community projects to extend GODOT functionality.

The GODOT Extensions project demonstrates how to add various C++ extensions. This project is documented here.

Community projects should be placed in the Community Subdomain

Of course it may be that you want to make a change which does not seem possible without changing the GODOT or GODOTPY project code. In this case the best thing is to raise an issue to discuss the topic.

If members of the community have requests for new features, these should be raised in the GODOT issues project.

GODOT Community

Everyone within the ESA Member States are welcome to join and become part of its community, use the software and contribute at all levels. However, in order to pool together resources and maintain a coherent way forward, terms guiding the community members are necessary.

Actions will be undertaken driven by the following principles:

  • Transparency

  • Openness

  • Vendor Neutrality

The GODOT community Governance is a heart of the GODOT community and defines how to work together. It defines all roles, the contribution and decision-making processes. Governance includes also a code of conduct.

The GODOT community (users, contributors, maintainers, etc.) and their contributions are supported by a GODOT group:

  • The GODOT group is visible to all CoDev internal users.

  • All users can request to join directly, by using GitLab “Request Access” functionality or by contacting Ruaraidh Mackenzie, ruaraidh.mackenzie@esa.int.

  • All users interesting in contributing to the projects must first sign the GODOT community contributors agreement

  • This website provides organisational information.

  • The GODOT documentation is the source of technical information on GODOT.

For further information, please also consider reading the following documents for each project in the GODOT group:

  • README: an introduction to project. Among other things, it contain an introduction about installation instructions and licensing. License text is placed into a separate file named LICENSE

  • LICENSE: The main license text(s) will help license experts and licensees to assess the license situation of the source code.

  • CONTRIBUTING: Contributing guidelines to be followed by contributors. It provides general code styles as well as items required for contributions in order to be accepted (for example documentation and test, existing issue present, commit message conventions and how to open a merge request).

  • CHANGELOG: a list all the changes for each release.

Mailing list

There is a GODOT Community Google Group: godot-community@googlegroups.com for email communication.

To be added to this group, request via google groups or ask Ruaraidh Mackenzie, ruaraidh.mackenzie@esa.int.