Skip to content
agorajek edited this page Mar 23, 2011 · 31 revisions

Before You Start:

  • You should have some idea about the project and it's purpose. If you don't... start here: http://madlib.net
  • You should be familiar with the project contents. If you are not... look at this:
  • You should have some knowledge on relational databases, SQL, Python, C/C++, statistics and machine learning.

Step 1: Make friends with GitHub

Step 2: Pick your project

  • Create an account on MADlib JIRA and review the Open issues.
  • Found one that you like? Write a Comment and ask for assignment.
  • Can't find anything to work on or have a question? Send a message to Dev Forum

Step 3: Fork MADlib project

3. Develop away using your own copy/fork of the MADlib repo. Things to watch for:

4. Done? Send pull-request from your fork. This will generate an email to project commiters. Someone will review your changes and merge them or not.

  1. Coding:
    • Core functionality (SQL, C, Python)
    • Use MADLIB_SCHEMA as the schema prefix.
    • Packaging and migrations (follow: PackMan notes)
  2. Documentation (using Doxygen tags):
  3. Unit tests:
  4. Schedule code reviews (use Caleb, Gavin for now, unless you know someone else can help) using Crucible at http://codereview.madlibrary.org:
    • Initial code review on whole files.
    • Further code review on full files or specific commits.
  5. Integration testing and QA:
    • Ask someone (you can also open a gitgub issue for tracking purposes)
    • We are currently looking for resources.

Clone this wiki locally