Изменение спецификации

GTFS Realtime – открытая спецификация, которая создается и поддерживается сообществом транспортных агентств, разработчиков и других сторон, заинтересованных в использовании этого продукта. Предложения по улучшению спецификации должны направляться самими поставщиками и потребителями GTFS. Чтобы помочь им в этом, мы разработали описанные ниже процедуры и рекомендации.

Процесс изменения спецификации

Официальные тексты спецификации, а также сопроводительной и справочной документации составлены на английском языке. Если перевод на другой язык отличается от английской версии, следует руководствоваться текстом оригинала. Вся коммуникация ведется на английском языке.

  1. Создайте ветвь на GitHub и добавьте в нее все обновления разделов определения протокола, а также файлы спецификации и документации. Не прилагайте переводы этих файлов на другие языки.
  2. Создайте запрос на включение кода на странице https://github.com/google/transit, добавив в него подробное описание патча. После этого автор запроса будет назначен его защитником.
  3. Как только запрос будет зарегистрирован, защитник должен анонсировать его в списке рассылки GTFS Realtime. После этого запрос будет считаться зарегистрированным в качестве предложения.
  4. Поскольку защитниками запроса могут стать только контрибьюторы GitHub, вам потребуется предварительно подписать Лицензионное соглашение для контрибьюторов.
  5. После регистрации предложения начинается его обсуждение. В качестве площадки для обсуждения можно использовать только комментарии к запросу.
  6. Обсуждение длится столько, сколько защитник посчитает необходимым, но не менее 7 календарных дней.
  7. Защитник несет ответственность за своевременное обновление своих предложений (запросов на включение и пр.) в соответствии с одобренными им комментариями.
  8. Защитник может в любой момент отказаться от дальнейшей работы с предложением.
  9. Защитник может вынести на голосование уточненную по результатам отзывов версию предложения по истечении первых 7 дней, отведенных на его обсуждение.
  10. Минимальный период голосования составляет не менее 7 полных календарных и не менее 5 полных рабочих дней (по швейцарскому производственному календарю). Голосование заканчивается в 23:59:59 по всемирному координированному времени (UTC).
  11. В начале голосования защитник должен объявить время его окончания.
  12. Во время голосования в текст предложения можно вносить только редакторские изменения (исправлять опечатки и улучшать формулировки, не меняя их смысла).
  13. Любой пользователь GitHub может проголосовать за или против предложения в форме комментария к запросу, а также изменить свое решение до окончания отведенного на голосование времени. Чтобы изменить решение, пользователь должен перечеркнуть первоначальный комментарий и оставить новый.
  14. Голоса, поданные до начала голосования, при подсчете не учитываются.
  15. Предложение принимается, если не менее трех пользователей выражают свое единодушное согласие с ним.
  16. Голос самого защитника при подсчете общей суммы голосов не учитывается. Например, если пользователь X создает запрос и голосует за него, а потом свои голоса отдают пользователи Y и Z, считается, что предложение набрало два голоса.
  17. Голоса против должны подкрепляться мотивировкой и, в идеале, содержать советы, которые помогут защитнику устранить недостатки предложения.
  18. Если голосование не приносит положительного результата, защитник может либо продолжить работу над предложением, либо закрыть его. О своем решении защитник должен объявить в списке рассылки.
  19. Если защитник решит продолжить работу над предложением, он может назначить повторное голосование в любой момент, но не позднее чем через 30 календарных дней после окончания предыдущего раунда голосования.
  20. Если новый раунд голосования не будет назначен в установленный срок, считается, что защитник отказался от дальнейшей работы с предложением.
  21. В случае отказа от предложения соответствующий запрос на включение закрывается.
  22. Если предложение будет одобрено:
  23. Google сделает все возможное, чтобы в течение 5 рабочих дней включить в спецификацию указанные в запросе изменения (при условии, что его автор подписал Лицензионное соглашение для контрибьюторов).
  24. Google сделает все возможное, чтобы своевременно обновить репозиторий https://github.com/google/gtfs-realtime-bindings. Изменения, внесенные в репозиторий в результате одобрения предложения, должны ссылаться на соответствующий запрос на включение кода.
  25. Google несет ответственность за изменение спецификации на других поддерживаемых языках. Мы с радостью примем запросы членов сообщества на перевод и рассмотрим их, как только в соответствующем оригинальном документе будут приняты все редакторские изменения.