|
| 1 | +# OpenCensus change process |
| 2 | + |
| 3 | +This document outlines a process for proposing, approving and implementing changes in OpenCensus. |
| 4 | + |
| 5 | +Status: WIP, improvements/suggestions welcome. |
| 6 | + |
| 7 | +## Scope |
| 8 | + |
| 9 | +This change process covers changes to the OpenCensus Specs. Generally, all new APIs or major |
| 10 | +API changes should be documented in OpenCensus Specs. This is to ensure consistency across |
| 11 | +language implementations, as far as practical. |
| 12 | + |
| 13 | +This document does not cover improvements to individual OpenCensus libraries that don't |
| 14 | +require Spec changes. These should be filed as issues on the individual OpenCensus library |
| 15 | +repository. |
| 16 | + |
| 17 | +## Process |
| 18 | + |
| 19 | +### Step 1: Opening an issue |
| 20 | + |
| 21 | +Open an issue on the (opencensus-specs repo)[https://github.com/census-instrumentation/opencensus-specs/issues/new]. |
| 22 | + |
| 23 | +The issue should describe the problem you're trying to solve and the proposed solution (if any). |
| 24 | + |
| 25 | +When opened, the label "proposal" should be applied. |
| 26 | +This label indicates that the issue has not yet been approved and no commitment has been made |
| 27 | +to include this change in OpenCensus. |
| 28 | +The issue will move out of "proposal" state when it is approved in the next step. |
| 29 | + |
| 30 | +At this point, we allow a week for anyone to comment on the issue to share their opinion. |
| 31 | + |
| 32 | +### Step 2: Approval |
| 33 | + |
| 34 | +New issues labelled with "proposal" that have been open at least three business days will be discussed at the regular community meeting. |
| 35 | +If there is consensus, the issue can be approved directly. If more investigation is needed, a group of responsible |
| 36 | +individuals will be selected at the meeting to work on the issue. |
| 37 | + |
| 38 | +If the issue is approved, the "approved" label should be added. |
| 39 | + |
| 40 | +If the issue is not approved, it should be closed with a short description of why it was not approved. |
| 41 | + |
| 42 | +### Step 3: Specs pull request |
| 43 | + |
| 44 | +Once an change is approved, anyone may open a pull request implementing the specs or protobuf changes needed to implement |
| 45 | +the approved change. Pull requests are reviewed by maintainers and interested parties. Pull requests should normally be |
| 46 | +left open at least three business days for anyone interested to comment. |
| 47 | + |
| 48 | +It is highly recommended that the proposal be accompanied by a pull request implementing the change |
| 49 | +against at least one OpenCensus language implementation. |
| 50 | + |
| 51 | +### Step 4: Merge pull request |
| 52 | + |
| 53 | +Once reviewed, the pull request may be merged either by the original author or by the reviewer if the original auther |
| 54 | +does not have permissions to merge their own pull requests. |
| 55 | + |
| 56 | +OpenCensus library language maintainers are responsible to monitor all changes merged to the specs repo and open issues |
| 57 | +themselves on their respective libraries to implement the change. |
0 commit comments