Позднее Ctrl + ↑

Вечно ноль шестой

Ровно десять лет назад проект перешёл на API версии 0.6. API, или протокол, — это то, к чему обращаются приложения-редакторы карты для скачивания и загрузки данных на сервер. Как видно, этот протокол менялся пять раз, причём каждый раз серьёзно: то отношения появятся, то сегменты (отрезки между двумя точками) пропадут. Шестая версия API — последняя. Вчера у неё был юбилей.

Зачем мне об этом знать?

API — это не столько протокол обмена информацией, сколько описание модели данных. Именно он определяет, что карта состоит из точек, линий, отношений и тегов, что у объектов есть версии, что в линии не может быть более двух тысяч точек и так далее. Когда менялся протокол, менялась модель данных. Как в реальном мире полезно знать основы физики, в OpenStreetMap полезно знать API.

Насколько всё странно было раньше?

Изменения в четвёртой, пятой и шестой версиях перечислены в вики. Вторая версия API стала работать через ссылки (REST), а не через сложные запросы XML-RPC, и в ней появились теги. В третьей версии теги вынесли из строкового атрибута xml в отдельные элементы <tag>, а сегменты объединили в линии (way).

Что изменилось в версии 0.6?

Появились пакеты правок и номера версий. Раньше объекты загружали по одному, а история адресовалась только по меткам времени. Линии ограничили 2000 точками, пакеты правок — 50 тысячами объектов (позже снизили до десяти тысяч), а члены отношений стали упорядочены (раньше они возвращались в случайном порядке). Кроме того, базу данных перевели с MySQL на PostgreSQL.

Зачем понадобилось менять протокол?

В феврале 2008 года, через четыре с половиной месяца после включения API 0.5, Фредерик Рамм написал пропозал «Пакеты правок и откаты», который поднимает важную проблему проекта: отмену ошибочных правок — и выводит из неё всё, что со временем вошло в API 0.6.

3-4 мая участники из Великобритании, Германии, Австрии и Нидерландов собрались в Лондоне на «Monitoring and Rollback Hack-a-thon», где обсудили новый API, составили его черновик в вики и наметали новые функции в коде.

Кто и как писал новый API?

Короткий ответ: Cloudmade. С 2007 по примерно 2010 годы эта компания была крупнейшей, связанной с OpenStreetMap. Венчурное финансирование помогло фокусироваться не на зарабатывании денег, а на развитии OSM. Среди её сотрудников были известные разработчики Стив Кост, Энди Аллан, Мэтт Эймос, Шон Макдональд и Гарри Вуд. В октябре 2008 они плотно взялись за код Rails Port, оценили фронт работ и разметили задачи. Примерно за две недели большая часть работы была сделана — но было непонятно, где её конец.

Финишный рывок разработчики сделали на неделе 3-9 ноября в лондонском офисе Cloudmade. Присутствовали те же сотрудники плюс Фредерик, Ричард и Грант. Сначала на встрече «APIzza 0.6» участники договорились об окончательном виде API. Затем на хакатоне на выходных они запрограммировали тесты и оставшиеся методы. Немного допилили напильником — и в середине ноября код был готов, а Бретт выпустил Osmosis с полной поддержкой нового API. Напомним, что Osmosis до сих пор является центральным инструментом в OSM: на нём работает репликация, а в то время только эта программа умела вырезать куски из карты и фильтровать по тегам.

Как переход проходил для пользователей?

11 декабря Шон Макдональд объявил о публичном тестировании нового API. На временный сервер загрузили карту Лондона и предлагали пользоваться Potlatch, JOSM, Merkaartor и Osmosis, чтобы отловить все возможные ошибки перед окончательной миграцией.

В конце января Стив Кост объявил о переходе на новый протокол через два месяца. Новая база данных должна была встать на новый сервер, но его не привезли вовремя: переход отложили на 17-20 апреля 2009 года. За день до назначенного времени Энди Робинсон предоставил официальную информацию о переходе. 21 апреля в 9:43 UTC Ричард Фэйрхёрст объявил: «Мы вернулись — с API 0.6, постгресом и новым сервером».

Так что, отменять правки теперь легко?

