Add contribution details
The file is adopted from the Matrix project, but applies pretty well to this SDK. Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
This commit is contained in:
		
							
								
								
									
										114
									
								
								CONTRIBUTING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								CONTRIBUTING.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,114 @@ | ||||
| # Contributing code to the Matrix GLib SDK | ||||
|  | ||||
| Everyone is welcome to contribute code to this SDK, provided that they | ||||
| are willing to license their contributions under the same license as | ||||
| the project itself. We follow a simple 'inbound=outbound' model for | ||||
| contributions: the act of submitting an 'inbound' contribution means | ||||
| that the contributor agrees to license the code under the same terms | ||||
| as the project's overall 'outbound' license - which is the GNU Lesser | ||||
| General Public License (see COPYING). | ||||
|  | ||||
| ## How to contribute | ||||
|  | ||||
| The preferred and easiest way to contribute changes to the Matrix GLib | ||||
| SDK is to fork the project on GitHub, and then create a pull request | ||||
| to ask us to pull your changes into our repo | ||||
| (https://help.github.com/articles/using-pull-requests/) | ||||
|  | ||||
| **The single biggest thing you need to know is: please base your changes on | ||||
| the develop branch - /not/ master.** | ||||
|  | ||||
| We use the master branch to track the most recent release, so that | ||||
| folks who blindly clone the repo and automatically check out master | ||||
| get something that works. Develop is the unstable branch where all the | ||||
| development actually happens: the workflow is that contributors should | ||||
| fork the develop branch to make a 'feature' branch for a particular | ||||
| contribution, and then make a pull request to merge this back into the | ||||
| matrix.org 'official' develop branch. We use GitHub's pull request | ||||
| workflow to review the contribution, and either ask you to make any | ||||
| refinements needed or merge it and make them ourselves. The changes | ||||
| will then land on master when we next do a release. | ||||
|  | ||||
| ## Code style | ||||
|  | ||||
| The projects have a loosely-defined code-style, which is close to | ||||
| GNOME's with a few differences. Check the source files for a hint. | ||||
|  | ||||
| Please ensure your changes match the cosmetic style of the project, | ||||
| and **never** mix cosmetic and functional changes in the same commit, | ||||
| as it makes it horribly hard to review otherwise. | ||||
|  | ||||
| ## Attribution | ||||
|  | ||||
| Everyone who contributes anything to this SDK is welcome to be listed in the | ||||
| AUTHORS file for the project in question. Please feel free to include a | ||||
| change to AUTHORS in your pull request to list yourself and a short | ||||
| description of the area(s) you've worked on. | ||||
|  | ||||
| ## Sign off | ||||
|  | ||||
| In order to have a concrete record that your contribution is | ||||
| intentional and you agree to license it under the same terms as the | ||||
| project's license, we've adopted the same lightweight approach that | ||||
| the | ||||
| [Linux Kernel](https://www.kernel.org/doc/Documentation/SubmittingPatches), | ||||
| [Docker](https://github.com/docker/docker/blob/master/CONTRIBUTING.md), | ||||
| and many other projects use: the DCO | ||||
| ([Developer Certificate of Origin](http://developercertificate.org/)). This | ||||
| is a simple declaration that you wrote the contribution or otherwise | ||||
| have the right to contribute it to the SDK: | ||||
|  | ||||
|     Developer Certificate of Origin | ||||
|     Version 1.1 | ||||
|  | ||||
|     Copyright (C) 2004, 2006 The Linux Foundation and its contributors. | ||||
|     660 York Street, Suite 102, | ||||
|     San Francisco, CA 94110 USA | ||||
|  | ||||
|     Everyone is permitted to copy and distribute verbatim copies of this | ||||
|     license document, but changing it is not allowed. | ||||
|  | ||||
|     Developer's Certificate of Origin 1.1 | ||||
|  | ||||
|     By making a contribution to this project, I certify that: | ||||
|  | ||||
|     (a) The contribution was created in whole or in part by me and I | ||||
|         have the right to submit it under the open source license | ||||
|         indicated in the file; or | ||||
|  | ||||
|     (b) The contribution is based upon previous work that, to the best | ||||
|         of my knowledge, is covered under an appropriate open source | ||||
|         license and I have the right under that license to submit that | ||||
|         work with modifications, whether created in whole or in part | ||||
|         by me, under the same open source license (unless I am | ||||
|         permitted to submit under a different license), as indicated | ||||
|         in the file; or | ||||
|  | ||||
|     (c) The contribution was provided directly to me by some other | ||||
|         person who certified (a), (b) or (c) and I have not modified | ||||
|         it. | ||||
|  | ||||
|     (d) I understand and agree that this project and the contribution | ||||
|         are public and that a record of the contribution (including all | ||||
|         personal information I submit with it, including my sign-off) is | ||||
|         maintained indefinitely and may be redistributed consistent with | ||||
|         this project or the open source license(s) involved. | ||||
|  | ||||
| If you agree to this for your contribution, then all that's needed is | ||||
| to include the line in your commit or pull request comment: | ||||
|  | ||||
|     Signed-off-by: Your Name <your@email.example.org> | ||||
|  | ||||
| using your real name; unfortunately pseudonyms and anonymous | ||||
| contributions can't be accepted. Git makes this trivial - just use the | ||||
| `-s` flag when you do `git commit`, having first set `user.name` and | ||||
| `user.email` git configs (which you should have done anyway :) | ||||
|  | ||||
| ## Conclusion | ||||
|  | ||||
| That's it! Similar to Matrix, this SDK is a very open and project as | ||||
| you might expect given our obsession with open communication. If we're | ||||
| going to successfully matrix together all the fragmented communication | ||||
| technologies out there we are reliant on contributions and | ||||
| collaboration from the community to do so. So please get involved - | ||||
| and we hope you have as much fun hacking on Matrix as we do! | ||||
| @@ -43,6 +43,10 @@ For a working example, see [test-client.c](src/test-client.c). | ||||
|  | ||||
| For a full blown example, see [test-api-client.c](src/test-api-client.c). | ||||
|  | ||||
| # Contribution | ||||
|  | ||||
| See the file [CONTRIBUTING.md](CONTRIBUTING.md) for details. | ||||
|  | ||||
| # Code of Conduct | ||||
|  | ||||
| See the file [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for details. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user