caffe/CONTRIBUTING.md

1.9 KiB

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 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, 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 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.