31 lines
1.9 KiB
Markdown
31 lines
1.9 KiB
Markdown
# Contributing
|
|
|
|
## Issues
|
|
|
|
Specific Caffe design and development issues, bugs, and feature requests are maintained by GitHub Issues.
|
|
|
|
_Please do not post usage, installation, or modeling questions, or other requests for help to Issues._
|
|
Use the [caffe-users list](https://groups.google.com/forum/#!forum/caffe-users) instead. This helps developers maintain a clear, uncluttered, and efficient view of the state of Caffe.
|
|
|
|
When reporting a bug, it's most helpful to provide the following information, where applicable:
|
|
|
|
* What steps reproduce the bug?
|
|
* Can you reproduce the bug using the latest [master](https://github.com/BVLC/caffe/tree/master), compiled with the `DEBUG` make option?
|
|
* What hardware and operating system/distribution are you running?
|
|
* If the bug is a crash, provide the backtrace (usually printed by Caffe; always obtainable with `gdb`).
|
|
|
|
Try to give your issue a title that is succinct and specific. The devs will rename issues as needed to keep track of them.
|
|
|
|
## Pull Requests
|
|
|
|
Caffe welcomes all contributions.
|
|
|
|
See the [contributing guide](http://caffe.berkeleyvision.org/development.html) for details.
|
|
|
|
Briefly: read commit by commit, a PR should tell a clean, compelling story of _one_ improvement to Caffe. In particular:
|
|
|
|
* A PR should do one clear thing that obviously improves Caffe, and nothing more. Making many smaller PRs is better than making one large PR; review effort is superlinear in the amount of code involved.
|
|
* Similarly, each commit should be a small, atomic change representing one step in development. PRs should be made of many commits where appropriate.
|
|
* Please do rewrite PR history to be clean rather than chronological. Within-PR bugfixes, style cleanups, reversions, etc. should be squashed and should not appear in merged PR history.
|
|
* Anything nonobvious from the code should be explained in comments, commit messages, or the PR description, as appropriate.
|