forked from madlib/archived_madlib
-
Notifications
You must be signed in to change notification settings - Fork 0
Contribution Guide
agorajek edited this page Aug 10, 2011
·
31 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.
- Check again the Module Development Status 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 and update the Dev Status on Wiki.
- 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:
- Proper SQL API: SQL API Guide
- C++ coding practices: The C++ Abstraction Layer
- Comprehensive documentation: Documentation Guide (Doxygen)
- Complete 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