|
| 1 | +# Change Process Overview |
| 2 | + |
| 3 | +The specification change process guides how the community proposes, reviews, and adopts changes to the specification in the [GTFS Repository](https://github.com/google/transit/pulls). |
| 4 | + |
| 5 | +The specification change process is categorized into 3 tracks according to the three change types: functional changes, non-functional changes, and documentation maintenance. The change process is separated into 2 stages: |
| 6 | + |
| 7 | +* Issue Stage: New ideas are introduced, needs are identified, and the feasibility of changes is discussed. |
| 8 | +* Pull Request Stage: Ideas from the Issue Stage are developed, tested, and approved for adoption. |
| 9 | + |
| 10 | +<img class="center" width="100%" height="100%" src="../../../../assets/governance-process-overview.png" alt="GTFS Governance Change Process overview"> |
| 11 | + |
| 12 | +The issue stage is the same for all 3 tracks. The Pull Request stage differs in each of the 3 tracks. |
| 13 | + |
| 14 | +## Stage 1: Issue |
| 15 | + |
| 16 | +The Issue Stage is meant for discussing new ideas, identifying needs, and proposing improvements to the specification. Issues help evaluate the necessity and support for a change, while organizing the resources required to proceed to the Pull Request Stage. |
| 17 | + |
| 18 | +It’s recommended to start at the Issue stage to build consensus around new ideas. However, if the proposal’s scope is already well-defined, beginning directly at the Pull Request stage is appropriate. |
| 19 | + |
| 20 | +## Stage 2: Pull Request |
| 21 | + |
| 22 | +The Pull Request Stage is where ideas from the Issue Stage are developed and implemented into the specification. This stage is divided into 3 tracks depending on the change type. |
| 23 | + |
| 24 | +The entire process happens within the [GitHub google/transit repository](https://github.com/google/transit/pulls) and ensures that all changes are thoroughly evaluated before being adopted. |
| 25 | + |
| 26 | +### Track A: Functional Changes |
| 27 | + |
| 28 | +<img class="center" width="100%" height="100%" src="../../../../assets/governance-process-functional.png" alt="GTFS Governance Change Process Track A"> |
| 29 | + |
| 30 | +This process guides how the community proposes, reviews, and adopts Functional changes to the specification in the [GTFS Repository](https://github.com/google/transit/pulls). |
| 31 | + |
| 32 | +* A proposal is submitted by opening a Pull Request in the GTFS Repository. |
| 33 | +* The community engages in discussions to refine the proposal and reviews it before testing. |
| 34 | +* After a preliminary vote, First Adopters test the proposed changes. |
| 35 | +* The community votes to decide whether the changes should be officially adopted. |
| 36 | +* Finally, changes are implemented into the specification. |
| 37 | + |
| 38 | +### Track B: Non-Functional Changes |
| 39 | + |
| 40 | +<img class="center" width="100%" height="100%" src="../../../../assets/governance-process-non-functional.png" alt="GTFS Governance Change Process Track B"> |
| 41 | + |
| 42 | +This process guides how the community proposes, reviews, and adopts Non-Functional changes to the specification in the [GTFS Repository](https://github.com/google/transit/pulls). |
| 43 | + |
| 44 | +* A proposal is submitted by opening a Pull Request in the GTFS Repository. |
| 45 | +* The community engages in discussions to refine the proposal. |
| 46 | +* The community votes to decide whether the changes should be officially adopted. |
| 47 | +* Finally, changes are implemented into the specification. |
| 48 | + |
| 49 | +### Track C: Documentation Maintenance |
| 50 | + |
| 51 | +<img class="center" width="100%" height="100%" src="../../../../assets/governance-process-documentation.png" alt="GTFS Governance Change Process Track C"> |
| 52 | + |
| 53 | +This process guides how the community proposes, reviews, and adopts changes to maintain the documentation in the [GTFS Repository](https://github.com/google/transit/pulls). |
| 54 | + |
| 55 | +* A proposal is submitted by opening a Pull Request in the GTFS Repository. |
| 56 | +* The community engages in discussions to refine the proposal |
| 57 | +* Finally, changes are implemented into the specification. |
| 58 | + |
| 59 | +### Pull Request Stage Steps |
| 60 | + |
| 61 | +All of the steps in the Pull Request Stage are highlighted below. Consider that only Track A: Functional changes utilizes all the steps. Track B: Non-Functional changes and Track C: Documentation Maintenance utilize a shortened version of the process: |
| 62 | + |
| 63 | +* Track A: Functional Changes utilizes steps: |
| 64 | + * 2.1 Pull Request Publication |
| 65 | + * 2.2 Pull Request Discussion |
| 66 | + * 2.3 Pull Request Review |
| 67 | + * 2.4 Vote to test |
| 68 | + * 2.5 Testing |
| 69 | + * 2.6 Vote to Adopt |
| 70 | + * 2.7 Adoption |
| 71 | +* Track B: Non-Functional Changes utilizes steps: |
| 72 | + * 2.1 Pull Request Publication |
| 73 | + * 2.2 Pull Request Discussion |
| 74 | + * 2.3 Pull Request Review |
| 75 | + * 2.6 Vote to Adopt |
| 76 | + * 2.7 Adoption |
| 77 | +* Track C: Documentation Maintenance utilizes steps: |
| 78 | + * 2.1 Pull Request Publication |
| 79 | + * 2.2 Pull Request Discussion |
| 80 | + * 2.3 Pull Request Review |
| 81 | + * 2.7 Adoption |
0 commit comments