Skip to content

Contributing

IO.Astrodynamics is free and open source under LGPL-3.0-or-later, published as a single package, IO.Astrodynamics.

One edition since 10.0.0

Up to 9.x there was a second, proprietary package, IO.Astrodynamics.Pro. It is discontinued: all of its code is now part of IO.Astrodynamics, under the same licence. See Versioning for the migration notes.

Where To Contribute

Everything happens in the GitHub repository: issues, feature discussions and pull requests. The whole codebase is open to contributions, including the adaptive integrator, the Earth orientation frames, the SSA module and the CCSDS message support.

The native C++ layer is a thin, stable bridge to CSPICE. It accepts fixes and performance or stability improvements, but not new API surface: new capabilities belong in the .NET layer.

What A Good Contribution Looks Like

  • A feature branch, and a pull request that explains the why rather than restating the diff.
  • Unit tests for the new behaviour, including edge and error cases. Coverage is expected to stay above 95 percent.
  • Numerical work validated against an authoritative source. Say which one and quote the residuals; a conformance case is better still, see Validation.
  • XML documentation comments on every public member, and a documentation update when the public API changes.
  • Microsoft C# conventions, SOLID and DRY, methods that do one thing.

The full guidelines live in CONTRIBUTING.md, alongside the code of conduct. Security reports follow SECURITY.md rather than the public issue tracker.

Supporting The Project

Keeping a .NET-first astrodynamics toolkit current with SPICE releases, kernel updates and cross-platform packaging takes real effort. You can help through GitHub Sponsors, by backing a specific issue, or by contributing kernel sets, scenarios and documentation.

If you need guarantees rather than best effort, see Services.