Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOCS][COMMUNITY] Committer guide and tips #2468

Merged
merged 1 commit into from
Jan 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/contribute/code_review.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _code_review_guide:

Perform Code Reviews
====================

Expand Down
86 changes: 86 additions & 0 deletions docs/contribute/committer_guide.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
.. _committer_guide:

Committer Guide
===============
This is an evolving document to provide some helpful tips for committers.
Most of them are lessons learned during development.
We welcome every committer to contribute to this document.
See the :ref:`community_guide` for an overview of
the committership and the general development process.

Community First
---------------
The collective effort of the community moves the project forward and
makes the project awesome for everyone.
When we make a decision, it is always helpful to keep the community in mind.
Here are some example questions that we can ask:

- How can I encourage new contributors to get more involved in the project?
- Can I help to save my fellow committers' time?
- Have I enabled the rest of the community to participate the
design proposals?


Public Archive Principle
------------------------
While private channels such as face to face discussion are useful for development,
they also create barriers for the broader community's participation.
The Apache way of development requires all decisions
to be made in public channels, which are archived and accessible to everyone.
As a result, any contributor can keep up with the development by watching the
archives and join the development anytime.

While this principle applies to every contributor,
it is especially important for committers.
Here are some example applications of this principle:

- When getting a project-related question from a personal channel,
encourage the person to open a public thread in the discuss forum,
so others in the community can benefit from the answer.
- After an in-person discussion, send a summary to public channels
(as an RFC or a discuss thread).


Shepherd a Pull Request
----------------------

Here are some tips to shepherd a pull request.
You can also take a look at the :ref:`code_review_guide`.

- Assign the PR to yourself, so that other committers
know that the PR has already been tended to.
- Make use of the status label to indicate the current status.
- Check if an RFC needs to be sent.
- If the contributor has not requested a reviewer, kindly
ask the contributor to do so.
If the PR comes from a new contributor,
help the contributor to request reviewers
and ask the contributor to do so next time.
- Moderate the reviews, ask reviewers to approve explicitly.
- Mark the PR as accepted and acknowledge the contributor/reviewers.
- Merge the PR :)


Time Management
---------------
There are many things that a committer can do, such as
moderating discussions, pull request reviews and
code contributions.

Working on an open source project can be rewarding,
but also be a bit overwhelming sometimes.
A little bit of time management might be helpful to alleviate the problem.
For example, some committers have a "community day" in a week
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shall we make the "community day" record public so that people can know whom to reach out? only for committers who are willing to have an assigned "community day" of course.

Also we better find a way to enable committers/reviewers report their out-of-office status. e.g., github's "set your status" might be useful.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"community day" record public

A pinned post on the forum would be great, but people might not know to check it. Maybe putting a blurb in the ISSUE_TEMPLATE would help.

github's "set your status" might be useful

👍 just depends on whether you think that's an intrusion into one's privacy :)

when they actively manage outstanding PRs,
but watch the community less frequently in the rest of the time.

Remember that your merit will never go away, so please
take your time and pace when contributing to the project:)


Broad Collaboration
-------------------
Sometimes, we tend to only interact with people we know.
However, broad collaborations are necessary to the success of the project.
Try to keep that in mind, shepherd PRs for, and request code reviews from
community members who you do not interact physically.
3 changes: 3 additions & 0 deletions docs/contribute/community.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
.. _community_guide:

TVM Community Guideline
=======================

TVM adopts the Apache style model and governs by merit. We believe that it is important to create an inclusive community where everyone can use, contribute to, and influence the direction of the project. See `CONTRIBUTORS.md <https://github.com/dmlc/tvm/blob/master/CONTRIBUTORS.md>`_ for the current list of contributors.



General Development Process
---------------------------
Everyone in the community is welcomed to send patches, documents, and propose new directions to the project. The key guideline here is to enable everyone in the community to get involved and participate the decision and development. When major changes are proposed, an RFC should be sent to allow discussion by the community. We encourage public discussion, archivable channels such as issues, discuss forum and mailing-list, so that everyone in the community can participate and review the process later.
Expand Down
1 change: 1 addition & 0 deletions docs/contribute/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Here are guidelines for contributing to various aspect of the project:

community
code_review
committer_guide
document
code_guide
pull_request
Expand Down