Browse code

Update CONTRIBUTING.md

Michael DeHaan authored on 2013/09/14 09:10:50
Showing 1 changed files
... ...
@@ -1,67 +1,103 @@
1
-Contributing to Ansible
1
+
2
+Ansible Community  Information
3
+------------------------------
4
+
5
+Purpose
6
+=======
7
+
8
+The purpose of the Ansible community is to  unite developers, system administrators, operations, and IT managers to share and build great automation solutions.
9
+
10
+Ways to Interact
11
+================
12
+
13
+There are a lot of ways to join and  be a part  of the  Ansible community.
14
+
15
+Sharing Ansible with Others
16
+===========================
17
+
18
+You can help share Ansible with others by telling friends and colleagues ,  writing a lblog post, or presenting at user groups (like DevOps groups or the local LUG or BUG).  You are also 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.
19
+
20
+Sharing Tips and Tricks
2 21
 =======================
3 22
 
4
-It is required that you read the following information to learn how to contribute to this project.
23
+Join the Ansible 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.
5 24
 
6
-Branch Info
7
-===========
25
+Sharing A Feature Idea
26
+======================
8 27
 
9
-Here's how to understand the branches.
28
+If you have an idea for a new feature, you can open a new ticket at (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 Ansible project mailing list at (https://groups.google.com/forum/#!forum/ansible-project).  
10 29
 
11
-   * The devel branch corresponds to the latest ongoing release
12
-   * Various release-X.Y branches exist for previous releases
13
-   * All feature work happens on the development branch.
14
-   * Major bug fixes will be made to the last release branch only
15
-   * See CHANGELOG.md for release notes to track each release.
30
+Helping with Documentation
31
+==========================
16 32
 
17
-Patch Instructions
18
-==================
33
+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.
19 34
 
20
-Contributions to the core and modules are greatly welcome.
21
-
22
-   * Required Process:
23
-       * Submit github pull requests to the "ansible/devel" branch for features
24
-       * Fixes for bugs may also be submitted to "ansible/release-X.Y" for the last release
25
-       * Make sure "make tests" passes before submitting any requests.
26
-   * Bonus points:
27
-       * Joining the mailing list
28
-       * Fixing bugs instead of sending bug reports.
29
-       * Using squash merges
30
-       * Updating the "rst/*" files in the "docsite/" directory and "docs/" manpage content
31
-       * Adding more unit tests
32
-   * Avoid:
33
-       * Sending patches to the mailing list directly.
34
-       * Sending feature pull requests to the 'release' branch instead of the devel branch
35
-       * Sending pull requests to mpdehaan's personal ansible fork.
36
-       * Sending pull requests about more than one feature in the same pull request.
37
-       * Whitespace restructuring
38
-       * Large scale refactoring without a discussion on the list
39
-
40
-Coding Standards
41
-================
35
+Contributing Code
36
+=================
37
+
38
+The Ansible project keeps it’s source on github at http://github.com/ansible/ansible 
39
+and takes contributions through github pull requests.   
40
+See https://help.github.com/articles/using-pull-requests.   
41
+When submitting patches, be sure to run the unit tests first “make tests” and always use 
42
+“git rebase” vs “git merge” (aliasing git pull to git pull --rebase is a great idea) to 
43
+avoid merge commits in your submissions.  We’ll then review your contributions and engage 
44
+with you about questions and  so on.  Please be advised we have a very large and active community,
45
+so it may take awhile to get your contributions in!  Patches should be made against the 'devel' branch.
46
+
47
+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 to the Module Developers documentation on our website at http://www.ansibleworks.com/docs/moduledev.html.
48
+
49
+The proverbial 'Zen of Ansible' 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.
50
+
51
+Reporting A Bug
52
+===============
42 53
 
43
-We're not too strict on style considerations, but we require:
54
+Bugs can be reported to http://github.com/ansible/ansible after 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.  
44 55
 
45
-   * python 2.6 compliant code, unless in ansible modules, then python *2.4* compliant code (no 'with', etc)
46
-   * 4-space indents, no tabs except in Makefiles
47
-   * under_scores for method names and variables, not camelCase
48
-   * GPLv3 license headers on all files, with copyright on new files with your name on it
49
-   * no single-line if statements, deeply nested list comprehensions, or clever use of metaclasses -- keep it simple
50
-   * comments where appropriate
56
+When filing a bug, please make sure to include the following information in the bug report:
57
+
58
+* What version of ansible you are using (ansible --version)
59
+* Steps to reproduce the problem
60
+* Expected results
61
+* Actual results.
62
+
63
+If you are not sure if something is a bug yet, you are welcome to ask about something on 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.
64
+
65
+Online Resources
66
+----------------
67
+
68
+Documentation
69
+=============
70
+
71
+The main ansible documentation can be found at 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 http://github.com/ansible/ansible-examples.
72
+
73
+Mailing lists
74
+=============
75
+
76
+Ansible has several mailing lists.  The first post to the mailing list will be moderated (to reduce spam), so please allow a day or less for your first post.
77
+
78
+ansible-announce@googlegroups.com 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.
79
+
80
+ansible-project@googlegroups.com 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.
81
+
82
+ansible-devel@googlegroups.com 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.
83
+
84
+IRC
85
+===
86
+
87
+Ansible has a general purpose IRC channel available at #ansible on irc.freenode.net.
88
+Use this channel for all types of conversations, including sharing tips, coordinating development work, or getting help from other users.
89
+
90
+AnsibleWorks Staff
91
+==================
51 92
 
52
-Testing Requirements
53
-====================
93
+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
54 94
 
55
-Automation tests are run by "make tests" and contain a mixture of integration and "unit" level tests.  To run the tests you need the following:
95
+On IRC, you can find us as mdehaan, jimi_c, Tybstar, and others.   On the mailing list, we post with an @ansibleworks.com address.
56 96
 
57
-   * nose must be installed - https://nose.readthedocs.org/en/latest/
58
-   * ansible tests require paramiko, PyYAML python modules, and python 2.6+.
59
-   * Some tests require additional components (facter, ohai) and will be skipped if not available.
60
-   * Your user environment should allow "ssh 127.0.0.1"
61
-     without a password - so a key held in ssh-agent and an authorized_keys entry.
97
+Community Code of Conduct
98
+=========================
62 99
 
63
-If your module does not require any additional dependencies beyond ansible-core, it is a good idea to write some
64
-tests for the module.
100
+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.
65 101
 
66 102
 Contributors License Agreement
67 103
 ==============================