Позднее Ctrl + ↑

Прощай, Mapbox, и удачи

Иллюстрация с сайта библиотеки react-map-gl © Urbica

Mapbox вчера выпустил вторую версию своей библиотеки для векторных карт GL JS. С одной стороны, выглядит круто: трёхмерный ландшафт, небо, свободная камера, и всё стало в полтора раза быстрее. С другой — и это всколыхнуло твитер — новая версия выбросила открытую лицензию BSD, и каждое использование библиотеки теперь идёт через кассу. Код можно смотреть, но нельзя копировать.

Последнюю свободную версию Mapbox GL JS 1.13 немедленно форкнули тысячу раз. Главной ветвью будет MapLibre GL, которая объединила Юру Астрахана из Elastic, Klokan Tech, Stadia Maps, MapTiler, Where Group и других. Благодаря Люку из Stadia, мы избежали раздробления сообщества, собрали руководящую группу и даже набросали меморандум. Самое время переименовать зависимости в модулях npm и следить за новым проектом.

Есть и альтернативы: например, легендарный ГИС-комбайн OpenLayers (уже шестой версии!) умеет показывать векторные тайлы, правда, без WebGL. В твитере и Hacker News советуют попробовать:

  • Tangram — библиотека от Mapzen, 2D и 3D карты как плагин для Leaflet. То есть, привычный обвес на javascript и управление слоями и отображением через файл yaml. Её дополняет Tangram ES для того же самого, но на C++.
  • CesiumJS — гигантская библиотека, чтобы нарисовать глобус с объёмными модельками на нём. Написал бы больше, но их сайт не разрешает доступ из Беларуси.
  • Deck.gl — для визуализации огромных наборов данных на карте. От Uber, для которых гео — не главное направление бизнеса, поэтому не закроют.
  • Harp.gl — примерно то же от Here, чуть медленнее и неудобнее.
  • Procedural GL JS — простые 3D-карты из рельефа на основе Three.js.
  • WhirlyGlobe — на замену закрытого полгода назад Mapbox GL Native, SDK для айфонов и андроидов.

Или забить и вернуться к старому надёжному Leaflet: спасибо Ивану, Андрею и другим, что бесконечно полируют и обновляют эту библиотеку. В отличие от древнего форка от Mapbox, который удобнее для быстрого старта, но мёртв уже полтора года.

Есть ощущение провала: такую популярную библиотеку спрятали под пейволл. На основе GL JS выстроены многие другие открытые проекты, и их владельцы сейчас чешут репу. Но это ощущение непросто обосновать: люди оперативно организовали поддержку, смерть от смены технологий библиотеке не грозит, всё штатно. Mapbox как будто запустил новую библиотеку B2B, которую все забудут через неделю, как забыли Vision SDK. Как мы раньше ушли на OpenMapTiles и Kosmtik, так и теперь в этот стек векторных тайлов добавим MapLibre GL, поблагодарив Mapbox за шесть лет поддержки.

Фрагмент старой страницы сайта Mapbox

Эту заметку я хотел написать в духе «смотрите, какие Mapbox плохиши» со ссылками на Mapnik, OSRM, TileMill, Studio Classic, iD, GL Native. Но если серьёзно, они закрыли всего ничего, какие-то большие проекты, которые либо перестали быть актуальными, либо имеют хорошие альтернативы. При этом, как замечают Брэндон Лиу и Владимир Агафонкин на Hacker News, эти большие проекты построены из десятков, если не сотен, маленьких, которые были и будут открытыми. Именно в них главные инженерные достижения, которые стоит брать и переиспользовать.

Откуда же ощущение? Может быть, из-за OpenStreetMap? Компания Mapbox начиналась как осмерская и они наняли толпу разработчиков, близких к проекту. Затем они догадались, что в OSM денег нет, а есть в конкуренции сервисами с Google Maps. Закрыли всю непрофильную разработку и стали околоосмерской: поддерживали пару библиотек, помогали снимками, но не закладывались. Mapbox GL JS был какой-то тонкой, последней связью с сообществом открытой картографии. И теперь её оборвали.

Компания Mapbox так далеко ушла от нашего проекта, что теперь даже Apple и Facebook искушённее в OpenStreetMap, тратят на него больше денег и получают более впечатляющий и более открытый результат — см., например, Daylight Map Distribution. Можно сказать, что эпоха Mapbox как открытой компании вчера завершилась. Остались только щепки из отличных технических библиотечек — ничего особенного, у каждой организации такие летят. Разве что эти чаще касаются картографии.

