summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md25
-rw-r--r--contribute/HowToApplyALicense.md46
-rw-r--r--contribute/developer-certificate-of-origin35
3 files changed, 106 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5e02664c919..f1ce07a8040 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -29,11 +29,36 @@ Thanks for wanting to contribute source code to Nextcloud. That's great!
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the Nextcloud code with PHPUnit.
+### Tests
+
In order to constantly increase the quality of our software we can no longer accept pull request which submit un-tested code.
It is a must have that changed and added code segments are unit tested.
In some areas unit testing is hard (aka almost impossible) as of today - in these areas refactoring WHILE fixing a bug is encouraged to enable unit testing.
+### Sign your work
+
+We use the Developer Certificate of Origin (DCO) as a additional safeguard
+for the Nextcloud project. This is a well established and widely used
+mechanism to assure contributors have confirmed their right to license
+their contribution under the project's license.
+Please read [contribute/developer-certificate-of-origin][dcofile].
+If you can certify it, then just add a line to every git commit message:
+
+````
+ Signed-off-by: Random J Developer <random@developer.example.org>
+````
+
+Use your real name (sorry, no pseudonyms or anonymous contributions).
+If you set your `user.name` and `user.email` git configs, you can sign your
+commit automatically with `git commit -s`.
+
+### Apply a license
+
+In case you are not sure how to add or update the license header correctly please have a look at [contribute/HowToApplyALicense.md][applyalicense]
+
[devmanual]: https://docs.nextcloud.org/server/10/developer_manual/
+[dcofile]: https://github.com/nextcloud/server/blob/master/contribute/developer-certificate-of-origin
+[applyalicense]: https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md
## Translations
Please submit translations via [Transifex][transifex].
diff --git a/contribute/HowToApplyALicense.md b/contribute/HowToApplyALicense.md
new file mode 100644
index 00000000000..3ed231a6c1c
--- /dev/null
+++ b/contribute/HowToApplyALicense.md
@@ -0,0 +1,46 @@
+# How to apply a license
+
+Originally Nextcloud was licensed under the GNU AGPLv3 only. From
+June, 16 2016 on we switched to "GNU AGPLv3 or any later version" for
+better long-term maintainability and to make it more secure from a
+legal point of view.
+
+Additionally Nextcloud doesn't require a CLA (Contributor License
+Agreement). The copyright belongs to all the individual
+contributors.
+
+If you modify an existing file, please keep the existing license header as
+it is and just add your copyright notice:
+
+````
+@copyright Copyright (c) <year>, <your name> (<your email address>)
+````
+
+If you create a new file please use this license header:
+
+````
+/**
+ * @copyright Copyright (c) <year>, <your name> (<your email address>)
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+````
+
+Additionally we require a Developer Certificate of Origin (DCO), look
+at [CONTRIBUTING.md][contributing] to learn more how to sign your commits.
+
+[contributing]: https://github.com/nextcloud/server/blob/master/CONTRIBUTING.md#sign-your-work
diff --git a/contribute/developer-certificate-of-origin b/contribute/developer-certificate-of-origin
new file mode 100644
index 00000000000..a6bbb9846c3
--- /dev/null
+++ b/contribute/developer-certificate-of-origin
@@ -0,0 +1,35 @@
+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.