Впервые этот вопрос задали через три часа после включения API 0.6. Тогда был ответ «нет», и сейчас он тоже «нет». Но, по крайней мере, нынче есть выбор инструментов разной степени сложности. До кнопки отмены в интерфейсе а-ля википедия нам ещё очень далеко.

Отлично, а когда перейдём на API 0.7?

Теперь уже очевидно, что никогда.

Почему?

Протокол и модель данных достаточно хороши. Участники проекта накидывали идеи для следующей версии в эту вики-страницу; в её разделе «See Also» вы найдёте ещё несколько списков. Но не встретилось ничего настолько важного, что могло бы сподвигнуть сообщество взяться за написание API 0.7. Ни один человек самостоятельно не сможет улучшить протокол, потому что в OpenStreetMap слишком много несущих систем и участников, с которыми нужно договариваться.

Нельзя ли как-нибудь изменить по мелочам?

Современный API 0.6 заметно отличается от того, что мы получили десять лет назад. Примерно с 2012 года к нему начали прикручивать дополнительные функции, не затрагивающие модель данных. В мае 2012 приложения смогли узнать, какие у них права. В августе для перелицензирования в API добавили скрытие версий объектов. В апреле 2013 появились заметки. В ноябре 2014 пакетам правок добавили комментарии. Последний раз протокол улучшали полгода назад, когда улучшили поиск заметок через /notes/search.

Перелицензирование?

Забавный факт: 27 февраля 2009 года, в разгар подготовки к замене сервера и протокола, рабочая группа по юридическим вопросам предоставила план перехода на ODbL. По нему, весь процесс должен был занять всего три-четыре месяца — именно во столько поначалу Фредерик оценивал время на переход на API 0.6.

2019   osm.org

Что произойдёт завтра с GPS?

Короткий ответ — ничего.

Вы уже слышали эту историю: приёмники хранят номер недели в десятибитном поле, и раз в двадцать лет оно переполняется. Завтра те устройства, которые давно не обновлялись, могут начать party like it’s 1999. Ошибка не повлияет на позиционирование, потому что внутренние вычисления всегда консистентны. Секунды и минуты тоже будут правильны. Сломаться могут только метки дня, месяца и года.

GPS на сегодня даёт самое точное время, с ошибкой в пределах трёх наносекунд. Для сравнения, сетевой протокол NTP, который обновляет время в вашем компьютере, имеет точность около миллисекунды. Точность важна в GPS, потому что время используется для определения координат. Десять наносекунд — это примерно три метра ошибки. Этой точностью пользуются сейсмологи, энергетики и другие учёные.

Пользовательские навигаторы, которые могут быть обновлены, уже обновлены. Обычное решение — запрограммировать дату отсечки: например, если год внезапно получается меньше 2015, то прибавить двадцать лет. Многие так и латают дыру: очевидно, этот способ только отсрочивает ошибку, что и сломало даты в некоторых навигаторах в 2016-2017 годах.

Реальные проблемы это доставляет только исследователям, которые используют метки времени GPS в научных устройствах, разбросанных по Арктике и горам. Устройствах, замеряющих движение земной коры или синхронизирующих детекторы частиц. В этом году они мотаются по командировкам и срочно обновляют приёмники. Конечно, у многих есть опыт двадцатилетней давности: тогдашние проблемы кто-то решил заменой дорогих штучных устройств на более дешёвые и простые.

Трёх других спутниковых систем — ГЛОНАСС, BeiDou и Galileo — проблема не касается. Всю информацию я вытащил из этой презентации 2017 года для американского совета по позиционированию и замерам времени, и из позавчерашней статьи в Nature.

Конференций псто

