]> git.proxmox.com Git - mirror_lxc.git/blobdiff - CONTRIBUTING
spelling: output
[mirror_lxc.git] / CONTRIBUTING
index 495e9d03648b261c3ded27323dbfa17be3bcd0de..6a3155db4285f9a189cdb972487cfe060acace50 100644 (file)
@@ -1,48 +1,59 @@
-
-       Contributing to this project
-        ----------------------------
-
+Contributing to this project
+----------------------------
 
 This project accepts contributions. In order to contribute, you should
 pay attention to a few things:
 
     1 - your code must follow the coding style rules
-    2 - the format of the submission must be email patches
+    2 - the format of the submission must be GitHub pull requests
     3 - your work must be signed
 
 
 Coding Style:
 -------------
 
-The coding style follows the Linux kernel coding style.
+The LXC project generally follows the Linux kernel coding style.  However there
+are a few differences, these are outlined it CODING_STLYE.md
 
-The coding style is defined in the 'CodingStyle' file, available in
-the directory 'Documentation' of the Linux kernel source tree.
+The Linux kernel coding style guide can be found within the kernel tree:
 
-It can be accessible online too:
+       Documentation/process/coding-style.rst
 
-http://lxr.linux.no/linux+v2.6.27/Documentation/CodingStyle
+It can be accessed online too:
+
+https://www.kernel.org/doc/html/latest/process/coding-style.html
 
 Submitting Modifications:
 -------------------------
 
-The contributions should be email patches. The guidelines are the same
-as the patch submission for the Linux kernel except for the DCO which
-is defined below. The guidelines are defined in the
-'SubmittingPatches' file, available in the directory 'Documentation'
-of the Linux kernel source tree.
+The contributions must be GitHub pull requests.
+
+Licensing for new files:
+------------------------
+
+LXC is made of files shipped under a few different licenses.
+
+Anything that ends up being part of the LXC library needs to be released
+under LGPLv2.1+ or a license compatible with it (though the latter will
+only be accepted for cases where the code originated elsewhere and was
+imported into LXC).
+
+Language bindings for the libraries need to be released under LGPLv2.1+.
 
-It can be accessible online too:
+Anything else (non-libraries) needs to be Free Software and needs to be
+allowed to link with LGPLv2.1+ code (if needed). LXC upstream prefers
+LGPLv2.1+ or GPLv2 for those.
 
-http://lxr.linux.no/linux+v2.6.27/Documentation/SubmittingPatches
+When introducing a new file into the project, please make sure it has a
+copyright header making clear under which license it's being released
+and if it doesn't match the criteria described above, please explain
+your decision on the lxc-devel mailing-list when submitting your patch.
 
 Developer Certificate of Origin:
 --------------------------------
 
 To improve tracking of contributions to this project we will use a
-process modeled on the modified DCO 1.1 and use a "sign-off" procedure
-on patches that are being emailed around or contributed in any other
-way.
+process modeled on the modified DCO 1.1 and use a "sign-off" procedure.
 
 The sign-off is a simple line at the end of the explanation for the
 patch, which certifies that you wrote it or otherwise have the right
@@ -77,7 +88,22 @@ By making a contribution to this project, I certify that:
 
 then you just add a line saying
 
-       Signed-off-by: Random J Developer <random@developer.org>
+    Signed-off-by: Random J Developer <random@developer.org>
+
+You can do it by using option -s or --signoff when you commit
+
+    git commit --signoff ...
+
+using your real name (sorry, no pseudonyms or anonymous contributions.)
+
+In addition we support the following DCOs which maintainers can use to indicate
+that a patch is acceptable:
+
+    Acked-by: Random J Developer <random@developer.org>
+    Reviewed-by: Random J Developer <random@developer.org>
+
+If you are contributing as a group who is implementing a feature together such
+that it cannot be reasonably attributed to a single developer please use:
 
-using your real name (sorry, no pseudonyms or anonymous
-contributions.)
\ No newline at end of file
+    Co-developed-by: Random J Developer 1 <random_1@developer.org>
+    Co-developed-by: Random J Developer 2 <random_1@developer.org>