docs/manual/source/community/contribute-code.html.md
Thank you for your interest in contributing to Apache PredictionIO. Our mission is to enable developers to build scalable machine learning applications easily. Here is how you can help with the project development. If you have any question regarding development at anytime, please free to subscribe and post to the Development Mailing List.
We accept contributions of all kinds at any time. We are compiling this list to show features that are highly sought after by the community.
If you wish to report an issue you found, you can do so on Apache PredictionIO JIRA.
In general, bug fixes should be done the same way as new features, but critical bug fixes will follow a different path.
Before adding new features into JIRA, please check that the feature does not currently exist in JIRA.
Tickets will be triaged by PredictionIO committers.
Target Version: Either a particular version or Future if to be done later
Component: Each ticket will be annotated with one or more of the following Components
When you have finished your code, you can create a pull request against the develop branch.
PIO-789, your title must
look something like [PIO-789] Some short description.NOTE: When it is close to a release, and if there are major development ongoing, a release branch will be forked from the develop branch to stabilize the code for binary release. Please refer to the git flow methodology page for more information.
Apache PredictionIO relies heavily on the git flow methodology. Please make sure you read and understand it before you start your development. By default, cloning Apache PredictionIO will put you in the develop branch, which in most cases is where all the latest development go to.
NOTE: For core development, please follow the Scala Style Guide.
If you need additional help, please refer to https://help.github.com/articles/fork-a-repo/.
After the previous section, you should have a copy of Apache PredictionIO in your local machine ready to be built.
git status or simply git checkout develop../make-distribution.sh to build
PredictionIO.Apache PredictionIO relies on 3rd party software to perform its tasks. To set them up, simply follow this documentation.
You should have a Apache PredictionIO development environment by now. Happy hacking!
The following describes each directory’s purpose.
Shell scripts and any relevant components to go into the binary distribution. Utility shell scripts can also be included here.
Configuration files that are used by both a source tree and binary distribution.
Core Apache PredictionIO code that provides the DASE controller API, core data structures, and workflow creation and management code.
Apache PredictionIO Event Server, and backend-agnostic storage layer for event store and metadata store.
Source code for http://predictionio.apache.org site, and any other documentation support files.
Complete code examples showing Apache PredictionIO's application.
Embedded SBT (Simple Build Tool) launcher.
Storage implementations.
Tools for running Apache PredictionIO. Contains primarily the CLI (command-line interface) and its supporting code, and the experimental evaluation dashboard.