Пол Рамси копнул чуть глубже в это ощущение конца. Вчерашнее событие было предсказуемо почти для каждого: когда в открытом проекте участвуют почти исключительно сотрудники одной и той же компании, ничего хорошего не жди. Однако главный нюанс с Mapbox в том, что эта компания — главный конкурент Google Maps на поле открытых технологий. И если компания больше не может поддерживать былую оперсорсную удаль, то это может быть грустным сигналом насчёт финансирования и торжества проприетарных карт. Пожелаем удачи в борьбе.

2020   javascript   mapbox

Как спиратить планету

Две недели назад появился новый способ скачать огромные (от полусотни гигабайт) файлы планеты: через торренты. Все файлы в каталогах planet и pbf — выгрузки в bzip2 и pbf, полная история и пакеты правок — сопровождаются ссылками на файлы torrent, которые легко открыть в µTorrent или Transmission. Советую забыть про прямые ссылки и качать планету только так.

Хотя торренты ассоциируются с пиратством, их используют ещё и для распространения крупных файлов: например, дистрибутивов Linux. В отличие от обычного скачивания с сайта, через торренты вы загружаете файл сразу с нескольких источников — среди них зачастую даже нет исходного. То есть, ваш файл планеты будет скачиваться с компьютеров тех, кто уже его скачал, а серверы OSM освободятся. Учитывая пропускную способность серверных каналов и нередкие ограничения трафика, скачивать через торренты обычно быстрее, чем напрямую.

Сайт planet.osm.org встречает предупреждением, что скорость ограничена четырьмя мегабайтами в секунду: скачивание планеты в pbf должно занять четыре часа. На практике — дольше: запросы на крупные файлы отправляются на вспомогательный сервер gwdg.de. В эксперименте он отдавал файл на 100-300 килобайтах в секунду, так что расчётное время скачивания превышало двое суток. Впору поискать пиратку.

Кристиан Квест из французского OSM занялся торрентизацией планеты в январе этого года. Как он объяснил в анонсе, файл торрента создаётся через пару часов после публикации планеты, и затем данные раскладываются по нескольким серверам. Также подключается функция web seed, доступная в некоторых клиентах, с помощью которой исходные файлы тоже становятся частью сети. Всё это позволяет скачать планету за полчаса — а через пару дней, когда скачавших прибывает, можно управиться и за 15 минут.

Ограничение скорости на нашем сервере ввели в том же январе. Причиной была узость канала: всего гигабит в секунду. Обычные 30-60 одновременных скачиваний планеты забивали его так, что начинали сыпаться другие сервисы, включая DNS и API. Тогда скорость порезали до 400 кБ/с, а в феврале, когда канал расширили до десяти гигабит, ограничение ослабили. Но проблема с тысячью скачивавших каждый файл планеты сразу после его публикации (четверть из них — в формате bz2) осталась: зачем, когда есть диффы? И как ослабить нагрузку на сервер, чтобы не мешать нормальным людям?

Чтобы не зависеть от французского сервера и ускорить создание торрента, весь процесс нужно было перенести на сервер OSMF. Этим Грант Слейтер занимался с августа. Оказалось, что торренты делал ещё и Матия Налис из Хорватии: его скрипты легли в основу официальных. 23 ноября торренты появились в списке файлов сервера, и несколько дней спустя они охватили и дампы с полной историей. Теперь пора и нам переключиться на скачивание торрентов вместо прямых ссылок.

Как видно, инфраструктура OSM не стоит на месте: новые технологии, пусть и с десятилетней задержкой, приходят на наши серверы. Что дальше? Репликация. Диффы сейчас создаются программой Osmosis. Два года назад её автор Бретт заявил, что хватит с него, программе 11 лет и есть другие варианты. Обновлять базу теперь можно с PyOsmium (пример для тайлов), а вот создавать диффы из живой базы — увы. Osmosis использовал какую-то устаревшую магию, заменить которую безуспешно пытаются с 2017 года. Но решение, кажется, появилось: Йохен Топф летом написал замену, и две недели назад началось тестирование новых диффов. Когда основные ошибки отловят, Osmosis окончательно выкинут с серверов. Пока же Майк Мигурски подхватил его поддержку и время от времени выпускает заплатки.

