]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add Developer Certificate of Origin (DCO)
authorBjoern Schiessle <bjoern@schiessle.org>
Wed, 21 Sep 2016 09:23:51 +0000 (11:23 +0200)
committerBjoern Schiessle <bjoern@schiessle.org>
Thu, 22 Sep 2016 07:08:21 +0000 (09:08 +0200)
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
CONTRIBUTING.md
contribute/HowToApplyALicense.md [new file with mode: 0644]
contribute/developer-certificate-of-origin [new file with mode: 0644]

index 5e02664c9192e0d2666ed92928f48ee56d80ed80..f1ce07a80409b73570e77ef6289b3a96274fd9d9 100644 (file)
@@ -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 (file)
index 0000000..3ed231a
--- /dev/null
@@ -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 (file)
index 0000000..a6bbb98
--- /dev/null
@@ -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.