Contributing Code
=================

``yt`` is designed to be accessible to contributions, of both enhancements to
the core packages and the library of recipes and scripts for performing common
-- and not-so-common -- tasks.

Bug Fixes
---------

If you have simple bug fixes, please feel free to attach them to a ticket on
the `bug tracker <http://yt.enzotools.org/newticket/>`_ (you might have to
`register <http://yt.enzotools.org/register>`_ first) or to email them to one
of the developers directly.  We're always happy to hear about the things we've
done wrong, and how you've fixed them!

Licensing
---------

All contributed code must be GPL-compatible; we ask that you consider licensing
under the GPL version 3, but we will consider submissions of code that are
BSD-like licensed as well.  If you'd rather not license in this manner, but
still want to contribute, just drop me a line and I'll put a link on the main
wiki page to wherever you like!

Fields and Extensions
---------------------

``yt`` comes with a bunch of derived fields.  However, if you have constructed
some that add interesting analysis quantities, please feel free to send them to
one of the developers!

Additionally, if you have a sub-module that extends ``yt`` in a fun or exciting
way, we'd be very happy to include it.  Recently we've added light cone
generators, halo profilers, and work is even ongoing on a parallel halo finder!

.. _free_repo_space:

Analysis Code and Examples
--------------------------

Because ``yt`` can be a bit difficult to become fully acquainted with, we
encourage you to share your analysis scripts.  Specifically, we will provide
you with free repository space to store any analysis scripts that went into the
writing of a paper.  Through this, we hope to build up a library not only of
usage-cases, but of real-world examples of plot generation and data analysis.

If you are interested in submitting your scripts, please contact Matt Turk at
``matthewturk@gmail.com``.