Онлайн-схемотехника

Как можно догадаться из картинки, «Схемотехника» возвращается! Казалось, вирус не оставляет шансов, как и отсутствие организаторов в Москве, но смотри-ка: проблемы оборачиваются возможностями. Конференции переходят в онлайн, ехать больше никуда не нужно. Люди находят новые форматы, и теперь такие мероприятия — не только пассивный просмотр роликов. Оказалось, онлайн-встречу можно провести нескучно. Тут-то и врывается «Схемотехника».

Она строится вокруг выступлений, как обычно. Это конференция про открытые геоданные и их практическое применение. Поэтому свои истории расскажут осмеры, дизайнеры, продуктовые менеджеры и географы. Выступления на любой вкус: про плиточные карты в телеэфире, особенности тегирования в OSM и вытаскивание метаданных с дрона за $500. Главное — что каждого докладчика можно будет обложить вопросами в кулуарах. Это вам не ютуб!

В 16:00 субботы 28 ноября начнётся наша встреча. Мы не только послушаем несколько десятиминутных выступлений, но и поговорим друг с другом. Благодаря компании Greenpeace и её сотрудникам, у нас есть платформа и идеи по её использованию. Готовьтесь увидеться со знакомыми, которых не слышали с прошлого года. Регистрируйтесь скорее, чтобы получить доступ в комнаты для общения, и расчистите вечер субботы в календаре.

Куда уходят деньги

Только вчера прочитал заметку «Коррупция и OpenStreetMap» Кристофа Хорманна, в которой он пеняет OSMF на неработающие регулирования конфликтов интересов и вновь растущую непрозрачность Совета. Непонятно, как эти проблемы решать, если в OSM всем управляет пара десятков человек, дружных между собой.

Вот, например, микрогранты. В июле комиссия выбрала 12 проектов, которые получили до пять тысяч евро. Среди них — картирование 15 новых городов в Уганде и деревень в Косово. Был ли тут конфликт интересов, или как его называли раньше, коррупция? Кто знает — тема вообще не всплывала в заметках с совещаний. Зато в рабочей группе мы видим человека из Уганды и пару участников, заинтересованных в картировании деревень Восточной Европы.

С технологическими проектами тоже не всё понятно. Грант получило только одно приложение: StreetComplete. Два, если считать календарь событий. Оба написаны немцами с именем на «Т». Неудивительно: большую часть инфраструктуры у нас пишут люди из Германии и Великобритании, какой смысл поддерживать кого-то извне? Неважно, насколько прорывным выглядит проект (посмотрите только на демку редактора от SviMik), главное — чтобы он уже был лидером в своей нише. StreetComplete — самое популярное среди пользователей некоммерческое мобильное приложение про OSM. Неделю назад его автор получил ещё один грант от немецкого фонда на шестимесячную разработку, легко затмевающий деньги от OSMF.

Ну с грантами понятно: написать заявку, которая понравится комитету на 83% из Западной Европы и США, проще всего человеку из тех же регионов — 6 из 12 принятых заявок оттуда. Первый блин всегда не без проблем. К следующему разу и условия объявят заранее, а не после прочтения списка, и команду выберут не из тех, кому не лениво (т. е. у кого есть свободное время, не нужно тратить его на зарабатывание денег, т. е. из Западной Европы и США), а кто реально сведущ. Всё будет хорошо.

Интересно, что произошло потом. В августе Совет вынес на обсуждение оплату разработки трёх инфраструктурных проектов, которым не перепало грантов: Nominatim, osm2pgsql и Potlatch 2. После непродолжительного обсуждения резолюцию приняли. Не важно, что потлатчем пользуются примерно столько же людей, сколько Go Map, несмотря на то, что его пиарят на главной osm.org, а мобильные редакторы  — нет. Не важно, что для первых двух проектов даже не понятно, на что вообще пойдут деньги, как замечает Фредерик. Или что их пишут одни и те же люди. Главное — что все три проекта инфраструктурные. То есть, написаны людьми из Германии и Великобритании, лучше других по принципу первого (авторы знакомы со Стивом и пришли в проект в числе первых) и по принципу, что все три человека дружны между собой и с участниками Совета.

Впрочем, это небольшие деньги. Не важно, ведь главное — жест. Если OSMF начал поддерживать проекты от друзей, то в будущем, может, деньги перепадут и проектам из раздела «инновации» Премии OSM. В будущем, где члены Совета не 100% белые мужчины из Северной Америки и Западной Европы, деньги начнут идти людям, не разделяющим привилегированную культуру.

