summaryrefslogtreecommitdiffhomepage
path: root/CONTRIBUTING.rst
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-04-15 23:54:47 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-04-16 15:56:59 +0900
commita1fe3d92db5aa3e6757e6d89c07f7f871a610c63 (patch)
tree5804cb2edab1ad035f30be2bfbe4b4ac0bd8221c /CONTRIBUTING.rst
parentf4d3c5616de291043944cb1f89a18681fdfefa5a (diff)
Rename to CONTRIBUTING.rst
This makes the GitHub interface aware of the contribution guidelines, so it will be displayed to contributors when they submit issues or pull requests. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to 'CONTRIBUTING.rst')
-rw-r--r--CONTRIBUTING.rst88
1 files changed, 88 insertions, 0 deletions
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
new file mode 100644
index 00000000..afaa3f3b
--- /dev/null
+++ b/CONTRIBUTING.rst
@@ -0,0 +1,88 @@
+*******************************
+How to Get Your Change Into Ryu
+*******************************
+
+Submitting a change
+===================
+
+Send patches to ryu-devel@lists.sourceforge.net. Please don't use 'pull
+request' on github. We expect you to send a patch in Linux kernel
+development style. If you are not familiar with it, please read the
+following document:
+
+http://lxr.linux.no/source/Documentation/SubmittingPatches
+
+Please check your changes with pep8 and run unittests to make sure
+that they don't break the existing features. The following command
+does both for you:
+
+fujita@rose:~/git/ryu$ ./run_tests.sh
+
+Of course, you are encouraged to add unittests when you add new
+features (it's not a must though).
+
+Python version and libraries
+============================
+* Python 2.6+
+ As RHEL 6 adopted python 2.6, features only for 2.7+ should be avoided.
+
+* standard library + widely used library
+ Basically widely used == OpenStack adopted
+ As usual there are exceptions. gevents. Or python binding library for other
+ component.
+
+Coding style guide
+==================
+* pep8
+ As python is used, PEP8 is would be hopefully mandatory for
+ http://www.python.org/dev/peps/pep-0008/
+
+* pylint
+ Although pylint is useful for finding bugs, but pylint score not very
+ important for now because we're still at early development stage.
+
+* Google python style guide is very helpful
+ http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
+
+ Guidelines derived from Guido's Recommendations
+
+ ============================= ================= ========
+ Type Public Internal
+ ============================= ================= ========
+ Packages lower_with_under
+ Modules lower_with_under _lower_with_under
+ Classes CapWords _CapWords
+ Exceptions CapWords
+ Functions lower_with_under() _lower_with_under()
+ Global/Class Constants CAPS_WITH_UNDER _CAPS_WITH_UNDER
+ Global/Class Variables lower_with_under _lower_with_under
+ Instance Variables lower_with_under _lower_with_under (protected) or __lower_with_under (private)
+ Method Names lower_with_under() _lower_with_under() (protected) or __lower_with_under() (private)
+ Function/Method Parameters lower_with_under
+ Local Variables lower_with_under
+ ============================= ================= ========
+
+* OpenStack Nova style guide
+ https://github.com/openstack/nova/blob/master/HACKING.rst
+
+* JSON files
+ Ryu source tree has JSON files under ryu/tests/unit/ofproto/json.
+ They are used by unit tests. To make patches easier to read,
+ they are normalized using tools/normalize_json.py. Please re-run
+ the script before committing changes to these JSON files.
+
+Reference
+=========
+* Python Essential Reference, 4th Edition [Amazon]
+ * Paperback: 717 pages
+ * Publisher: Addison-Wesley Professional; 4 edition (July 19, 2009)
+ * Language: English
+ * ISBN-10: 0672329786
+ * ISBN-13: 978-0672329784
+
+* The Python Standard Library by Example (Developer's Library)
+ * Paperback: 1344 pages
+ * Publisher: Addison-Wesley Professional; 1 edition (June 11, 2011)
+ * Language: English
+ * ISBN-10: 0321767349
+ * ISBN-13: 978-0321767349