Skip to content

Commit ef3efb7

Browse files
committed
Create CONTRIBUTING.md
1 parent 91d5cb6 commit ef3efb7

File tree

1 file changed

+161
-0
lines changed

1 file changed

+161
-0
lines changed

CONTRIBUTING.md

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
## Contribution guidelines
2+
3+
### Pull requests are always welcome
4+
5+
We are always thrilled to receive pull requests, and do our best to
6+
process them as fast as possible. Not sure if that typo is worth a pull
7+
request? Do it! We will appreciate it.
8+
9+
If your pull request is not accepted on the first try, don't be
10+
discouraged! If there's a problem with the implementation, hopefully you
11+
received feedback on what to improve.
12+
13+
We're trying very hard to keep openHAB lean and focused. We don't want it
14+
to do everything for everybody. This means that we might decide against
15+
incorporating a new feature. However, there might be a way to implement
16+
that feature *on top of* openHAB.
17+
18+
### Discuss your design on the mailing list
19+
20+
We recommend discussing your plans [in the discussion forum](https://community.openhab.org/)
21+
before starting to code - especially for more ambitious contributions.
22+
This gives other contributors a chance to point you in the right
23+
direction, give feedback on your design, and maybe point out if someone
24+
else is working on the same thing.
25+
26+
### Create issues...
27+
28+
Any significant improvement should be documented as [a GitHub
29+
issue](https://github.com/openhab/openhab-docker/issues?labels=enhancement&page=1&state=open) before anybody
30+
starts working on it.
31+
32+
### ...but check for existing issues first!
33+
34+
Please take a moment to check that an issue doesn't already exist
35+
documenting your bug report or improvement proposal. If it does, it
36+
never hurts to add a quick "+1" or "I have this problem too". This will
37+
help prioritize the most common problems and requests.
38+
39+
### Conventions
40+
41+
Fork the repo and make changes on your fork in a feature branch.
42+
43+
Update the documentation when creating or modifying features. Test
44+
your documentation changes for clarity, concision, and correctness, as
45+
well as a clean documentation build.
46+
47+
Write clean code. Universally formatted code promotes ease of writing, reading,
48+
and maintenance.
49+
50+
Pull requests descriptions should be as clear as possible and include a
51+
reference to all the issues that they address.
52+
53+
Pull requests must not contain commits from other users or branches.
54+
55+
Commit messages must start with a capitalized and short summary (max. 50
56+
chars) written in the imperative, followed by an optional, more detailed
57+
explanatory text which is separated from the summary by an empty line.
58+
59+
Code review comments may be added to your pull request. Discuss, then make the
60+
suggested modifications and push additional commits to your feature branch. Be
61+
sure to post a comment after pushing. The new commits will show up in the pull
62+
request automatically, but the reviewers will not be notified unless you
63+
comment.
64+
65+
Before the pull request is merged, make sure that you squash your commits into
66+
logical units of work using `git rebase -i` and `git push -f`. After every
67+
commit the test suite should be passing. Include documentation changes in the
68+
same commit so that a revert would remove all traces of the feature or fix.
69+
70+
Commits that fix or close an issue should include a reference like `Closes #XXX`
71+
or `Fixes #XXX`, which will automatically close the issue when merged.
72+
73+
### Merge approval
74+
75+
openHAB maintainers use LGTM (Looks Good To Me) in comments on the code review
76+
to indicate acceptance.
77+
78+
### Sign your work
79+
80+
The sign-off is a simple line at the end of the explanation for the
81+
patch, which certifies that you wrote it or otherwise have the right to
82+
pass it on as an open-source patch. The rules are pretty simple: if you
83+
can certify the below (from
84+
[developercertificate.org](http://developercertificate.org/)):
85+
86+
```
87+
Developer Certificate of Origin
88+
Version 1.1
89+
90+
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
91+
660 York Street, Suite 102,
92+
San Francisco, CA 94110 USA
93+
94+
Everyone is permitted to copy and distribute verbatim copies of this
95+
license document, but changing it is not allowed.
96+
97+
98+
Developer's Certificate of Origin 1.1
99+
100+
By making a contribution to this project, I certify that:
101+
102+
(a) The contribution was created in whole or in part by me and I
103+
have the right to submit it under the open source license
104+
indicated in the file; or
105+
106+
(b) The contribution is based upon previous work that, to the best
107+
of my knowledge, is covered under an appropriate open source
108+
license and I have the right under that license to submit that
109+
work with modifications, whether created in whole or in part
110+
by me, under the same open source license (unless I am
111+
permitted to submit under a different license), as indicated
112+
in the file; or
113+
114+
(c) The contribution was provided directly to me by some other
115+
person who certified (a), (b) or (c) and I have not modified
116+
it.
117+
118+
(d) I understand and agree that this project and the contribution
119+
are public and that a record of the contribution (including all
120+
personal information I submit with it, including my sign-off) is
121+
maintained indefinitely and may be redistributed consistent with
122+
this project or the open source license(s) involved.
123+
```
124+
125+
then you just add a line to every git commit message:
126+
127+
Signed-off-by: Joe Smith <[email protected]> (github: github_handle)
128+
129+
using your real name (sorry, no pseudonyms or anonymous contributions.)
130+
131+
#### Small patch exception
132+
133+
There are several exceptions to the signing requirement. Currently these are:
134+
135+
* Your patch fixes spelling or grammar errors.
136+
* Your patch is a single line change to documentation.
137+
138+
## Community Guidelines
139+
140+
We want to keep the openHAB community awesome, growing and collaborative. We
141+
need your help to keep it that way. To help with this we've come up with some
142+
general guidelines for the community as a whole:
143+
144+
* Be nice: Be courteous, respectful and polite to fellow community members: no
145+
regional, racial, gender, or other abuse will be tolerated. We like nice people
146+
way better than mean ones!
147+
148+
* Encourage diversity and participation: Make everyone in our community
149+
feel welcome, regardless of their background and the extent of their
150+
contributions, and do everything possible to encourage participation in
151+
our community.
152+
153+
* Keep it legal: Basically, don't get us in trouble. Share only content that
154+
you own, do not share private or sensitive information, and don't break the
155+
law.
156+
157+
* Stay on topic: Make sure that you are posting to the correct channel
158+
and avoid off-topic discussions. Remember when you update an issue or
159+
respond to an email you are potentially sending to a large number of
160+
people. Please consider this before you update. Also remember that
161+
nobody likes spam.

0 commit comments

Comments
 (0)