-
Notifications
You must be signed in to change notification settings - Fork 128
Contribution Guide
agorajek edited this page Jul 15, 2011
·
32 revisions
- You should have some idea about the project and its purpose. If you don't, start here: http://madlib.net
- You should be familiar with the project contents. If you are not, look at below links:
- Existing modules: http://doc.madlib.net/master/modules.html
- Module Development Status
- Proposed modules: /Proposed-Methods
- You should have some knowledge on relational databases, SQL, Python, C/C++, and analytical methods that you want to implement.
- Create an account on GitHub.com.
- Get a git client from git-scm.com.
- If you are not familiar with this version control software follow Bootcamp guides on help.github.com to gain some confidence.
- Create an account on MADlib JIRA and review the Open issues.
- Found one that you like?
- Write a Comment and ask for assignment.
- Know what you want to work and we don't have it on JIRA.
- Open a JIRA ticket (bug, task, or new feature) and let us know (in a Comment) you are working on it.
- Don't know what to work on or have any other question?
- Post a message to MADlib Dev Forum
- Go to GitHub MADlib repo and fork the project using the FORK button (top right).
- This step will create a "connected" copy of madlib/madlib repo under yourGitHubAccount/madlib.
- Need some help with forking? Check here
by using your own copy/fork of the MADlib repository.
Make sure you have all the module components in place: MADlib Module Anatomy
And remember about:
- Good coding practices: Coding Patterns & Best Practices Guide (COMING SOON)
- Proper SQL API: SQL API Guide
- Complete documentation: Documentation Guide (NEEDS REVIEW)
- Comprehensive unit tests: Unit Test Guide
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.
- Use different topic branches to separate your commits into few pull-requests.
- If this sounds like Greek: read more about pull-requests here: http://help.github.com/send-pull-requests/.
- Create a JIRA Task: http://jira.madlib.net/
- Use subject "pull-request" and explain the details.
- Put the github pull-request link into your JIRA.
- If you know who would be the best reviewer assigne 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:
- Github pull request closes automagically
- JIRA must be closed manually