Developer Documentation
Note: Article about Proxmox VE 2.0 |
Introduction
Please coordinate your efforts with us before starting any development. It is important to have a common view of the problem and the corresponding solution – just to avoid duplicated or unnecessary efforts.
We will only include software which matches our quality criteria. The source code repository is read only. To include some code, send it as patch (git diff) to your associated technical staff member. We will review your code and commit after a successful review (and possible corrections/addition).
Mailing List
This is the primary communication channel for developers, discussing new features and implementation details. If you are a developer and you want to development additional features, this is the place to start.
PVE Development List: http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
Archive: http://pve.proxmox.com/cgi-bin/mailman/private/pve-devel/
Access to Code Repository (git)
Build instructions
You could find build instruction here :
https://git.proxmox.com/?p=pve-common.git;a=blob_plain;f=README.dev;hb=HEAD
Git commands summary
retrieve project :
# git clone git://git.proxmox.com/git/pve-kernel-2.6.32.git
update project to last version :
# git pull
If you want to make some patches :
Create a local branch:
# git checkout -f -b my_branch master
Do some code modifications.
Then, make your commit (try to make small commits) :
# git commit -a
When you have finished your modifications, create patches :
# git format-patch -o /tmp/ --signoff master..my_branch
Then send your patchs to pve-devel@pve.proxmox.com
# git send-email --compose /tmp/00*
Proxmox VE 2.0 API Clients
php : https://github.com/CpuID/pve2-api-php-client
perl : http://search.cpan.org/~djzort/Net-Proxmox-VE-0.006/
python: https://github.com/remofritzsche/proxmox-utils
java: https://github.com/Elbandi/pve2-api-java
Bugtracker (bugzilla)
Software License and Copyright
We only include code licensed under GNU Affero General Public License, version 3 http://www.gnu.org/licenses/agpl-3.0.html.
Additionally we ask contributors to send us a contributor license agreement form by email. This agreement establishes a relationship between us and the contributor, gives details on what it means when the contributor grants permission for their work to be included in a project, and enables us to be better stewards of these projects.
With the contributor agreement chosen by Proxmox, the Harmony CLA, the contributor gives Proxmox a license to use their contributions. The contributor continues to own the copyright in the contribution, with full rights to re-use, re-distribute, and continue modifying the contributed code, allowing them to also share that contribution with other projects.
We've tried to keep the agreement as simple and comprehensible as possible. It comes in two flavors, one for individual contributors and one for entities contributors (companies, foundations, or other organizations).
If you are making a contribution that is not your work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed.