# Contributors documentation This document summarizes information for DDF committers and contributors. It includes information about the development processes, policies and development guide. --- * <a href="#people-list">Contributors</a> * <a href="#welcome">Welcome!</a> * <a href="#workflow-and-policies">Workflows</a> * <a href="#report-bug">Report bug</a> * <a href="#contribute">Contribute</a> * <a href="#pull-requests">Pull requests</a> * <a href="#request-feature">Request a new feature</a> * <a href="#best-practices">Best practices</a> * <a href="#best-practices-testing">Testing</a> * <a href="#best-practices-development">Development</a> * <a href="#best-practices-development">Community</a> * <a href="#questions">Questions?</a> --- <a name="people-list"></a> ## Contributors | First | Last | Affiliation | Commiter? | Areas | | ------------- | ------------- | | Andy | Twigg | C9 | &radic; | Backend Algorithm | | Binh | Han | Adatao | &radic; | TBD | | Brian | Kursar | Toyota | TBD | TBD | | Carlos | Fuertes | Fiksu | TBD | TBD | | Chris | Larsen | Qlik | TBD | TBD | | Christopher | Nguyen | Adatao | &radic;| Architecture, Steering | | David | Gonzalez | Ziff | TBD | TBD | | Dustin| Keefer | Concilio Labs | TBD | TBD | | Evan| Chan | Socrata | TBD | TBD | | Grecia| Lapizco | LivingSocial | TBD | TBD | | Greg | Bowyer| | TBD | TBD | | Holden | Karau | | &radic;| pandas-inspired API| | Huan | Dao | Adatao | &radic;|TBD| | James | Paul| MIT Sloan| TBD |TBD| | Kai | Lu | Applovin | TBD | TBD | | Kevin | Mader | 4Quant | TBD | TBD| | Khang | Pham | Adatao |&radic; | Project Management, Roadmap| | Michael| Fairchild | | TBD | TBD | | Michal | Malohlava | 0xdata | TBD| TBD| | Navot | Akiva | Vocativ | TBD | TBD | | Nhan | Vu | Adatao |&radic; | TBD | | Oleg | White | Whitechno | TBD | TBD | | Rajeev | Vij | Cisco | TBD | TBD | | Ravi | Mody | | TBD | TBD | | Sid | Chaudhary | | TBD | TBD | | Vi | Ngo Van | | TBD | TBD | | Victor | Hong | Novartis | TBD | TBD | | Vivian | Zhang | | TBD | TBD | <a name="welcome"></a> # Welcome Welcome to DDF project! If you're reading this document then you are probably interested in contributing to DDF. DDF is under active development and needs contributions not only in the form of code but also in documentation, feedback, ideas, bug reports etc. We would like you to consider yourself part of this endeavor. # Contribute This section explains the different ways in which to contribute to DDF <a name="report-bug"></a> ## Report a bug To report a bug you need to create an issue on <a href="https://github.com/ddf-project/DDF/issues" target="_blank">github</a>. To help us solve issues efficiently, you can provide us with following information: 1. Include error messages and log, we recommend to use [gist](http://gist.github.com) to paste log. 2. Short description how to reproduce the bug. <a name="contributing-code"></a> ## Contributing code <a name="open-issue"></a> ### Open a new issue Issue can cover anything, a bug, a new feature, an enhancement, in code or documentation. In addition to that, provide a problem statement or feature description and proposed solution. The issue number should be present in each commit aimed at resolving that issue, which allows to see all the related commit together. Even if you develop in a feature branch (more on this later) the information is lost if a fast forward merge is performed, so it's better to comment with issue number. If the development is substantial wait for somebody to comment on the issue. No point in getting axed later. Normally for bug fix you don't need this, unless the fix is complex. <a name="open-branch"></a> ### Open branch Open a new branch for a new feature, named after the feature, or for any more substantial or risky development (that you may have to give up), otherwise you can develop in master (fixes) or dev (new features). Feature branches will be delated after they are merged or abandoned. <a name="develop-test"></a> ### Develop test Development of a new feature starts with one or more tests. Ideally, they define what the feature. If fixing bug, we hopefully have a test case for it. Or we may be just adding a test for an existing feature <a name="develop-feature"></a> ### Develop feature or fix bug or docs <a name="create-a-pull-request"></a> ### Create a Pull Request You should create a pull request on the DDF project repository. Please follow the instructions on <a href="https://help.github.com/articles/creating-a-pull-request" target="_blank">github</a>. Please mention the issue number in your puill request. Submitting a pull request is no guarantee of acceptance, albeit we the committers want to work with you to merge your contribution. Hopefully a healthy discussion when the issue was created will prevent bad surprises later on. ### Approval process All Pull Requests will be reviewed by a committer, even those created by a committer. We want to have two intelligent beings involved in each change. He or she will review, test it and respond in a timely manner. In general all pull requests need to satisfy the following criteria: 1. Pass all unit tests. 2. Conform to formatting standard (we will strive to provide an automated solution for this) <a name="request-feature"></a> ## Request a new feature We welcome all ideas and comments. Before you request feature, please take a look at our current <a href="../plans.html" target="_blank">roadmap</a> and current open issues. To request a new feature you should open an issue in our <a href="https://github.com/ddf-project/DDF/issues" target="_blank">issue tracker</a> and summarize the desired functionality. You can also send a message to <a href="https://groups.google.com/forum/#!forum/ddf-project" target="_blank"> DDF google group</a>. <a name="tools"></a> ## Tools <a name="best-practices-testing"></a> ### Testing We use maven to run unit test. You can also use sbt test. <a name="best-practices-development"></a> ### Development We use Eclipse and IntelliJ IDE to write code. It's required to import our java-formatter into your IDE. Recommendations for other languages will be added here in due course. <a name="community"></a> ## Community 1. <a href="https://groups.google.com/forum/#!forum/ddf-project" target="_blank">Google group</a> 2. Meetings: If you would to have DDF project members to present in some meeting, feel free let us know in Google Groups. <a name="questions"></a> ### Questions? If you have any questions after reading this document, then please reach out to us via the <a href="https://groups.google.com/forum/#!forum/ddf-project" target="_blank">DDF's google group</a>