We appreciate all forms of project contributions to MADlib® including bug reports, providing help to new users, documentation, or code patches.  

Before You Start:

Step 1: Make friends with GitHub

  • Create an account on GitHub.com.
  • If you are not familiar with this version control software follow bootcamp guides on help.github.com to gain some confidence.

Step 2: Find your task

  • Create an account on MADlib JIRA and review the open issues (new module, feature request or bug fix).
  • Check again the Ideas for Contribution page.
  • Get in touch with us on MADlib Dev Forum
    • Tell us what you'd like to work on OR,
    • We can discuss the most pressing needs and suggest a task.
  • Once we have a consensus we'll open a JIRA ticket (bug, task, or new feature) to track the progress.

Step 3: Fork MADlib® project

  • Go to GitHub MADlib repo and fork the project using the FORK button (top right).
    • This step will create a "tracked" copy of apache/incubator-madlib repo under yourGitHubAccount/incubator-madlib.
    • Need some help with forking? Check here

 Step 4: Develop away...

... by using your own fork of the MADlib repository. You can follow the Quick Start Guide for Developers to see an example of a new module.  

Make sure you have all the module components in place: Module Anatomy

And remember about:

Step 5: Send pull-request 

Done with coding? Follow this to get your code checked-in:

  • Test build/install/execution on your side.
  • Create a pull-request from your forked repository.
  • Update the corresponding MADlib JIRA ticket
    • Mark the issue "For Review"
    • Add a comment pointing to your pull request.
    • If you know who would be the best reviewer assign the JIRA to that person. Otherwise don't worry.
  • Code comments are easy to add on Github. JIRA better serves as a high level log tracker.
  • Once the code is merged by a Committer:
    • Github pull request closes automagically
    • JIRA must be resolved manually, this will be done by the Committer who merges the pull request.
  • No labels