For Contributors

Overview of Contributor Resources

You, your business, or your organization can get involved in the GMAT project in numerous ways. We use an open source model  and welcome new contributors to the project, either as users providing feedback about the features of the system, or developers interested in contributing to the implementation of the system.  If you're interested in the project and want to get involved, thank you! This page contains some ideas that will get you started.

Exploring GMAT

Are you interested in mission design?
  • See our Mathematical Specification in PDF form. The LaTeX code is available in our SourceForge repository.
  • Check out our project forums. There's usually some discussion going on that may interest you.
Do you like software development?
  • Our public source code is located on SourceForge's SVN servers: https://svn.code.sf.net/p/gmat/code. Check out the trunk directory for the current development code.

  • We have a public bug tracker. There are plenty of open bugs that many users would love to see fixed, ranging from those that require 5 minutes of effort up to ones that require intensive engineering knowledge.
  • Check out our development blog for updates about GMAT development issues, including tutorials on how to build the code and how to write custom plugins.
Do you enjoy space and open source?
  • Check out our project forums. There's usually some discussion going on that may interest you.

  • Try some of the sample missions in our Mission Library. You may be inspired to create your own!

Current Development Launch Pad

If you are interested in  current development activities by the core GMAT team see our Current Development Dashboard.  This page contains the following information:

  • Goals for current work
  • High level spec locations
  • Specs/Docs for major feature area development

Contributing to User Documentation

GMAT has a comprehensive User's Guide available in pdf, html, and Windows help formats.   The User's Guide is written in XML and published using DocBook.  All files required to write and build Users Guide are located in our SourceForge repository.  You can contribute to the user's guide in many ways including

  • Writing new tutorials
  • Reviewing and editing pages
  • Migrating data from engineering specs to the User's Guide.

For more information see Writing User Documentation.

Contributing to Testing

GMAT is a complex system used to support operational spacecraft.  We have extensive policies and procedures for testing GMAT.  We have over 10,000 regression tests run nightly or weekly to ensure system quality including script-based and GUI-based testing.  You can contribute to testing in many ways including

  • Use GMAT to solve real world problems
  • Compare GMAT to your own routines or other tools.
  • Explore and document the reasons for failing tests cases

Contributing to Development

You can add new features to GMAT and see those features adopted by the community.  Our process for contributing code to GMAT is covered in the Governance pages.   You don't need to be an expert in C++ to contribute to GMAT functionality.  You can

  • Write engineering specs
  • Write prototypes (we rely heavily on MATLAB prototypes)
  • Review requirements and design documents
  • Fix bugs
  • Improve existing features
  • Add a new features

For more information see the Development launchpad.

Projects/Ideas

See the Projects list for contribution ideas.