.. _contributing:

""""""""""""""""""""""
Contributing to Dakota
""""""""""""""""""""""

Our open source software benefits greatly from the contributions of its user community.

Ways to contribute include:

- Participate in Dakota’s `GitHub Discussions <https://github.com/orgs/snl-dakota/discussions>`_
  by asking and answering questions, reporting bugs, suggesting new features, or sharing ways
  you’ve used Dakota in your work.
- Properly :ref:`cite Dakota <citing-dakota>`  when you use it in your work.
- Port Dakota to another platform or operating system and share the configuration extensions or
  build instructions.
- Add a capability such as a new iterative algorithm, surrogate model, or interface; this extension
  typically involves a class derivation along with the definition of a few virtual functions. It’s
  best to consult with us early in the planning stage before embarking on changes of this nature.
  Resolve a bug you’ve observed or has been discussed on GitHub Discussions.