В этом году нас ждут много конференций про OpenStreetMap и картографии в целом. Готовиться к ним нужно заранее. Эти конференции сейчас ждут от вас заявок на доклады, и негоже их разочаровывать. Пройдите по списку и порадуйте организаторов каждой:

  • State of the Map 2019 в Гейдельберге 21-23 сентября: главная конференция нашего проекта снова рядом, в Западной Европе — грех не съездить. Присылайте доклады до 25 апреля. Лучше раньше.
  • HOT Summit 2019 там же 19-20 сентября: главная конференция Гуманитарной команды выросла до двух дней, прикрепилась к SotM как три года назад в Брюсселе, и тоже ждёт ваших историй, включая «5-minute failures». Срок — до 30 апреля.
  • FOSS4G 2019 в Бухаресте 26-30 августа: самая главная ГИС-конференция с недешёвым входным билетом (330 евро без мастер-классов) и количеством треков как на Московском вокзале. Присылайте заявки до 15 апреля и потом помогайте выбрать триста достойнейших.
  • State of the Map US 2019 в Миннеаполисе 5-8 сентября: крупнейшая региональная конференция про OSM уютненько втиснулась между международными. Если можете позволить себе билет в город на полпути из Чикаго в Фарго, заявляйте доклад до 1 июня и ждите тёплого приёма.
  • State of the Map France 2019 в Монпелье 14-16 июня: прибрежный французский город недалеко от Марселя в середине лета — сам по себе хороший повод для поездки, а если вы знаете язык, то встретиться с местными осмерами сам Кост велел. Вписывайтесь в докладчики до 15 апреля и готовьте купальник.
  • State of the Map Africa 2019 в Гран-Басаме, Кот-д’Ивуар 22-24 ноября: доклады они пока не собирают, но язык ожидается французский, океан тоже рядом, так что это неплохое продолжение французской осмерской конференции. Фоточку и новостные каналы смотрите в вики.
  • OSCAL 2019 в Тиране, Албания 18-19 мая: ежегодная конференция касается всего открытого, и докладам про OSM они тоже будут рады. Тема этого года — этика в технологиях.
  • «Цифровые геотехнологии» 20 апреля (суббота) в Петербурге: очередная регулярная встреча любителей картографии, каждая из которых имела свою направленность. В этом месяце обсудят открытые ДЗЗ: если у вас есть мысль доклада, зарегистрируйте её на сайте.

Кроме того, прямо завтра в Москве, в четверг в 19:00 сотрудники «Урбики» бесплатно расскажут про дизайн картографических сервисов — скорее записывайтесь, таких знаний вы больше нигде не найдёте. И 16 апреля команда NextGIS покажет, что они нового придумали за полтора года с прошлого их Demo Day: регистрируйтесь и готовьтесь удивляться.

Картопокалипсис уже здесь

15 марта мы с Максимом Дубининым, руководителем компании NextGIS, и с Сергеем Голубевым, редактором великолепного блога городшахты.рф, запустили русскоязычный подкаст про картографию: «Картопокалипсис». В каждом выпуске мы примерно час обсуждаем одну тему: уже поговорили про конференции и про открытые ГИС в России. У каждого из нас свой опыт работы и свои подходы к картографии, мы «варимся» в ней очень много лет и забыли больше, чем многие из вас когда-либо знали. Отсюда, наверное, слегка мрачноватые шутки на фоне неоправданного и тщательно скрываемого оптимизма.

Это не первый русскоязычный картографический подкаст. Два года назад прервались еженедельные выпуски передачи про OpenStreetMap, «Радио OSM». Когда её запускали, типичным подкастом было «Радио-Т»: несколько друзей два часа обсуждают новости. Довольно унылый формат, замена блогам для ленивых авторов. За два с половиной года, как я записывал этот подкаст вместе с десятками соведущих из OSM, я ни разу не послушал ни выпуска других подкастов: было неинтересно. Как и со сбором данных для карты, интереснее было записывать: из дома, с балкона пляжного домика в Греции, из гостиницы перед конференцией или из латвийского леса с комарами.

Но формат не стоял на месте эти годы. Когда в январе перед FOSDEM 2019 я послушал в дороге «Heavyweight», я немного офигел: качественное оформление, захватывающая история, эмоциональная подача. Ощущение было как от просмотра хорошего фильма. Но в отличие от других форматов, особенно от книг, подкасты очень удобны в дороге: не портят глаза, позволяют есть или смотреть в окно, имеют предсказуемую длительность. Вместе с восхождением сериалов, на новый уровень качества вышли подкасты, и теперь не слушать их довольно странно — так же, как не читать книг.

