The GODOT Community has been established to make ESA's GODOT software available to the wider ESA software 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 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.

GODOTPY is an associated project which provides a Python interface to these libraries.

The GODOT and GODOTPY projects are operational tools and are therefore under strict control.

Changes to these projects is only permitted from their ESA gitlab sites. The space codev projects are read-only mirrors.

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 or GODOTPY projects at all.

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.

Documentation and Support

The GODOT Documentation and tutorials projects are shared with the community.

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 interested in contributing, can request to join directly, by using GitLab “Request Access” functionality or by contacting Ruaraidh Mackenzie, ruaraidh.mackenzie@esa.int.

  • 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.