Contributing Documentation and Patches

Do you have something you'd like to contribute to Virtualmin, Cloudmin, Webmin, or Usermin? Great! You can use the following as a guide for how to contribute.

**Documentation**

If you have a new document, or a change to an existing document, the best way to get that to us is to open a new support request using the "Support" link above, and submit it there.

If it's a new document, you can attach your document as a text file.

If you have some changes to an existing document, you can either attach the changes as a text file, or just include your changes as part of the message body.

**Code**

To contribute to Webmin, Usermin, or any of our plugins, you can find us on github! Currently nearly everything we develop (except Virtualmin virtual-server module and Cloudmin server-manager module) are developed in public github repositories.

https://github.com/virtualmin/

https://github.com/webmin/

You can fork our projects and issue pull requests.

If you would like to contribute code to Virtualmin or Cloudmin (which aren't yet in public github repos, but do have Open Source versions), the best way to get that to us is by attaching a patch to a request in the support tracker.

To make a patch, you'd first want to be sure that you have a copy of the original code, in addition to the new code that you've created.

Then, you can use the 'diff' command to create a patch. You can use syntax such as this to create a patch against a single file:

diff -u new_file.pl old_file.pl > my.patch

If you have multiple changed files, you can generate a patch against a series of files and directories by using the following:

diff -ur new_directory old_directory > my.patch

**Obtaining the Source**

If you need the source code for Virtualmin or Cloudmin, and you don't have it installed via the install.sh script, you can browse here to the Webmin modules folder:

http://software.virtualmin.com/gpl/wbm/

And there, you can download any of the modules, which can be extracted using tar.

For example:


cd /tmp
wget http://software.virtualmin.com/gpl/wbm/virtual-server-5.06.gpl.wbm.gz
tar zxvf virtual-server-5.06.gpl.wbm.gz

If you performed the installation using the install.sh script, you will find the source code in /usr/libexec/webmin or /usr/share/webmin.