• What do we exactly get? Is it the source code with unit tests?

By default it is a .JAR with the source code files. It makes debug process easier, but obviously not sufficient for branch/fork development.
If you really feel confident and want to do the development, we’ll provide you with other resources (pom.xml etc).

We cannot share the unit tests, as a lot of them are based on the customer’s input we are not allowed to disclosure. However the unit test infrastructure can be shared with you, so you can maintain your cases.

• Are we able to create a branch/fork to your source code repository?

We can integrate your changes/bugfixes only if you send us them in a form of a GIT patch + relevant testcases, so we can evaluate the update in our environment.

• Can we freely use it when we make modifications / fixes?

Yes, the SRC license agreement allows you to use the derived work as an integral part of your end-application.

• Are we acquired to provide the changes we made back to PD4ML?

You don’t have to, but we would be grateful if you share with us the bugfixes you did.

• What does it mean for any updates that PD4ML releases? Do we get the source code of these updates or is it an onetime snapshot that is provided?

Each build run on our side publishes the product JAR to the public Maven repo and to the downloads area, as well as the product JAR + SRC JAR to the password-protected Maven and downloads area. So you’ll have an access to the most actual and older src versions.

• When we get the source code, are we allowed to deploy/use this within multiple sites/services freely?

You are not allowed to re-distribute the product source codes in any form. But you can deploy the compiled derived binaries to your customers under the same terms as our original binaries.