На фоне этой движухи Совет совершил одно действительно важное вложение: главный редактор OSM, iD, больше не в лапах Mapbox или неуправляемых разработчиков. В августе Совет единогласно согласился нанять Квинси Моргана, главного разработчика iD, на постоянную позицию за 130 тысяч долларов в год, из которых половину оплатят сторонние организации (HOT, OSM US, Mapbox).

Это круто, потому что в отличие от всех вышеперечисленных, Квинси знает, что делает. Он написал подробное обоснование с двумя дюжинами ссылок. У него есть план, включающий третью версию, поддержку всех устройств и развитие экосистемы. Редактор был предметом споров в сообществе, и с 11 сентября Квинси формально подотчётен OSMF. Наконец, iD — единственный редактор, который стоит поддерживать: его альтернативу JOSM совместно тянут десятки разработчиков, а остальные и не нужны.

Квинси — далеко не последний наёмный работник в OSMF. Совет летом принял принципы найма и хочет нанять ещё одного сотрудника: тот будет работать над серверной инфраструктурой, повышая её скорость и надёжность. На эту позицию планируют тратить до 130 тысяч в год. Тысяч фунтов стерлингов, которые в 1,3 раза дороже доллара. Требования к позиции жёсткие, даже Том с Грантом не пройдут. Но не спешите слать заявки: в августовском протоколе заседания пишут, что кого-то уже нашли, но кого — пока секрет. Непрозрачность и большие деньги нынче в Фонде OpenStreetMap.

Конец SVN

На прошлой неделе SVN-репозиторий кода OpenStreetMap перевели в режим «только чтение». Чуть раньше то же сделали с Trac, системой управления задачами и онлайн-интерфейсом к коду. Оба сервиса давно устарели, разработка давно перешла в Git. Кроме JMapViewer и модулей для JOSM, которые переехали на собственный сервер.

Trac и SVN — это концентрированная история нашего проекта. Там можно посмотреть на первый код Стива Коста от августа 2004 года, когда он начал строить API на языке Java (потом всё переписали, конечно). В репозитории можно найти Osmarender и Tiles@Home, Gosmore, Yours, зачатки Mapnik и Nominatim, Potlatch 1, форк JOSM без инструментов, старый Java-аплет и много маленьких полезных скриптов для импорта и работы с данными. Большинство проектов переехали на GitHub. Ничто, кроме модулей JOSM, не обновлялось с 2018 года. Тикеты в Trac тоже перестали появляться полтора года назад, теперь их только закрывают.

Несмотря на медленный поток новый версий, и Trac, и SVN для современных разработчиков мертвы. Их успешно заменяют GitHub, GitLab или Bitbucket. Последняя версия Ubuntu, на которую сейчас переводят серверы OSM, вообще исключила Trac из репозиториев, отчасти потому, что тот требует устаревшего Python 2.7. Проекты OSGeo, когда-то все на Trac, переходят на GitHub или Gitea. Неудивительно, что в мае рабочая группа OWG решила отключить эти сервисы, оставив для истории их замороженные слепки.

Что делать разработчикам модулей для JOSM, которые пользовались SVN: зайти в каталог репозитория и ввести svn relocate со ссылкой из этой страницы. Дальше работать как раньше, через svn ci, svn up и тому подобное. В ближайшие годы JOSM не слезет с SVN, пусть код уже зеркалируется на GitHub. Но учить эту систему не обязательно: новые модули можно разрабатывать в GitHub или в GitLab. Достаточно создать проект в группе JOSM и добавить ссылку на собранный jar-файл в этот список.

Это не последнее изменение, запланированное OWG. Когда-нибудь случится ещё одно, которое затронет всех без исключения активных участников проекта. Форум, почтовые рассылки и справочную систему собираются объединить на движке Discourse. Потому что нынешний движок старый и неудобный, а форумы на discourse даже выглядят приятно: например, форум смоленских байкеров. Айан Диз уже смог импортировать базу форума на новый движок и сейчас исследует, как перенести учётные записи пользователей.

2020   josm   osm.org
Ранее Ctrl + ↓

Мнения, высказанные на этом сайте, отражают точку зрения лично автора сайта и ничью больше: ни его бывших или настоящих работодателей, ни семьи и знакомых.