Skip to content

Commit f3ab257

Browse files
author
Derek Jones
committed
Adding contribution guidelines to user guide, including new Developer's Certificate of Origin
1 parent 0692a1e commit f3ab257

File tree

6 files changed

+196
-0
lines changed

6 files changed

+196
-0
lines changed

DCO.txt

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Developer's Certificate of Origin 1.1
2+
3+
By making a contribution to this project, I certify that:
4+
5+
(1) The contribution was created in whole or in part by me and I
6+
have the right to submit it under the open source license
7+
indicated in the file; or
8+
9+
(2) The contribution is based upon previous work that, to the best
10+
of my knowledge, is covered under an appropriate open source
11+
license and I have the right under that license to submit that
12+
work with modifications, whether created in whole or in part
13+
by me, under the same open source license (unless I am
14+
permitted to submit under a different license), as indicated
15+
in the file; or
16+
17+
(3) The contribution was provided directly to me by some other
18+
person who certified (1), (2) or (3) and I have not modified
19+
it.
20+
21+
(4) I understand and agree that this project and the contribution
22+
are public and that a record of the contribution (including all
23+
personal information I submit with it, including my sign-off) is
24+
maintained indefinitely and may be redistributed consistent with
25+
this project or the open source license(s) involved.

readme.rst

+28
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,34 @@ at the same time, we might really want X but disagree with Y, meaning we
115115
cannot merge the request. Using the Git-Flow branching model you can create
116116
new branches for both of these features and send two requests.
117117

118+
Signing
119+
=======
120+
You must sign your work, certifying that you either wrote the work or
121+
otherwise have the right to pass it on to an open source project. git makes
122+
this trivial as you merely have to use `--signoff` on your commits to your
123+
CodeIgniter fork.
124+
125+
::
126+
127+
git commit --signoff
128+
129+
or simply::
130+
131+
git commit -s
132+
133+
This will sign your commits with the information setup in your git config, e.g.
134+
135+
Signed-off-by: John Q Public <john.public@example.com>
136+
137+
If you are using Tower there is a "Sign-Off" checkbox in the commit window. You
138+
could even alias git commit to use the -s flag so you don’t have to think about
139+
it.
140+
141+
By signing your work in this manner, you certify to a "Developer's Certificate
142+
or Origin". The current version of this certificate is in the `DCO.txt` file
143+
in the root of this repository.
144+
145+
118146
************
119147
How-to Guide
120148
************

