-
- 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:
+
+ Documentation/process/coding-style.rst
It can be accessed online too:
-http://lxr.linux.no/linux+v2.6.27/Documentation/CodingStyle
+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.
-It can be accessed online too:
+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+.
-http://lxr.linux.no/linux+v2.6.27/Documentation/SubmittingPatches
+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.
-You can submit your patches to the lxc-devel@lists.sourceforge.net mailing
-list. Use https://lists.sourceforge.net/lists/listinfo/lxc-devel to subscribe
-to the list.
+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
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>