|
|
@ -4,16 +4,16 @@ This document aims to get you started with contributing to Synapse! |
|
|
|
|
|
|
|
|
|
|
|
# 1. Who can contribute to Synapse? |
|
|
|
# 1. Who can contribute to Synapse? |
|
|
|
|
|
|
|
|
|
|
|
Everyone is welcome to contribute code to [Synapse](https://github.com/element-hq/synapse), |
|
|
|
Everyone is welcome to contribute code to |
|
|
|
provided that they are willing to |
|
|
|
[Synapse](https://github.com/element-hq/synapse), provided that they are willing |
|
|
|
license their contributions under the same license as the project itself. We |
|
|
|
to license their contributions to Element under a [Contributor License |
|
|
|
follow a simple 'inbound=outbound' model for contributions: the act of |
|
|
|
Agreement](https://cla-assistant.io/element-hq/synapse) (CLA). This ensures that |
|
|
|
submitting an 'inbound' contribution means that the contributor agrees to |
|
|
|
their contribution will be made available under an OSI-approved open-source |
|
|
|
license the code under the same terms as the project's overall 'outbound' |
|
|
|
license, currently Affero General Public License v3 (AGPLv3). |
|
|
|
license - in our case, this is almost always Apache Software License v2 (see |
|
|
|
|
|
|
|
[LICENSE](https://github.com/element-hq/synapse/blob/develop/LICENSE)). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TODO THIS NEEDS UPDATING |
|
|
|
Please see the |
|
|
|
|
|
|
|
[Element blog post](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) |
|
|
|
|
|
|
|
for the full rationale. |
|
|
|
|
|
|
|
|
|
|
|
# 2. What do I need? |
|
|
|
# 2. What do I need? |
|
|
|
|
|
|
|
|
|
|
@ -499,81 +499,19 @@ separate pull requests.) |
|
|
|
|
|
|
|
|
|
|
|
## Sign off |
|
|
|
## Sign off |
|
|
|
|
|
|
|
|
|
|
|
In order to have a concrete record that your contribution is intentional |
|
|
|
After you make a PR a comment from @CLAassistant will appear asking you to sign |
|
|
|
and you agree to license it under the same terms as the project's license, we've adopted the |
|
|
|
the [CLA](https://cla-assistant.io/element-hq/synapse). |
|
|
|
same lightweight approach that the Linux Kernel |
|
|
|
This will link a page to allow you to confirm that you have read and agreed to |
|
|
|
[submitting patches process]( |
|
|
|
the CLA by signing in with GitHub. |
|
|
|
https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin>), |
|
|
|
|
|
|
|
[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 Matrix: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
Alternatively, you can sign off before opening a PR by going to |
|
|
|
Developer Certificate of Origin |
|
|
|
<https://cla-assistant.io/element-hq/synapse>. |
|
|
|
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> |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We accept contributions under a legally identifiable name, such as |
|
|
|
We accept contributions under a legally identifiable name, such as |
|
|
|
your name on government documentation or common-law names (names |
|
|
|
your name on government documentation or common-law names (names |
|
|
|
claimed by legitimate usage or repute). Unfortunately, we cannot |
|
|
|
claimed by legitimate usage or repute). Unfortunately, we cannot |
|
|
|
accept anonymous contributions at this time. |
|
|
|
accept anonymous contributions at this time. |
|
|
|
|
|
|
|
|
|
|
|
Git allows you to add this signoff automatically when using the `-s` |
|
|
|
|
|
|
|
flag to `git commit`, which uses the name and email set in your |
|
|
|
|
|
|
|
`user.name` and `user.email` git configs. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Private Sign off |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you would like to provide your legal name privately to the Matrix.org |
|
|
|
|
|
|
|
Foundation (instead of in a public commit or comment), you can do so |
|
|
|
|
|
|
|
by emailing your legal name and a link to the pull request to |
|
|
|
|
|
|
|
[dco@matrix.org](mailto:dco@matrix.org?subject=Private%20sign%20off). |
|
|
|
|
|
|
|
It helps to include "sign off" or similar in the subject line. You will then |
|
|
|
|
|
|
|
be instructed further. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Once private sign off is complete, doing so for future contributions will not |
|
|
|
|
|
|
|
be required. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 10. Turn feedback into better code. |
|
|
|
# 10. Turn feedback into better code. |
|
|
|
|
|
|
|
|
|
|
|