user_guide_src/source/DCO.rst

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#####################################
2+
Developer's Certificate of Origin 1.1
3+
#####################################
4+
5+
By making a contribution to this project, I certify that:
6+
7+
(1) The contribution was created in whole or in part by me and I
8+
have the right to submit it under the open source license
9+
indicated in the file; or
10+
11+
(2) The contribution is based upon previous work that, to the best
12+
of my knowledge, is covered under an appropriate open source
13+
license and I have the right under that license to submit that
14+
work with modifications, whether created in whole or in part
15+
by me, under the same open source license (unless I am
16+
permitted to submit under a different license), as indicated
17+
in the file; or
18+
19+
(3) The contribution was provided directly to me by some other
20+
person who certified (1), (2) or (3) and I have not modified
21+
it.
22+
23+
(4) I understand and agree that this project and the contribution
24+
are public and that a record of the contribution (including all
25+
personal information I submit with it, including my sign-off) is
26+
maintained indefinitely and may be redistributed consistent with
27+
this project or the open source license(s) involved.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
###########################
2+
Contributing to CodeIgniter
3+
###########################
4+
5+
CodeIgniter is a community driven project and accepts contributions of code
6+
and documentation from the community. These contributions are made in the form
7+
of Issues or `Pull Requests <http://help.github.com/send-pull-requests/>`_ on
8+
the `EllisLab CodeIgniter repository
9+
<https://github.com/EllisLab/CodeIgniter>`_ on GitHub.
10+
11+
Issues are a quick way to point out a bug. If you find a bug or documentation
12+
error in CodeIgniter then please check a few things first:
13+
14+
- There is not already an open Issue
15+
- The issue has already been fixed (check the develop branch, or look for
16+
closed Issues)
17+
- Is it something really obvious that you fix it yourself?
18+
19+
Reporting issues is helpful but an even better approach is to send a Pull
20+
Request, which is done by "Forking" the main repository and committing to your
21+
own copy. This will require you to use the version control system called Git.
22+
23+
**********
24+
Guidelines
25+
**********
26+
27+
Before we look into how, here are the guidelines. If your Pull Requests fail
28+
to pass these guidelines it will be declined and you will need to re-submit
29+
when you’ve made the changes. This might sound a bit tough, but it is required
30+
for us to maintain quality of the code-base.
31+
32+
PHP Style
33+
=========
34+
35+
All code must meet the `Style Guide
36+
<http://codeigniter.com/user_guide/general/styleguide.html>`_, which is
37+
essentially the `Allman indent style
38+
<http://en.wikipedia.org/wiki/Indent_style#Allman_style>`_, underscores and
39+
readable operators. This makes certain that all code is the same format as the
40+
existing code and means it will be as readable as possible.
41+
42+
Documentation
43+
=============
44+
45+
If you change anything that requires a change to documentation then you will
46+
need to add it. New classes, methods, parameters, changing default values, etc
47+
are all things that will require a change to documentation. The change-log
48+
must also be updated for every change. Also PHPDoc blocks must be maintained.
49+
50+
Compatibility
51+
=============
52+
53+
CodeIgniter is compatible with PHP 5.2.4 so all code supplied must stick to
54+
this requirement. If PHP 5.3 or 5.4 functions or features are used then there
55+
must be a fallback for PHP 5.2.4.
56+
57+
Branching
58+
=========
59+
60+
CodeIgniter uses the `Git-Flow
61+
<http://nvie.com/posts/a-successful-git-branching-model/>`_ branching model
62+
which requires all pull requests to be sent to the "develop" branch. This is
63+
where the next planned version will be developed. The "master" branch will
64+
always contain the latest stable version and is kept clean so a "hotfix" (e.g:
65+
an emergency security patch) can be applied to master to create a new version,
66+
without worrying about other features holding it up. For this reason all
67+
commits need to be made to "develop" and any sent to "master" will be closed
68+
automatically. If you have multiple changes to submit, please place all
69+
changes into their own branch on your fork.
70+
71+
One thing at a time: A pull request should only contain one change. That does
72+
not mean only one commit, but one change - however many commits it took. The
73+
reason for this is that if you change X and Y but send a pull request for both
74+
at the same time, we might really want X but disagree with Y, meaning we
75+
cannot merge the request. Using the Git-Flow branching model you can create
76+
new branches for both of these features and send two requests.
77+
78+
Signing
79+
=======
80+
You must sign your work, certifying that you either wrote the work or
81+
otherwise have the right to pass it on to an open source project. git makes
82+
this trivial as you merely have to use `--signoff` on your commits to your
83+
CodeIgniter fork.
84+
85+
.. code-block:: bash
86+
87+
git commit --signoff
88+
89+
or simply
90+
91+
.. code-block:: bash
92+
93+
git commit -s
94+
95+
This will sign your commits with the information setup in your git config, e.g.
96+
97+
Signed-off-by: John Q Public <john.public@example.com>
98+
99+
If you are using Tower there is a "Sign-Off" checkbox in the commit window. You
100+
could even alias git commit to use the -s flag so you don’t have to think about
101+
it.
102+
103+
By signing your work in this manner, you certify to a "Developer's Certificate
104+
or Origin". The current version of this certificate is in the :doc:`/DCO` file
105+
in the root of this documentation.

user_guide_src/source/index.rst

+11
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,17 @@ Helper Reference
9191

9292
helpers/index
9393

94+
***************************
95+
Contributing to CodeIgniter
96+
***************************
97+
98+
.. toctree::
99+
:glob:
100+
:titlesonly:
101+
102+
contributing/index
103+
DCO
104+
94105
.. toctree::
95106
:glob:
96107
:titlesonly:
File renamed without changes.

0 commit comments

Comments
 (0)