Open eliasmbd opened 9 months ago
What I am still missing is an 'adoption review' after for example one year to prevent private extension between two (and not all) parties.
What I am still missing is an 'adoption review' after for example one year to prevent private extension between two (and not all) parties.
Increasing the voting requirements from 3 to 5 with a minimum of 2 Consumers and 2 Producers should help mitigate that and provide a more diverse set of perspectives. @skinkie In Annex 3, you can also find a section on Transit Agency and Vendors. I'd like to know what you think about this.
@eliasmbd I think I am still unclear about a few of the voting detail descriptions.
Replace the second vote with an 80% majority vote, restricting the -1 vote to the initial stage.
Wouldn't a -1 vote still be allowed by an individual ? It is just that a single one (likely) wouldn't sink the proposal.
What I am still missing is an 'adoption review' after for example one year to prevent private extension between two (and not all) parties.
Increasing the voting requirements from 3 to 5 with a minimum of 2 Consumers and 2 Producers should help mitigate that and provide a more diverse set of perspectives.
It sounds nice but I don't think it should work like that. We need some initial parties to test something, to me that still can be 1 < n <= 2. That gives a technical analysis of a proposal. The adoption is a completely different matter.
@eliasmbd I think I am still unclear about a few of the voting detail descriptions.
Replace the second vote with an 80% majority vote, restricting the -1 vote to the initial stage.
Wouldn't a -1 vote still be allowed by an individual ? It is just that a single one (likely) wouldn't sink the proposal.
@e-lo With a requirement of 5 votes and a 80% majority vote, a single -1 at the second vote would not sink a proposal. This reduces the risk at the later stage once efforts have been made by first adopters.
What I am still missing is an 'adoption review' after for example one year to prevent private extension between two (and not all) parties.
Increasing the voting requirements from 3 to 5 with a minimum of 2 Consumers and 2 Producers should help mitigate that and provide a more diverse set of perspectives.
It sounds nice but I don't think it should work like that. We need some initial parties to test something, to me that still can be 1 < n <= 2. That gives a technical analysis of a proposal. The adoption is a completely different matter.
@skinkie Are you suggesting that a review should be held after a year of implementation has been made? Similar to the experimental field in GTFS-RT governance?
@skinkie Are you suggesting that a review should be held after a year of implementation has been made? Similar to the experimental field in GTFS-RT governance?
I wasn't even thinking about GTFS-RT at this point. But now you bring it up: yes. I think this would be a really sound approach that allows experimentation and validation and clean up for stuff that does not get implemented.
@e-lo With a requirement of 5 votes and a 80% majority vote, a single -1 at the second vote would not sink a proposal. This reduces the risk at the later stage once efforts have been made by first adopters.
I get that, but if you are still allowed to vote -1 on the proposal then the text is misleading. Suggest:
Replace the second vote with an 80% majority vote.
or
Replace the second vote with an 80% majority vote requiring unanimous consent only in the initial vote.
Proposing changes to GTFS has been a cumbersome process, leading to delayed outcomes and uncertainties.
I am very concerned about adopting this (much heavier) process before making some of the small changes to non-normative content lighter first (example of a new issue where this would be helpful: https://github.com/google/transit/issues/435 )
While some of these changes are good, I do think that the fact that I just had to read three documents of how this could work which were each many pages long could be argued to be a much more cumbersome process and would likely delay and make outcomes even more uncertain. If our primary goal is to make it less cumbersome...then let's start there and then add complexity where it is warranted.
Proposing changes to GTFS has been a cumbersome process, leading to delayed outcomes and uncertainties.
I am very concerned about adopting this (much heavier) process before making some of the small changes to non-normative content lighter first (example of a new issue where this would be helpful: #435 )
I think you got me/us wrong then. Content changes should in my opinion have a regular editorial proces. 4 to 6 eye principe. But I would prefer a much heavier proces on extending a standard for the sake of extending. Don't think this would need a year of talks about for example fares, rather properly done and reviewed technical proposals and/or implementations.
I added comments on some specifics in the overview doc, but I'll also add some general comments here:
I'm interested in the prospect of actually just aligning the GTFS-Schedule amendment process to Realtime's process (e.g., the "adopted but experimental" phase). Has this been considered? It would also be easier to manage a single voting process for both...
I would also like to know if there are any plans in place for how we will evaluate the changes' effectiveness?
It may be a good thought exercise to take the events of a recent amendment to the spec and ask how would that have been different under these new processes? Would it have taken less time? More time? What pitfalls or pain points specifically might have been avoided?
I'd like to remind everyone here that we will be holding 2 meetings on these changes on Wednesday.
This is the agenda of the meeting:
To allow for global participation, we have the same meeting for 2 sets of timezones.
Here are the 2 options:
Just a quick update on the 8pm EDT meeting. We decided to postpone it for a later date to ensure a more diverse attendance. The intention of that meeting was to include voices from the Asian-Pacific and Australian Timezones. The date will be announced as soon as we set up another meeting.
We will be holding our first Working Group Meeting on the subject of Governance on May 2nd @ 11AM EDT
We will build off of last meeting's discussions and focus our discussions on the smaller items. We will try to build concensus on one item at the time.
We will be using Miro for this meeting. We also have a Working Group channel on the MobilityData Slack.
Let us know if you can't make it. We plan on providing asynchronous options like recordings.
Join the MobilityData Slack to be included in the working group channel.
Thanks for joining yesterday. Your inputs were very helpful to get some major questions behind us. As discussed, we will be hosting bi-weekly meetings at first and then transition to a monthly format once proposal writing begins. We anticipate 4 bi-weekly meetings with the objective to achieve consensus on 2 or more goals outlined in the screenshot below. We hope next meetings will be more solution oriented rather than a philosophical discussion on the bigger questions.
Here is the link to sign up to the next 2 meetings Eventbrite Page
The next 2 meetings will be held on: May 16 @ 11AM EDT and May 30 @ 11AM EDT
Join the MobilityData Slack to be included in the working group channel.
Unfortunately, we didn't have enough people at our last meeting to proceed, so we decided to postpone it. We want to make sure everyone's voices are heard and that the opinions reflect the diversity of GTFS stakeholders.
In our next meeting, we hope to dive deeper into the proposed solutions and agree on how to tackle each highlighted issue. We hope to find consensus on at least 2 solutions for the following items:
**1. Formalizing the process before the Pull Request
If consensus is found on 2 items and we still have time we can cover other items on the list. As you will see, many solutions to the items above can overlap making each discussion essential to the overall result.
Please use the Eventbrite link to register, this is important for us as it helps us track the estimated attendance and anticipate any potential setbacks.
If you have trouble registering, please reply to this email, and we'll send you the Google Calendar link.
Thanks for confirming your attendance. Let us know if you can't make it.
We appreciate your contributions and hope to see you at the next meeting.
:mega::mega::mega:
Reach out to me either here or on slack to receive your calendar invite. We will continue to use Google Calendar for this WG as it seems like the best solution for everyone.
This might be our last meeting.
We will visually recap our current solutions, address the discussion held in the last meeting, and then we will be covering priority item no.6:
If consensus is found on item number 6, we believe that MobilityData would have sufficient information to begin work on the proposal. If time allows, we will try to cover items 5 and 7. The solutions in items 5 and 7 are very similar to previously discussed ones and may lead to redundant conversations. Item 6 on the other hand directly influences the implementation of the most complex solution: voting changes.
As this may be the last meeting before beginning to draft the proposal, please let us know if you can't make it.
As discussed in our most recent Governance Working Group Meeting, several important changes to our governance process have been agreed upon by the working group participants. Below is a summary of the key changes, including features that were set aside for future consideration, and the next steps for implementation.
Change | Description | Justification |
---|---|---|
1. Improve Governance Documentation | • Include visualizations of the process. • Clearly define roles. |
• Makes documentation easier to follow for newcomers. • Provides clarity on who is a consumer, producer, advocate, vendor, contributor, etc. |
2. Formalize Semi-Structured Phase Before PR | • Officially incorporate an "issue phase" reflecting current practice. • Maintain low access barriers, allowing easy proposal submissions without requiring data modeling. • Provide suggestions / guidelines on how to guide discussion and structure proposals. |
• Community preferred this flexible approach over a more rigid structure. |
3. Require a Proposal Schedule | • Add a requirement to specify if the change is "big/long" or "small/quick" when creating a proposal. | • Helps the community gauge the effort required and manage expectations during the review process. |
4. Define Discussion and Review Period Length | • Define specific time periods for Discussion and Review phases. • Might require splitting the Discussion and Review periods. |
• Clear separation between discussion and review phases ensures predictability. • Maintainers will check for language consistency, and contributors can review technical aspects. |
5. Implement a Vote Before Testing | • Implement a new voting period to validate changes after review and move forward with testing. • This vote becomes the "most important" to test appetite and gather potential first adopters. • Veto power will remain for this vote. |
• This change addresses the need to confirm broad community support before significant testing begins. • The vote serves as a checkpoint to ensure that the changes have enough backing, reducing the risk of investing resources into changes with limited interest. • This step was chosen over the idea of forming a review committee or holding an earlier vote at the issue stage due to concerns about efficiency and practicality. |
6. Increase Voting Requirements | • Increase minimum votes required from 3 to 5. • Require a minimum of 2 Producers and 2 Consumers to vote. |
• Reflects GTFS's mature stage, promoting a stable process and increasing the quality of changes. • Reduces the risk of changes being pushed by a small group of stakeholders. |
During the meeting, some features were set aside for future consideration:
Please feel free to comment below if you have any questions or need further clarification on these updates.
Thank you for your continued participation and support.
The past several governance WG meetings have been at times I've had rigid conflicts with, so apologies for chiming in after this has gotten to this stage. I really appreciate the follow through and level of documentation that you've done on this, @eliasmbd !
I have a few concerns and a few remaining clarification requests...
Needing Clarification (at least for me!):
It might be useful if in the documentation we go thru a hypothetical example of a smaller change and a larger change.
Concerns:
Just chiming in to second all of @e-lo's clarification points (especially moving away from the wording "veto").
Regarding concern # 2, I view the proposed process as adding some order to what can often be a chaotic and impenetrable process. The hypothesis I've been running with in my head is that with a visible, formalized structure to how an idea becomes part of the spec, and with a clear understanding of what stage a given proposal is on in that process, newcomers would be equipped with the context needed to know the kind of contributions that would be most useful for that time.
Regarding concern # 3, requiring more than one producer/consumer for the vote makes sense to me so that consensus is more "triangulated," less unilateral, potentially.
Thanks for your thoughtful feedback, @e-lo! I appreciate you taking the time to share your concerns and suggestions. We understand that scheduling is challenging at times.
Voting Requirements
The existing vote into the spec still requires unanimous decision—nothing changes here. The main addition is the need for a minimum of 5 votes, with at least 2 from producers and 2 from consumers. This helps ensure broader consensus while maintaining the unanimous requirement. We agree with your suggestion to replace "veto" with "unanimous"—we'll make that adjustment in the proposal.
Testing Phase
The testing phase is the same as the current implementation phase, so no new responsibilities or processes are being introduced. It's simply a period where the proposal is tested by at least one producer and one consumer, allowing for real-world testing and adjustments when needed. We'll make sure this is clearly defined in the documentation.
Changes Post-Vote
To clarify, we’re not introducing any new processes here—there has always been flexibility to make necessary changes after testing. The only addition is an extra layer of review, where changes can be checked against the initial supporters from the first vote to ensure we’re still on track. This is meant to maintain alignment with the original intent.
Hypothetical Examples
We plan to include hypothetical examples in the proposal to illustrate how changes would be handled. We can explore the inclusion of these examples in the final documentation as we move forward, ensuring that they add clarity without introducing unnecessary complexity.
Testing Phase Evolution
The first vote confirms that the change is ready for testing. The testing phase is primarily about validating the proposal through real-world implementation. While corrections are possible and likely to happen, the focus is on testing to ensure the change meets the agreed-upon requirements.
Process Complexity
We recognize that the process may seem daunting, especially as it's currently written. However, as @westontrillium mentioned, formalizing these steps and visualizing the process should actually increase accessibility. A clearer structure with visualizations should help newcomers and veterans navigate the system more easily, even if it introduces some complexity at first glance. It’s important to note that we’re formalizing and categorizing some processes that are already in use informally, making them visible to those who haven’t been directly involved in them beforehand.
Increased Voting Requirements
Requiring votes from multiple producers and consumers increases voter diversity and ensures the quality of changes. As @westontrillium pointed out, this helps achieve a broader consensus, making decisions less unilateral and more stable. Past votes have shown that this is not an unreasonable requirement, as the vote count has often met or exceeded this threshold.
@e-lo, this approach reflects the feedback we’ve gathered from the WGMs and the community. We’ll begin drafting the proposal based on this collective input, but please know that we remain open to making adjustments if necessary. As we move forward with drafting, there will be further opportunities to participate and provide feedback to ensure the proposal is solid, fair, and well-received.
Lastly, I’d like to invite anyone who participated in the WGMs to confirm or share their thoughts on this approach. Your input is invaluable as we refine this proposal.
During this meeting we will be presenting the proposal to modify the governance based on the feedback collected in the working group meetings.
The presentation will be outlined as follow:
Once the meeting is concluded, you will gain access to the Proposal's Google Doc where you can leave your feedback in the form of comments. We are still fine tuning the proposal so we might not be able to share it before hand.
This issue puts forward two alternatives for a new GTFS Spec Amendment Process.
Context
This GitHub Issue is part of the ongoing effort to enhance the GTFS Governance, particularly focusing on the Specification Amendment Process outlined in phase 2 of the phasing plan published in December 2023. The proposed changes are informed by interviews, workshops, and community conversations conducted by MobilityData.
What are we trying to solve?
Proposing changes to GTFS has been a cumbersome process, leading to delayed outcomes and uncertainties. The top-priority issues include insufficient visibility on proposals, limited reviews, and a vague process before the Pull Request stage.
What is not included in phase 2?
The following items will be covered in Phase 3 of the governance as highlighted in the phasing plan:
Proposed Changes Overview
This proposal suggests a series of changes to the Specification Amendment Process, summarized below:
Proposed Alternatives
This document proposes two alternatives for the Specification Amendment Process, each with its unique characteristics:
Alternative A: First vote in the GitHub Pull Request
Alternative B: First vote in the GitHub Issue
Comparison of Alternatives
Both alternatives address the identified governance issues in slightly different ways. Here's a summary of how each alternative addresses the key issues:
Documents for review
Main body of work:
Attachments: Details and Clarifications:
What's Next?
Review the Overview: Review the general overview and share your thoughts: Overview,
Deep dive: Dive deep into the attachments for details: Annex 1, Annex 2, and Annex 3.
Provide Feedback: Share your thoughts, suggestions, or concerns by commenting on this GitHub issue and/or in the respective documents mentioned above.
Save the date: On March 13, 2024, MobilityData will be holding 2 meetings to present each alternative, and hold a guided discussion based on the comments towards an eventual consensus. Register for one of the meetings below: