yt is developed completely in the open. Our project on GitHub contains the repositories that make up the source code and documentation, and even this website. Since the documentation is in the source code repository, when you download the source, you get everything necessary to submit changes to the code or the docs. yt is released under the modified BSD license.
We invite contributions of any type -- code, analysis modules, documentation, blog posts, and even enhancements for the website. Below are some hints on what to expect and how to get involved, but please stop by the yt-dev mailing list or #yt on chat.freenode.org if you have any questions. Additionally, we use slack as a communication platform for development discussions. Feel free to sign up and try it out.
Contributions to yt go through several stages. Once you've submitted a pull request, to the source code, the documentation, or even the blog, you will likely receive comments on it from developers or other individuals. Every pull request gets reviewed, even those issued by developers that have been with the project for years.
These comments might address stylistic issues, may request changes to the variable names, may suggest methods of testing, or may even suggest alternate approaches to solving given problems.
We're grateful for every contribution, and we hope to hear from you.
Here's the simplest way to get started contributing to yt. You can fork yt on GitHub, push some changes to your fork, and issue a pull request.
In the documentation you can find an an outline of how to contribute changes, but here are some handy tips and tricks:
The process of designing yt is conducted through consensus-oriented and code-driven discussions. In the waning months of 2012, a process was somewhat codified for discussing major design decisions and strategizing about preserving and breaking backwards compatibility. Large-reaching design discussions and decisions are described in "yt Enhancement Proposals" (YTEPs). These documents are stored in a repository, they are discussed both on the mailing list and through the process of pull requests and they are meant to be living documents that reflect how and why changes to fundamental components of yt are made. The current set of all YTEPs can be found at ytep.readthedocs.org.
Because yt is used for analysis and visualization by a number of individuals across the globe, we try to avoid breaking existing scripts and functionality without very good reason. The process of writing, submitting and iterating on a design document can put overhead on the process of coding and hacking away, but we want to ensure that yt is a reliable basis for long-term and stable analysis.
The community of participants in open source Scientific projects is made up of members from around the globe with a diverse set of skills, personalities, and experiences. It is through these differences that our community experiences success and continued growth. We expect everyone in our community to follow these guidelines when interacting with others both inside and outside of our community. Our goal is to keep ours a positive, inclusive, successful, and growing community.
As members of the community,
This code of conduct applies to all community situations online and offline, including mailing lists, forums, social media, conferences, meetings, associated social events, and one-to-one interactions.
The yt Community Code of Conduct was adapted from the Astropy Community Code of Conduct, which was partially inspired by the PSF code of conduct.