Прослушав десяток передач на разные темы, мы поняли, что среди тем не хватает картографии. То есть, на английском языке уже выходят два подкаста: The Mappyist Hour, в котором ровно год двое ведущих болтают на отвлечённые темы и звонят гостям (но их плохо слышно). И нестареющий VerySpatial, которому примерно столько же лет, сколько OpenStreetMap. Последний хорош, но русскому человеку может быть непросто слушать английскую речь: Google Translate на звуковой файл не натравишь, да и темы в подкасте нередко слишком коммерческие.

Теперь у нас есть приличный подкаст и на русском языке. «Картопокалипсис» выходит раз в две недели, следующий выпуск ждём 12-13 апреля. Подписывайтесь на него в iTunes, Castbox (лучшее приложение для Android), Overcast (приличное для iOS), либо скормите ссылку на RSS вашему плееру. У нас есть план на ближайшие пару месяцев, но мы будем рады предложениям тем и отзывам на опубликованные выпуски. Пишите их в iTunes, Castbox или в телеграм-группу @ruosm.

2019   pr   подкаст

Под гнётом меритократии

Долгое время мы считали, что в OpenStreetMap меритократия. Сегодня уже понятно, что властью в проекте обладают скорее те, кто в нём дольше: жест Стива Коста (ушёл в 2012 году) был беспрецедентным. И что меритократия — такой же миф, как «здравый смысл» или предрасположенность мужчин к математике. Восьмимартовская статья в Aeon объясняет это коротко и доходчиво.

Начинают они с того, что поверье (у 70% населения, по опросам), будто усилия приводят к процветанию, — полное заблуждение и не подтверждается практикой. При этом, заблуждаются обе стороны: бедные считают, что если бы они чуть меньше ленились и взяли, например, побольше задач, то сразу же разбогатели бы. А богатые — что они всего добились собственными умом и упорством. Разумеется, это не так, иначе бы петербуржские академики не продавали свои книжки в переходах, а миллионы на благотворительность жертвовал бы не Билл Гейтс, а программисты поспособнее.

К богатству ведёт не труд, а сочетание начальных условий (родиться в богатой семье лучше, чем в бедной; в Америке — лучше, чем в Польше), предрасположенности к предпринимательству, воспитания и, конечно, удачи. Сто программистов могут придумать алгоритм, но только один продаст его условному фейсбуку — и не потому, что он самый умный. Множество талантливых и упорных людей собирают вам айфоны на китайских фабриках.

Хуже того, продолжает Клифтон Марк, научные исследования показывают, что вера в меритократию откровенно вредит. Люди, убеждённые в ней, ведут себя более эгоистично, менее самокритично и допускают дискриминацию по любым признакам. Например, есть известная игра «ультиматум», когда есть условные 100$ и одному человеку нужно предложить второму такую долю, чтобы он или она согласились. Обычно первый предлагает 40-50$. Но если перед этим с ним или с ней сыграть в другую игру, убеждающую в уме или усидчивости, то вне зависимости от результата, в «ультиматуме» этот игрок предлагает другому меньшую сумму. Второй игрок, если не проходил аналогичную «подготовку», был готов на неё согласиться.

Многие успешные люди не считают свои деньги и статус следствием удачи. Интересно, что если про неё напомнить, у них повышается вероятность пожертвований и в целом щедрых жестов, хотя обычно они таким людям не свойственны. Когда в компаниях провозглашают следование принципам меритократии, возрастает зарплатное неравенство между людьми разных полов или рас. Игнорируют меритократию — разница исчезает. То есть, принцип, который как будто должен устранить неравенство и воздать каждому по заслугам, приводит ровно к противоположному результату.

Сообщество OpenStreetMap взращивалось на принципах меритократии, do-ocracy: они работали, когда этим сообществом была группа друзей (технари мужского пола из Западной Европы). Когда мы все присоединялись лет десять назад, мы верили: трудись — и сможешь влиять на проект. Теперь ежу понятно, что проектом рулят только те, кто успел войти в него до 2008 года и разделить ценности создателей. Только решив эту проблему, сменив политический строй, OpenStreetMap сможет повернуться лицом к пользователям и перейти на следующий уровень качества.

Ранее Ctrl + ↓