<head><title>Development</title></head>
$!{decoration.custom.setAttribute("contentHeaderLogo", "../images/header-notebook.jpg")}
#set( $H = '#' )

Development
-------

$H$H$H Free Software

subshare is [Free Software](http://en.wikipedia.org/wiki/Free_Software) released under the [AGPL](../about/licence.html).
Its source codes are hosted [here on GitHub](https://github.com/subshare).

Please feel free to check out the source codes and study them. It\'s a very good idea, anyway, to download the sources
and build the binaries yourself. This is probably the most secure way of using this software, making it extremely
difficult for an attacker to provide malicious code to you.

Furthermore, you are - of course - very welcome to contribute. Please [contact us](../about/contact.html), if you want
to lend us a hand.


$H$H$H Contributor licence agreement

By contributing to this project, you accept the conditions of the
[AGPL](../about/licence.html) and also grant the [CodeWizards GmbH](http://codewizards.co) an
irrevocable and non-exclusive permission to work with your contributions. This includes the
right to licence your contributions to third parties under another licence, at the sole discretion
of the CodeWizards. You do *not* give up any right to use your contributions yourself, but you do give up
the right to constrain what the CodeWizards are allowed to do with your contributions.


$H$H$H Setting up a workspace

$H$H$H$H Step 1: Eclipse

Download and start [Eclipse](http://www.eclipse.org). The \"Eclipse IDE for Java Developers\" is recommended.


$H$H$H$H Step 2: Git

Open the \"Git Repository Exploring\" perspective. If you do not have it, you\'re likely still missing [EGit](http://www.eclipse.org/egit/).

Then clone this Git repository: https://github.com/subshare/subshare.git


$H$H$H$H Step 3: Import projects

Open the \"Java\" perspective and click in the main menu on \"File\" => \"Import...\". Select \"Gradle\" / \"Gradle Project\".
Select the root project in your Git working copy and import all projects (the root project \"org.subshare\" and all its children).

If you do not find \"Gradle\" in Eclipse' import wizard, you likely still need to install [Buildship](https://projects.eclipse.org/projects/tools.buildship).


$H$H$H$H Step 4: DataNucleus Eclipse Plug-in

Install the [DataNucleus](http://www.datanucleus.org) Eclipse Plug-in, open the \"Java\" perspective, right-click the project
\"org.subshare.local\" in the \"Package Explorer\" view.

Then select \"DataNucleus\" => \"Add DataNucleus Support\". Finally, repeat the double-click on the same project and check
\"DataNucleus\" => \"Enable Auto-Enhancement\".

Repeat this for the project \"org.subshare.local.dbrepo\". Both projects require DataNucleus' enhancement.
