Developer Documentation

From Proxmox VE
Revision as of 14:12, 17 January 2014 by Martin (talk | contribs)
Jump to navigation Jump to search

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 the pve-devel mailing list. 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)

https://git.proxmox.com

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

python: https://github.com/Daemonthread/pyproxmox

java: https://github.com/Elbandi/pve2-api-java

Bugtracker (bugzilla)

https://bugzilla.proxmox.com

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.