CONTRIBUTING.md
e9810bcd
 Ansible Community  Information
9a0b09f7
 ==============================
e9810bcd
 
7495ad5a
 The purpose of the Ansible community is to  unite developers, system administrators, operations, and 
 IT managers to share and build great automation solutions.  This document contains all sorts of 
 information about how to contribute and interact with Ansible.  Welcome!
9a0b09f7
 
e9810bcd
 Ways to Interact
 ================
 
7495ad5a
 There are a lot of ways to join and  be a part  of the  Ansible community, such as:
e9810bcd
 
 Sharing Ansible with Others
9a0b09f7
 ---------------------------
e9810bcd
 
7495ad5a
 You can help share Ansible with others by telling friends and colleagues, writing a blog post, 
 or presenting at user groups (like DevOps groups or the local LUG or BUG).  You are also 
33e80a81
 welcome to share slides on speakerdeck, sign up for a free account and tag it “Ansible”. On Twitter, 
 you can also share things with #ansible and may wish 
 to follow [@AnsibleWorks](https://twitter.com/ansibleworks).
e9810bcd
 
7f972522
 Sharing Content and Tips
 ------------------------
086400cd
 
7495ad5a
 Join the [Ansible project mailing list](https://groups.google.com/forum/#!forum/ansible-project) and you 
 can share playbooks you may have written and other interesting implementation stories. Put your Ansible 
 content up on places like github  to share with others.
086400cd
 
e9810bcd
 Sharing A Feature Idea
9a0b09f7
 ----------------------
086400cd
 
7495ad5a
 If you have an idea for a new feature, you can open a new ticket at 
 [github.com/ansible/ansible](https://github.com/ansible/ansible), though in general we like to 
 talk about feature ideas first and bring in lots of people into the discussion. Consider stopping 
 by the [Ansible project mailing list](https://groups.google.com/forum/#!forum/ansible-project) or #ansible
 on irc.freenode.net.  
a478e5c9
 
e9810bcd
 Helping with Documentation
9a0b09f7
 --------------------------
086400cd
 
7495ad5a
 Ansible documentation is a community project too!  If you would like to help with the 
 documentation, whether correcting a typo or improving a section, or maybe even 
 documenting a new feature, submit a github pull request to  the code that
 lives in the “docsite/latest/rst” subdirectory of the project.   Docs are in restructured text
 format.  If you aren’t comfortable with restructured text, you can also open a ticket on 
 github about any errors you spot or sections you would like to see added. For more information
 on creating pull requests, please refer to the
 [github help guide](https://help.github.com/articles/using-pull-requests).
 
086400cd
 
81155ee2
 Contributing Code (Features or Bugfixes)
 ----------------------------------------
e9810bcd
 
7495ad5a
 The Ansible project keeps it’s source on github at 
 [github.com/ansible/ansible](http://github.com/ansible/ansible) 
 and takes contributions through
 [github pull requests](https://help.github.com/articles/using-pull-requests).
87d9462d
 
e9810bcd
 When submitting patches, be sure to run the unit tests first “make tests” and always use 
 “git rebase” vs “git merge” (aliasing git pull to git pull --rebase is a great idea) to 
87d9462d
 avoid merge commits in your submissions.  
 
7495ad5a
 We’ll then review your contributions and engage with you about questions and  so on.  Please be 
 advised we have a very large and active community, so it may take awhile to get your contributions 
 in!  Patches should be made against the 'devel' branch.
e9810bcd
 
7495ad5a
 Contributions can be for new features like modules, or to fix bugs you or others have found. If you 
 are interested in writing new modules to be included in the core Ansible distribution, please refer 
d2df15e0
 to the [Module Developers documentation on our website](http://www.ansibleworks.com/docs/developing_modules.html).
e9810bcd
 
7495ad5a
 Ansible's aesthetic encourages simple, readable code and consistent, conservatively extending, 
 backwards-compatible improvements.  Code developed for Ansible needs to support Python 2.6+, 
 while code in modules must run under Python 2.4 or higher.  Please also use a 4-space indent
 and no tabs.
e9810bcd
 
76fd60da
 Tip: To easily run from a checkout, source "./hacking/env-setup" and that's it -- no install
 required.  You're now live!
 
 
e9810bcd
 Reporting A Bug
9a0b09f7
 ---------------
a478e5c9
 
81155ee2
 Bugs should be reported to [github.com/ansible/ansible](http://github.com/ansible/ansible) after 
7495ad5a
 signing up for a free github account.  Before reporting a bug, please use the bug/issue search 
 to see if the issue has already been reported.  
a478e5c9
 
c876ce4b
 When filing a bug, the following information is required:
e9810bcd
 
c876ce4b
 * A good name for the bug ("Foo module raises exception when xyz=glork is used", vs "foo doesn't work")
 * A succint description of the problem
e9810bcd
 * What version of ansible you are using (ansible --version)
 * Steps to reproduce the problem
 * Expected results
c876ce4b
 * Actual results
e9810bcd
 
c876ce4b
 Do not use the issue tracker for "how do I do this" type questions.  These are great candidates
 for IRC or the mailing list instead where things are likely to be more of a discussion.
 
 To be respectful of reviewers time and allow us to help everyone efficiently, please 
 provide minimal well-reduced and well-commented examples versus sharing your entire production
 playbook.  Include playbook snippets and output where possible.  
 
 Content in the GitHub bug tracker can be indented four spaces to preserve formatting.  
 For multiple-file content, we encourage use of gist.github.com.  Online pastebin content can expire.
 
 If you are not sure if something is a bug yet, you are welcome to ask about something on 
7495ad5a
 the mailing list or IRC first.  As we are a very high volume project, if you determine that 
 you do have a bug, please be sure to open the issue yourself to ensure we have a record of
 it. Don’t rely on someone else in the community to file the bug report for you.
e9810bcd
 
 Online Resources
9a0b09f7
 ================
e9810bcd
 
 Documentation
9a0b09f7
 -------------
e9810bcd
 
7495ad5a
 The main ansible documentation can be found at [ansibleworks.com/docs](http://ansibleworks.com/docs). 
 As mentioned above this is an open source project, so we accept contributions to the documentation. 
 You can also find some best practices examples that we recommend reading at 
 [ansible-examples](http://github.com/ansible/ansible-examples).
e9810bcd
 
 Mailing lists
9a0b09f7
 -------------
e9810bcd
 
7495ad5a
 Ansible has several mailing lists.  Your first post to the mailing list will be 
 moderated (to reduce spam), so please allow a day or less for your first post.
e9810bcd
 
7495ad5a
 [ansible-announce](https://groups.google.com/forum/#!forum/ansible-announce) is for release 
 announcements and major news.  It is a low traffic read-only list and you should only get a few 
 emails a month.
87d9462d
 
7495ad5a
 [ansible-project](https://groups.google.com/forum/#!forum/ansible-project) is the main list, and is 
 used for sharing cool projects you may have built, talking about Ansible ideas, and for users to ask 
 questions or to help other users.
e9810bcd
 
7495ad5a
 [ansible-devel](https://groups.google.com/forum/#!forum/ansible-devel) is a technical list for 
 developers working on Ansible and Ansible modules.  Join here to discuss how to build modules, 
 prospective feature implementations, or technical challenges.
e9810bcd
 
7495ad5a
 To subscribe to a group from a non-google account, you can email the subscription address, for 
 example ansible-devel+subscribe@googlegroups.com.
e9810bcd
 
 IRC
9a0b09f7
 ---
e9810bcd
 
 Ansible has a general purpose IRC channel available at #ansible on irc.freenode.net.
7495ad5a
 Use this channel for all types of conversations, including sharing tips, coordinating 
 development work, or getting help from other users.
e9810bcd
 
9a0b09f7
 Miscellaneous Information
 =========================
 
e9810bcd
 AnsibleWorks Staff
9a0b09f7
 ------------------
a478e5c9
 
7495ad5a
 AnsibleWorks is a company supporting Ansible and building additional solutions based on 
 Ansible.  We also do services and support for those that are interested.   Our most 
 important task however is enabling all the great things that happen in the Ansible 
 community, including organizing software releases of Ansible.  For more information about
 any of these things, contact info@ansibleworks.com
cc30eb74
 
7495ad5a
 On IRC, you can find us as mdehaan, jimi_c, Tybstar, and others.   On the mailing list, 
 we post with an @ansibleworks.com address.
cc30eb74
 
e9810bcd
 Community Code of Conduct
9a0b09f7
 -------------------------
cc30eb74
 
7495ad5a
 Ansible’s community welcomes users of all types, backgrounds, and skill levels.    Please 
 treat others as you expect to be treated, keep discussions positive, and avoid discrimination 
 or engaging in controversial debates (except vi vs emacs is cool).  Posts to mailing lists 
 should remain focused around Ansible and IT automation.   Abuse of these community guidelines 
 will not be tolerated and may result in banning from community resources.
2763fa00
 
a478e5c9
 Contributors License Agreement
9a0b09f7
 ------------------------------
a478e5c9
 
7495ad5a
 By contributing you agree that these contributions are your own (or approved by your employer) 
 and you grant a full, complete, irrevocable
 copyright license to all users and developers of the project, present and future, pursuant 
 to the license of the project.
086400cd