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

Add GTFS-realtime producer/consumer requirement, limited time for experimental fields #140

Merged
merged 4 commits into from Mar 5, 2019

Conversation

barbeau
Copy link
Collaborator

@barbeau barbeau commented Feb 14, 2019

Per discussion in #109, this proposal updates the GTFS-realtime change process to:

  1. Add a requirement of a GTFS-realtime producer and consumer prior to the adoption of GTFS-realtime experimental fields officially into the spec via the "Specification amendment process". This mirrors the GTFS producer/consumer requirement.
  2. Add a limited time window for GTFS-realtime experimental fields, after which they would be deprecated if not officially adopted. Deprecated fields can be "undeprecated" if voted on via the "Specification amendment process". An example case is the situation in which a consumer and producer can't both implement the new field within the 2 year window, but after the 2 year window expires both consumer and producer are now using the field, and therefore a vote to officially adopt the fields via the "Specification amendment process" can now be held.

Announced on the GTFS-realtime Google Group at https://groups.google.com/forum/#!topic/gtfs-realtime/bFC2rwxxylk.

* Add requirement of GTFS-realtime producer/consumers prior to adopt of GTFS-realtime experimental fields officially into the spec.  This mirrors the GTFS producer/consumer requirement.
* Add a limited time window for GTFS-realtime experimental fields, after which they would be deprecated if not officially adopted.
@barbeau barbeau added the GTFS Realtime Issues and Pull Requests that focus on GTFS Realtime label Feb 14, 2019
@gcamp
Copy link
Contributor

gcamp commented Feb 14, 2019

👏 Agree 100%

@abyrd
Copy link

abyrd commented Feb 15, 2019

Looks good. What do you think about the "pre-approval" idea I mentioned in #109 (comment)? In short: if there is unanimous support for an experimental change, then the producer/consumer implementations are submitted within the deprecation time window, there is no need for another vote. This reassures the people building the implementation that they are not working on something that won't be accepted.

@barbeau
Copy link
Collaborator Author

barbeau commented Feb 18, 2019

@abyrd Personally I'm a little wary of automatically adopting experimental changes into production without final approval by the community, given that a lot can change in two years. Given the current proposal even if a vote to adopt a change officially fails, with the soft deprecation existing producers and consumers can continue to use the field as-is, without needing to yank it out of their implementation. But I'd like to hear from others on this.

Also, technically, reading the existing change documentation again I don't believe it's explicitly stated anywhere that you must submit a field as experimental before calling for a vote for official adoption (but someone correct me if I'm wrong). So if you had a producer and consumer you could call for a vote to officially adopt the field immediately. Related to this, we should probably state in the process that the proposer should explicitly say whether they are calling on a vote for an experimental field or production field.

@barbeau
Copy link
Collaborator Author

barbeau commented Feb 18, 2019

I just added another sentence saying advocate should clearly state if vote is for production or experimental fields in 96ea5ec.

@abyrd
Copy link

abyrd commented Feb 20, 2019

@abyrd Personally I'm a little wary of automatically adopting experimental changes into production without final approval by the community, given that a lot can change in two years.

That makes sense to me, I was just wondering.

I don't believe it's explicitly stated anywhere that you must submit a field as experimental before calling for a vote for official adoption (but someone correct me if I'm wrong)... we should probably state in the process that the proposer should explicitly say whether they are calling on a vote for an experimental field or production field.

Also makes sense. An experimental field can be requested when an idea is too new or undeveloped to have unanimous support or producer/consumer implementations. Otherwise one can aim directly for official adoption.

@barbeau
Copy link
Collaborator Author

barbeau commented Feb 22, 2019

This pull request has been open for more than one week, so per the Official Process I'm calling for a vote.

Vote will be closed on Friday March 1st at 23:59:59 UTC.

@gcamp
Copy link
Contributor

gcamp commented Feb 22, 2019

+1

5 similar comments
@jrsanbornjr
Copy link

+1

@laidig
Copy link
Contributor

laidig commented Feb 24, 2019

+1

@abyrd
Copy link

abyrd commented Feb 25, 2019

+1

@prhod
Copy link

prhod commented Feb 25, 2019

+1

@skinkie
Copy link
Contributor

skinkie commented Feb 25, 2019

+1

@barbeau
Copy link
Collaborator Author

barbeau commented Mar 5, 2019

Voting is closed on this proposal and the results are:

Yes - 6

So it passes! Thanks all!

@barbeau barbeau merged commit e809259 into google:master Mar 5, 2019
@barbeau barbeau deleted the rt-exp-limited-time branch March 5, 2019 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GTFS Realtime Issues and Pull Requests that focus on GTFS Realtime
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants