{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "ШТОСМ: заметки с тегом osm.org",
    "_rss_description": "http:\/\/openstreetmap.org",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/shtosm.ru\/tags\/osm-org\/",
    "feed_url": "https:\/\/shtosm.ru\/tags\/osm-org\/json\/",
    "icon": false,
    "author": {
        "name": "Илья Зверев",
        "url": "https:\/\/shtosm.ru\/",
        "avatar": false
    },
    "items": [
        {
            "id": "1576",
            "url": "https:\/\/shtosm.ru\/all\/resist\/",
            "title": "Сумерки OpenStreetMap",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/osm_darkmode.jpg\" width=\"1476\" height=\"632\" alt=\"\" \/>\n<\/div>\n<p>В середине ноября на глагне добавили ночной режим. Когда браузер считает, что на улице темно, он передаёт это сайту, а тот заменяет белую заливку на чёрную, и в целом пытается не выжечь глаза пользователю. Есть люди, которые живут с тёмной темой день и ночь (чтобы не слишком освещать свой подвал), и для них это изменение оказалось самым заметным за последние годы.<\/p>\n<p>Любое движение на «лице проекта», сайте openstreetmap.org, широко обсуждается: ведь каждая кнопка важна, наличие или отсутствие чего-либо описывает наше сообщество лучше, чем очередное интервью со Стивом Костом. Так и тёмная тема: <a href=\"https:\/\/community.openstreetmap.org\/t\/openstreetmap-in-dark-mode\/119216\">в сентябре<\/a> её просили, но получив желаемое, <a href=\"https:\/\/community.openstreetmap.org\/t\/workarounds-for-the-dimmed-maps-on-osm-org\/121872\">ищут способы откатить<\/a>.<\/p>\n<p>Затенённые тайлы — главная проблема. Именно на них жалуются в <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/issues\/2332#issuecomment-2477461355\">тикете github<\/a>.  На <a href=\"https:\/\/www.reddit.com\/r\/openstreetmap\/comments\/1grclfo\/osm_dark_mode_ff_and_chrome\/\">reddit<\/a> делились способами их отключения. Недавно в настройки сайта, всё-таки, добавили <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/5362\">отдельный переключатель<\/a>. Действительно, это довольно странное решение — но разумный компромисс, если подходить к вопросу с точки зрения дизайна. Традиционный способ, инвертировать цвета и <a href=\"https:\/\/stamen.com\/more-ways-to-make-your-maps-go-dark-mode\/\">повернуть палитру<\/a> на 180°, работает. Но он <a href=\"https:\/\/monochrome.sutic.nu\/2024\/02\/25\/hue-preserving-invert-css-filter-for-dark-mode.html\">не идеален<\/a>: цвета становятся темнее, чем нужно, и хочется что-то подправить.<\/p>\n<p>Правильным было бы создать палитру с нуля. Каждый оттенок на карте — плод <a href=\"https:\/\/imagico.de\/blog\/en\/more-on-vegetation-rendering-in-openstreetmap-maps\/\">размышления<\/a> картографа, цвета влияют и взаимодействуют с друг другом, важен контраст, яркость, различимость для слабовидящих. Простое инвертирование забивает на все эти нюансы, делая карту, которая практической цели достигает, но эстетически — будто AI-картинки, на которые невозможно смотреть, если есть какой-то художественный вкус. Поэтому организации отдельно работают над ночным оформлением, и именно это <a href=\"https:\/\/github.com\/gravitystorm\/openstreetmap-carto\/issues\/4412\">предлагали<\/a> для стиля osm-carto. К сожалению, у нас нет столько добровольцев, чтобы вместо одного стиля поддерживать два.<\/p>\n<p>Да и остальному интерфейсу глагне помогло бы более кропотливое перекрашивание для ночного режима. Как видно даже на заглавной картинке, яркие значки и кнопки остаются яркими, цвета необычных элементов интерфейса (например, границ пакетов правок) неприятно выделяются на приглушённом фоне. Но — это много работы, и это двойная работа для всех последующих изменений сайта. Поэтому ночные темы в интернете не так распространены. Но хорошо, что наш сайт начал хоть как-то заботиться о наших глазах.<\/p>\n<p>История с ночной темой интересна тремя обстоятельствами, которые мы рассмотрим в трёх следующих разделах. Потому что в прошлом году произошло много чего, ускользнувшего из поля зрения штосма.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/become_maintainer.jpg\" width=\"1500\" height=\"642\" alt=\"\" \/>\n<\/div>\n<h2>Мейнтейнеры<\/h2>\n<p>Сам <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/4761\">пул-реквест<\/a> для ночной темы состоит из всего одной строчки ( плюс ещё десяток для починки мелочей, типа кнопки закрытия панели). Он стал возможен благодаря <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/2452\">пяти годам<\/a> непрерывной работы Энди Аллана, переводившего оформление сайта на Bootstrap. Поэтому не пришлось думать над цветами и править компоненты — обо всём уже подумали сотни разработчиков фреймворка.<\/p>\n<p>Написал и помёржил ночной режим новый мейнтейнер сайта, <a href=\"https:\/\/www.openstreetmap.org\/user\/Anton%20Khorev\">Антон Хорев<\/a> из Петербурга. О нём мало чего известно вне OSM, но в проекте он делает немало. Прежде всего, он участник рабочей группы по данным с 2019 года, составляет компанию другому русскоязычному участнику, <a href=\"https:\/\/t.me\/shtosm\/333\">Владимиру «Mavl»<\/a>. В 2018 году он написал четыре восхитительно дотошные статьи про картирование заведений, но и остальные 19 заметок <a href=\"https:\/\/www.openstreetmap.org\/user\/Anton%20Khorev\/diary\">его дневника в OSM<\/a> так же вдумчивы и полны практических наблюдений. Его <a href=\"https:\/\/antonkhorev.github.io\/osm-note-viewer\/\">смотрелкой заметок<\/a> пользуются все, кому не безразличны незакрытые заметки в своём городе.<\/p>\n<p>Антон начал валить пул-реквесты в код сайта с лета 2022 года, и до сих пор невероятно плодовит, создаёт их по десятку в неделю. Если заглянуть в историю, там много черновиков, незакрытых реквестов, споров — но Антону всё нипочём, он просто продолжает создавать новые. Тут поменять шрифт, там поправить отображение на телефонах, здесь оптимизировать код. Из 157 открытых сейчас реквестов больше половины — его. Только летом 2024 Энди <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/commit\/a9517763724c2ba07ca946e415ebfe81652691c0\">сообразил<\/a>, что пора вписать Антона в список мейнтейнеров.<\/p>\n<p>Так что хотя кажется, что сайт OpenStreetMap не меняется годами, внутри происходит постоянное бурление, что-то меняется местами, что-то становится чище или удобнее. В октябре Энди транскрибировал свой рассказ с лондонской конференции про <a href=\"https:\/\/www.gravitystorm.co.uk\/blog\/2024\/10\/19\/maintaining-openstreetmap-lrug\/\">опыт работы над сайтом<\/a> — из него можно многое узнать про проблемы переводов и безопасного вывода HTML.<\/p>\n<p>Но ощущение, что ничего не происходит, не безосновательно. Как только кто-то (даже мейнтейнер) хочет поменять что-то по-крупному, как Том, бессменный вахтёр сайта с 2007 года, отказывается во всё это вникать и затягивает обсуждения до бесконечности. Ещё во времена maps.me я делал несколько пул-реквестов, но все по тем или иным причинам закрывали. Либо Том вручную переписывал код и коммитил сам — одна из <a href=\"https:\/\/news.ycombinator.com\/item?id=31225599\">порицаемых практик<\/a> в открытых проектах. Я забил на сайт, ещё десятки людей ушли точно так же. Остались те, кто вместо качественного осовременивания сайта и ответа на множество вопросов вида «что сайт говорит о сообществе» вылизывают код и исправляют форматирование HTML. Если рефакторинг длится пять лет, а похвастаться нечем, — то зачем вообще?<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/betterosm.png\" width=\"1289\" height=\"552\" alt=\"\" \/>\n<\/div>\n<h2>Надстройки<\/h2>\n<p>Куда уходят разработчики? Вернёмся к ночной теме: до ноября сайт затемняли с помощью <a href=\"https:\/\/community.openstreetmap.org\/t\/openstreetmap-in-dark-mode\/119216\/3\">надстроек браузера<\/a>. Пользовательские скрипты и расширения браузера, для которых не требуется санкции авторов сайтов, — отличный способ добавить что-то небольшое быстро, без длинных обсуждений, которые рискуют зайти в никуда. Например, участники народной карты Яндекса именно <a href=\"https:\/\/yandex.ru\/blog\/narod-karta\/nmaps-tweaks-skript-dlya-narodnoy-karty\">любительским расширением<\/a> упрощали себе редактирование карты.<\/p>\n<p>Для OSM скриптов немного, но все они подсвечивают недостатки самого сайта. Например, <a href=\"https:\/\/github.com\/tankaru\/OpenSwitchMaps\">OpenSwitchMaps<\/a>: добавляет кнопку со ссылками на другие карты, геопорталы, два десятка osm-инструментов и прочее, вплоть до запуска редакторов. Можно ли что-то из этого добавить официальным путём? Ну, редактор Rapid под кнопку «править» пытаются добавить <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/issues\/2708\">с 2020 года<\/a>, и как-то не очень. Как я <a href=\"https:\/\/2024.stateofthemap.org\/sessions\/SC7HYF\/\">вещал<\/a> на SotM в Кении, философия OSM предполагает, что всю нужную функциональность воплощают в отдельных проектах, но при этом мейнтейнеры предпочитают не размещать на сайте ссылок ни на что постороннее.<\/p>\n<p>Или помните <a href=\"https:\/\/shtosm.ru\/all\/samy-bystry-redaktor\/\">редактор тегов<\/a>, который встраивается в страницу объекта на osm.org? Элементарно воплощается в Rails Port и без хаков, потребовавшихся для расширения браузера. Но пройдёт ли такой редактор через забор мейнтейнеров? Опыт участия не даёт даже желания проверять. 119 пользователей в прошлом году, 18 тысяч правок, но только один человек, чьё мнение имеет силу.<\/p>\n<p>Самое впечатляющее расширение последний год пишет Роман Деев. Его <a href=\"https:\/\/github.com\/deevroman\/better-osm-org\">better-osm-org<\/a> добавил пункт «Edit with Rapid» в меню правки, который меня озадачил, и я двадцать минут искал коммит в коде сайта. Он делает списки компактнее, рисует геометрию на странице пакета правок, показывает, какие теги изменились в истории, даже прокидывает лайки из OSMCha. Всё это в картинках описано в <a href=\"https:\/\/www.openstreetmap.org\/user\/TrickyFoxy\/diary\">дневничке Романа<\/a>. Сотни мелких улучшений: с этим расширением для картографов появился смысл заходить на глагне!<\/p>\n<p>Можно ли эти мелочи было встраивать сразу в код сайта? Конечно — но пришлось бы не только договариваться (или два года делать пул-реквесты каждый день, чтобы втереться в доверие), но и изучить, для начала, архитектуру проекта на Ruby on Rails. <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/dev\/2007-April\/003993.html\">18<\/a> лет назад этот фреймворк был новым и модным, но сейчас разработчиков на нём <a href=\"https:\/\/survey.stackoverflow.co\/2024\/technology#most-popular-technologies-language-prof\">ещё поискать<\/a>. Поэтому люди предпочитают более распространённые JavaScript (на котором и пишут браузерные расширения) или Python.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/osmng-mmd.png\" width=\"1047\" height=\"449\" alt=\"\" \/>\n<\/div>\n<h2>Новое поколение<\/h2>\n<p>Альтернативная глагне ночной режим <a href=\"https:\/\/github.com\/openstreetmap-ng\/openstreetmap-ng\/issues\/137\">пока не поддерживает<\/a>, и это единственная строчка в её публичном плане. Кнопка для редактирования в Rapid на ней уже есть.<\/p>\n<p>Секунду, альтернативная? Если вы пропустили, Камиль Монич (<a href=\"https:\/\/shtosm.ru\/all\/openstreetmap-atakuyut\/\">тот самый<\/a> NorthCrab) уже чуть больше года почти в одиночку <a href=\"https:\/\/community.openstreetmap.org\/t\/the-next-generation-of-openstreetmap-in-python\/105621\">переписывает<\/a> весь бэкенд OpenStreetMap на Python. Да. Весь. 50 тысяч строк <a href=\"https:\/\/github.com\/openstreetmap-ng\/openstreetmap-ng\">кода<\/a> сейчас, демо-сайт откроет со дня на день.<\/p>\n<p>Проект <a href=\"https:\/\/osm.ng\/\">OpenStreetMap NextGen<\/a> задуман заменить всю нынешнюю гору кода: Rails Port, CGIMap и разрозненные скрипты экспорта-импорта. Если выгорит, для участия в разработке не нужно будет знать минимум три древних языка: достаточно двух самых популярных на планете, Python с известными библиотеками FastAPI и SQLAlchemy, и JavaScript. Казалось бы, как этот банальный стек может сравниться с отточенным за 18 лет кодом, тем более с C++? Камиль парирует — большую часть времени код всё равно ждёт ответа PostgreSQL. И как заметил Пол Норман, Rails Port бы справился без C++, но запросы в Ruby <a href=\"https:\/\/community.openstreetmap.org\/t\/the-next-generation-of-openstreetmap-in-python\/105621\/21\">заметно устарели<\/a>, потому что на них забили в пользу CGIMap.<\/p>\n<p>Год назад люди — да и я в их числе — были настроены скептично. У нас у всех есть отрицательный опыт, когда приходишь с горчщими глазами и пуленепробиваемой идеей сделать жизнь всех осмеров лучше, а тебя на подлёте сбивает кто-нибудь из «старичков». Начать что-то на стороне безопаснее, потому что никто не закроет пул-реквест. Как <a href=\"https:\/\/community.openstreetmap.org\/t\/the-next-generation-of-openstreetmap-in-python\/105621\/52\">сказал Matija Nalis<\/a>, для нас это сродни получению бесплатной коробки лотерейных билетов: да, шансы выиграть всё равно микроскопические, но коробка-то бесплатна, почему бы не попробовать? Обсуждение вообще получилось неожиданно оптимистичным: не считая пары «старичков», все поддерживают Камиля и ждут результата.<\/p>\n<p>Спустя год и три месяца после анонса, скорость разработки <a href=\"https:\/\/github.com\/openstreetmap-ng\/openstreetmap-ng\/graphs\/contributors\">не снижается<\/a>. Камиль каждый месяц хвастается <a href=\"https:\/\/www.openstreetmap.org\/user\/NorthCrab\/diary\">новыми возможностями<\/a> движка, которые напоминают то об API 0.7, то о расширении better-osm-org Романа. Roadmap несколько раз переписан, дата публикации демо-сервера откладывалась с прошлого февраля на май, затем позже и позже, и вот теперь как будто осталось доделать ночную тему — и всё. Ух, предвкушение!<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/sovereign_key.png\" width=\"1143\" height=\"329\" alt=\"\" \/>\n<\/div>\n<h2>Деньги<\/h2>\n<p>Первого января фонд NLNet внезапно объявил полсотни получателей грантов NGI Zero, среди них — <a href=\"https:\/\/nlnet.nl\/project\/OpenStreetMap-NG\/\">OpenStreetMap-NG<\/a>. Никто не знает, на какие деньги Камиль жил весь прошлый год (пожертвования он распределял между остальными разработчиками), но теперь его точно ничто не остановит.<\/p>\n<p>Это означает, что где-то через полгода-год в OSM-NG загрузят все 14 терабайт базы данных (большую часть которой засунут в <a href=\"https:\/\/www.openstreetmap.org\/user\/NorthCrab\/diary\/403519#comment56771\">единственную таблицу<\/a>). И тогда мы узнаем, реальны ли все эти приросты скорости. Но учитывая запал Камиля, вполне вероятно, что в течение месяцев он всё оптимизирует, и мы встанем перед вопросом, менять ли Тома как главного вахтёра всея осма на Камиля. Зря ли Антон фигачил свои 700 пул-реквестов в Rails Port.<\/p>\n<p>Как ни удивительно, у нас будет человек с мандатом на решение подобных дилемм. Но начать надо с того, что не только OSM-NG получил грант за последний месяц. Сам OSMF удостоился сначала <a href=\"https:\/\/blog.openstreetmap.org\/2024\/12\/19\/meta-contributes-to-178k-eur-to-openstreetmap\/\">178 тысяч евро<\/a> от Meta (2% от их ежегодного членства в Overture Maps), а на следующий день немецкий фонд Sovereign выделил нам вдвое больше, <a href=\"https:\/\/blog.openstreetmap.org\/2024\/12\/20\/sovereign-tech-fund-invests-in-openstreetmap\/\">384 тысячи евро<\/a> на два года. Так что стоны отдельных участников в мастодоне «зачем давать деньги на тупиковый OSM-NG, когда у нас тут OSM недофинансирован» немного необоснованы.<\/p>\n<p>Разумеется, ни на какие неожиданные радости эти деньги не пойдут. Всё <a href=\"https:\/\/t.me\/shtosm\/673\">как обычно<\/a>: конференции и инфраструктура. Необычно то, что второй пункт раскрыли чуть подробнее: «обновление кода по современным стандартам, привлечение разработчиков документацией и тестами, исследования на темы типа вандализма и новых способов работы с данными». И это 1) обнадёживает, хотя и не слишком, вспоминая исследования про модель данных, 2) чудовищно запоздало, 3) один в один цели проекта OSM-NG.<\/p>\n<p>Что в Совете поняли правильно, — сами по себе дела не делаются и нужен человек на зарплате, который будет помогать и направлять разработку. Поэтому на прошлой неделе фонд OSM опубликовал вакансию, первую с 2021 года. До 21 января мы ищем <a href=\"https:\/\/blog.openstreetmap.org\/2025\/01\/07\/apply-to-be-the-osm-core-software-development-facilitator\/\">координатора разработки сайта OSM<\/a> и сопутствующих проектов. Нужен кто-то с опытом управления проектами, кто, в идеале, работал с добровольными участниками, открытым кодом, а то и с сообществом OSM. В идеале. Может, вы знаете кого-нибудь подходящего. Увлекательные задачи и вызовы предоставим.<\/p>\n<p>***<\/p>\n<p>Потянув за ниточку не слишком заметного нововведения на osm.org, мы вытянули историю, которая показывает 2024 год в OpenStreetMap с интересной позиции: оказалось, это был год, когда недовольство руководством центрального сайта OSM вылилось в несколько независимых инициатив по его улучшению в обход обычных пул-реквестов. Надстройка Романа и сайт Камиля не только ломают представление об osm.org как о чём-то неудобном из глубин веков, но и подначивают задуматься: а не будь вахтёры так строги, могли бы мы радоваться новым удобствам сайта и API каждый месяц все эти годы? Стоит ли стабильность сбитых несменяемыми «дедами» разработчиков-осмеров?<\/p>\n<p>Кажется, в этом году мы узнаем, сколько мы потеряли, и какое у сайта OSM будущее по мнению участников и Совета.<\/p>\n",
            "date_published": "2025-01-13T14:56:42+04:00",
            "date_modified": "2025-01-13T14:56:07+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/osm_darkmode.jpg",
            "_date_published_rfc2822": "Mon, 13 Jan 2025 14:56:42 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1576",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/osm_darkmode.jpg",
                    "https:\/\/shtosm.ru\/pictures\/become_maintainer.jpg",
                    "https:\/\/shtosm.ru\/pictures\/betterosm.png",
                    "https:\/\/shtosm.ru\/pictures\/osmng-mmd.png",
                    "https:\/\/shtosm.ru\/pictures\/sovereign_key.png"
                ]
            }
        },
        {
            "id": "1574",
            "url": "https:\/\/shtosm.ru\/all\/oauth-2\/",
            "title": "OAuth 2",
            "content_html": "<p>Как знают немногие осмеры, с 1 июня на сайте openstreetmap <a href=\"https:\/\/blog.openstreetmap.org\/2024\/04\/17\/oauth-1-0a-and-http-basic-auth-shutdown-on-openstreetmap-org\/\">отключили<\/a> аутентификацию по паролю и через OAuth 1.0a.<\/p>\n<p>Первую версию протокола OAuth сайт поддерживал с августа 2009 года, через год добавили поддержку 1.0a (потому что в 1.0 была дыра). Вторую — с августа 2020, так что неудивительно, что десятки сайтов и приложений не спешили на неё перейти. Популярности OAuth 2 не добавляли сложность внедрения, <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/issues\/3613\">проблемы с тестированием<\/a>, меньший уровень безопасности и прочие проблемы из <a href=\"https:\/\/web.archive.org\/web\/20130325140509\/http:\/\/hueniverse.com\/2012\/07\/oauth-2-0-and-the-road-to-hell\/\">статьи Эрана Хэммера<\/a>, главного автора спецификации.<\/p>\n<p>Тем не менее, поддержка трёх способов аутентификации была тяжела для всего трёх человек, поддерживающих сайт, поэтому они составили <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/867\">список приложений<\/a> и начали агитировать их разработчиков перейти на OAuth 2. Все тянули до последнего момента, но потихоньку переключались. Админы дождались публикации новых релизов Organic Maps и медленно вынули вилку из розетки.<\/p>\n<p>Как я писал два года назад, OSM небыстр, но <a href=\"https:\/\/shtosm.ru\/all\/sovremennye-tayly\/\">не статичен<\/a>. Многие сайты работают годами, не поддерживаемые, просто потому что наш проект и наш API стабильнее любых альтернатив. Но этой стабильности тоже есть предел.<\/p>\n<p><a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/RU:Level0\">Level0<\/a> — один из редакторов, автор которого не успел обновить код. Сейчас он не работает: пользуйтесь <a href=\"https:\/\/shtosm.ru\/all\/samy-bystry-redaktor\/\">расширением для браузера<\/a> и ждите. У маленьких редакторов нет поддержки от OSMF, как у iD, или от армии джава-язычных немцев, как у JOSM. Код Level0 был написан десять лет назад на PHP, так что трогать его — себе дороже.<\/p>\n<p>Разработчики open source часто вынуждены посвящать всё своё время работе и семье, что оставляет их собственным проектам считанные часы в неделю. Большие корпорации, чья инфраструктура опирается на работу таких людей, горячо их благодарят и просят писать ещё. Взамен они готовы поставить звёздочку на гитхабе. Как <a href=\"https:\/\/x.com\/bdon\/status\/1796190662624182333\">писал<\/a> Брэндон Лиу, автор Protomaps, «если компания спрашивает, почему в открытом проекте не хватает важной функции, но не готова платить за её написание, то эта функция не так уж и важна». В мире open source разработчиков поддерживают другие open source-разработчики.<\/p>\n<p>Например, компания OpenCage Эда Фрейфогла не только делает один из лучших API для получения метаданных на любую точку планеты (как Nominatim, только лучше). Она также проводит мини-конференции <a href=\"https:\/\/thegeomob.com\/\">Geomob<\/a>, составляет увлекательные <a href=\"https:\/\/blog.opencagedata.com\/geothreads\">треды в mastodon<\/a> и поддерживает финансово <a href=\"https:\/\/opencagedata.com\/about#geo-innovation\">проекты<\/a>, связанные с геокодированием и OpenStreetMap.<\/p>\n<p>Сегодня эти две истории объединились: OpenCage <a href=\"https:\/\/blog.opencagedata.com\/post\/sponsoring-level0\">спонсировала<\/a> перевод Level0 на OAuth 2 в течение этого месяца.<\/p>\n<p>Это означает, что к 1 июля не только код редактора будет обновлён, но он также переедет на новый сервер и получит сертификат SSL для https. После чего единственным браузерным редактором, не требующим JavaScript, снова можно будет пользоваться.<\/p>\n<p>Надеюсь, что для кого-нибудь эта новость стала откровением: «а что, так можно было?» Пожертвования — это хорошо, и молодцы те, кто оформляет регулярные перечисления фондам, газетам, авторам и разработчикам. Но ещё лучше — организационная и институциональная поддержка. В контексте OpenStreetMap помощи можно ждать только от <a href=\"https:\/\/nlnet.nl\/\">фонда NLNet<\/a>, а на OSMF надеяться <a href=\"https:\/\/shtosm.ru\/all\/podarok-proektu\/\">нечего<\/a>, как и на крупных пользователей наших геоданных, типа Meta, Apple, Microsoft и Grab. Но для заметных улучшений многого и не требуется: всегда есть какая-то мелочь, неудобство, до которого у автора просто не доходят руки. И это те случаи, когда средних размеров компания может сделать ощутимый для осмеров вклад. Стоит только открыть метафорическую дверь и осмотреться.<\/p>\n",
            "date_published": "2024-06-11T21:57:39+04:00",
            "date_modified": "2024-06-11T21:57:11+04:00",
            "_date_published_rfc2822": "Tue, 11 Jun 2024 21:57:39 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1574",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1568",
            "url": "https:\/\/shtosm.ru\/all\/tracetrack\/",
            "title": "Внезапная топо-карта",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/tracetrack_style-nq8.png\" width=\"1187\" height=\"509\" alt=\"\" \/>\n<\/div>\n<p>На глагне новый слой карт — впервые с января 2021 (когда туда добавили CyclOSM). Он называется <a href=\"https:\/\/www.openstreetmap.org\/#map=6\/57.073\/30.546&layers=P\">Tracestrack Topo<\/a>, выглядит контрастнее и чище на близких масштабах, но топорно на z11 и дальше, где протекают его истоки из OSM Carto и OpenTopoMap. Из всех стилей на osm.org этот приятнее для глаз и удобнее, если планируешь поход. И он очень быстрый: три сервера для рендеринга и ещё пять кэширующих!<\/p>\n<p>Откуда он взялся — загадка. Для начала, не было ни предупреждений, ни объявлений. Он просто появился. Слоя нет в <a href=\"https:\/\/wiki.openstreetmap.org\/w\/index.php?title=Featured_tile_layers&oldid=2532684\">списке предложений<\/a> на вики — автор добавлял его в декабре и сразу удалил, а с мая Пол Норман вообще очистил все предложения и попросил писать напрямую OWG. Которая не публикует протоколы совещаний с января. Совет OSMF здесь ничего не решал. Короче, процессы в OpenStreetMap понемногу закрываются, в основном из-за непрозрачного OWG.<\/p>\n<p>Автор — Qing Cai из Нидерландов. Это примерно всё, что можно узнать о нём и его компании <a href=\"https:\/\/www.tracestrack.com\/\">Tracestrack<\/a> из одного человека. Публичная история примерно такая:<\/p>\n<ul>\n<li>2015—2019 — интересовался записью и отображением GPS-треков, о чём написал <a href=\"https:\/\/medium.com\/tracestrack\/what-is-traces-341824bdfaab\">пару постов<\/a> в Medium.<\/li>\n<li>2020 — пришёл в OpenStreetMap и начал картировать Китай и улучшать страницы по нему в OSM Wiki.<\/li>\n<li>2021 — создал <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/Tracestrack\">картостиль<\/a> для своего приложения на базе OSM Carto.<\/li>\n<li>2022 — зарегистрировал компанию Tracetrack для продажи тайлов и сфокусировался на ней.<\/li>\n<li>2023 — открыл <a href=\"https:\/\/github.com\/tracestrack\/tracesmap.com\">исходники TracesMap<\/a>, как сообщил <a href=\"https:\/\/weeklyosm.eu\/archives\/16633#wn680_28931\">WeeklyOSM<\/a>, а теперь ещё и добавил свой слой на osm.org.<\/li>\n<\/ul>\n<p>Это довольно вдохновляющая история — не каждая компания может позволить себе достаточно серверов, чтобы справиться с нагрузкой от глагне! И слой на osm.org — лишь вершина айсберга. Если всмотреться в <a href=\"https:\/\/console.tracestrack.com\/explorer\">демонстрационный сайт<\/a>, он собран из нескольких растровых и векторных слоёв: заменяемой подложки и надписей (выбор из 21 языка), плюс дополнительные слои типа велотрасс или машрутов общественного транспорта. Похоже на то, с чем мы экспериментировали лет десять назад, но, как видно, работает!<\/p>\n",
            "date_published": "2023-09-24T14:20:40+04:00",
            "date_modified": "2023-09-24T14:21:22+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/tracetrack_style-nq8.png",
            "_date_published_rfc2822": "Sun, 24 Sep 2023 14:20:40 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1568",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/tracetrack_style-nq8.png"
                ]
            }
        },
        {
            "id": "1555",
            "url": "https:\/\/shtosm.ru\/all\/sovremennye-tayly\/",
            "title": "Современные тайлы",
            "content_html": "<p>Этим летом отключили две незначительных штуки, связанные с тайлами OpenStreetMap. Про них почти никто не знал, но это знание придавало ощущение «внутреннего круга», техничности. Сродни умению написать запрос в API без подсказки.<\/p>\n<p>Во-первых, веб-карты больше <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/737\">не должны<\/a> добавлять префиксы к названию сервера тайлов. Никаких <tt>b.tile.osm.org<\/tt> и никаких <tt>{s}<\/tt> в шаблонах для Leaflet и JOSM. Соответствующие изменения уже приняты в Leaflet, OpenLayers, FlutterMap, OsmDroid, Overpass Turbo, MapsForge и других. Уберите и вы из своих карт, добавив ссылку на пул-реквест или коммит в тикет по ссылке выше.<\/p>\n<p>Эти префиксы были придуманы, чтобы обойти ограничение <i>браузеров<\/i> на параллельное скачивание. Они грузили картинки в один-два потока на сервер, а карта на экране обычно состоит из 20-40 тайлов. Чтобы не ждать, пока они загрузятся по порядку, их качали как бы с трёх адресов параллельно. Не важно, что они указывают на один и тот же физический сервер.<\/p>\n<p>С внедрением протоколов <a href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTP\/2\">HTTP\/2<\/a> и <a href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTP\/3\">HTTP\/3<\/a> подобные ухищрения устарели. Теперь ограничений нет, можно качать хоть всё одновременно. А без префикса становится проще кэшировать тайлы: в кэш попадает нормальный адрес, для всех один. Сейчас запросов по всем трём версиям протокола примерно <a href=\"https:\/\/prometheus.openstreetmap.org\/d\/3yhv0DtGz\/tile-cdn?orgId=1&refresh=1m\">поровну<\/a>. HTTP\/1, скорее всего, пользуются только приложения, а не браузеры. В том числе те, что грузят тайлы бочками.<\/p>\n<p>Во-вторых, больше не работают суффиксы <tt>\/status<\/tt> и <tt>\/dirty<\/tt> для отдельных тайлов. Знающие люди добавляли их к адресам единичных тайлов, чтобы узнать, когда они были отрисованы, и при необходимости перерисовать. <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/681\">Они устарели и отключены<\/a>: когда тайлы отрисовывают семь серверов, команды отправляются на любой из них — часто не тот, который прислал картинку.<\/p>\n<p>Интересно, как нестабилен интернет даже по отношению к вещам, которые, казалось бы, не должны меняться. Тайлы — всего лишь картинки с фиксированными адресами. Формат один и тот же с 2006 года. Но если вы сделали веб-карту пять лет назад, то за это время она существенно устарела. Два года назад нужно было <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/117#issuecomment-751743098\">заменить<\/a> <tt>http<\/tt> на <tt>https<\/tt>, а теперь — убрать префиксы. Иначе карта будет медленнее, чем возможно, и рано или поздно сломается совсем. В OpenStreetMap, чтобы оставаться на месте, бежать не обязательно, но важно хотя бы ползти в правильном направлении.<\/p>\n",
            "date_published": "2022-09-09T17:16:55+04:00",
            "date_modified": "2022-09-09T17:16:37+04:00",
            "_date_published_rfc2822": "Fri, 09 Sep 2022 17:16:55 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1555",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1545",
            "url": "https:\/\/shtosm.ru\/all\/savyolovskiy\/",
            "title": "Савёловские Мнёвники на Кушелевке под Семково",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/savelovskiy_nominatim.jpg\" width=\"1262\" height=\"541\" alt=\"\" \/>\n<\/div>\n<p>С этого дня поисковик Nominatim на главной osm.org по запросу «Савёловский» возвращает точно такие же результаты, как по «Савеловский», без «ё». Сара Хоффманн встроила в обработчик данных токенизатор ICU, благодаря которому взаимозаменяемые буквы можно заменять. Это требовало перезаливки данных в базу, которую приурочили к <a href=\"https:\/\/nominatim.org\/2021\/11\/03\/release-40.html\">выходу Nominatim 4.0.0<\/a>.<\/p>\n<p>Действию, очевидному для любого, кто владеет русским языком, Nominatim просили научить <a href=\"https:\/\/github.com\/osm-search\/Nominatim\/issues\/886\">с 2018 года<\/a>. Было два способа: воспользоваться новым токенизатором, добавленным в PostgreSQL за пару месяцев до просьбы, или поправить таблицу автозамены в Nominatim. Последнее K Rahul Reddy сделал слишком поздно: его пул-реквест <a href=\"https:\/\/github.com\/osm-search\/Nominatim\/pull\/1714\">отклонили<\/a>, потому что таблицу планировали убрать.<\/p>\n<p>Русскоязычным сервисам было бы разумно забыть о номинатиме и воспользоваться альтернативными поисковыми движками: Pelias или Gazetteer. Не Photon — тот работает на данных Nominatim и пока различает эти буквы. К сожалению, размер имеет значение: несмотря на проблемы с поиском и сложный процесс установки, люди предпочитают пользоваться движками из списка <i>Top 1<\/i>.<\/p>\n<p>В этом году разработка Nominatim набрала невиданную скорость: релизы выходили один за другим, а Саре постоянно находила что-то новое, о чём рассказать <a href=\"https:\/\/www.youtube.com\/watch?v=Q2Y2md2kh54\">на конференциях<\/a> или в <a href=\"https:\/\/nominatim.org\/blog\/\">блоге проекта<\/a>. Причина — в деньгах. Движок останется открытым на 100%, но это не означает, что разработчики будут голодать. На сайте упомянуты несколько спонсоров — NLNet, OpenCage, GraphHopper, Komoot и другие. Судя по их количеству и по тому, что OSMF, <a href=\"http:\/\/shtosm.ru\/all\/korrupciya-i-osm2pgsql\/\">чей грант<\/a> запустил ускорение проекта, упомянут последним, денег там достаточно, чтобы Сара не занималась ничем другим. Это обнадёживает: может, скоро движок научится другим полезным эвристикам, типа учёта дефисов, пробелов и литер в номерах домов.<\/p>\n<p>Помимо замены самопального токенизатора на стандартный ICU от ассоциации Unicode, в четвёртой версии убрали скрипты командной строки на PHP в пользу единого инструмента на Python. Этот инструмент помогает во всём, от подготовки базы данных до её обновления и администрирования. То есть, кажется, теперь не нужно устанавливать PHP для подготовки данных. В <a href=\"https:\/\/nominatim.org\/release-docs\/latest\/\">документации<\/a> дописали большой раздел про настройку движка. И теперь можно подключить базу почтовых индексов для любой страны, а не только для США и Великобритании, как раньше.<\/p>\n",
            "date_published": "2021-11-03T22:37:03+04:00",
            "date_modified": "2021-11-03T22:36:11+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/savelovskiy_nominatim.jpg",
            "_date_published_rfc2822": "Wed, 03 Nov 2021 22:37:03 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1545",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/savelovskiy_nominatim.jpg"
                ]
            }
        },
        {
            "id": "1544",
            "url": "https:\/\/shtosm.ru\/all\/svoy-overpass\/",
            "title": "Свой Overpass",
            "content_html": "<p>Сегодня у сайта osm.org появился свой выделенный сервер для запросов к Overpass API. Он не публичный (и пожалуйста, не надо добавлять его себе в зеркала) и предназначен только для одного: поиска объектов вокруг заданной точки. Когда вы выбираете на сайте инструмент «Что здесь?» со стрелочкой и знаком вопроса и тыкаете в карту, сайт запрашивает список у Overpass API (потому что OSM API этого не умеет). Раньше это был сторонний сервер overpass-api.de, <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/569#issuecomment-955207478\">теперь — свой<\/a>.<\/p>\n<p>Эта новость порадует всех, кто пользуется инструментом «что здесь». Как узнать, что стало лучше? Тыкните в любое место три раза подряд. Из-за драконовских ограничений сервера раньше вы гарантированно получили бы ошибку: слишком много запросов. Теперь и на десятый клик сайт стабильно показывает объекты рядом и полигоны, содержащие заданное место. Видеть, как Overpass API работает без сбоев, умилительно: будто вернулся на пять лет назад.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/osm_query_tool.png\" width=\"950\" height=\"407\" alt=\"\" \/>\n<\/div>\n<p>Кажется, это была единственная часть сайта, которая работала нестабильно. После перехода с тайлового CDN (тридцать серверов которого так и стоят без дела) на Fastly ушли проблемы с медленными тайлами. Удивительно, но когда платишь людям за работу, эта работа оказывается сделанной хорошо. Построение маршрутов обеспечивают немецкий сервер OSRM (оплачен FOSSGIS) и немецкий же GraphHopper (витрина их бизнеса), оба стабильные. Чужие тайловые слои работают как часы, включая добавленные за пандемию французский велосипедный и немецкий общественного транспорта.<\/p>\n<p>Но этот переход напоминает, что на самом деле стабильность стоит очень больших денег. <a href=\"https:\/\/hardware.openstreetmap.org\/servers\/gorwen.openstreetmap.org\/\">Восьмиядерные серверы<\/a> со ста гигабайтами памяти и терабайтом диска для Overpass API на дороге не валяются. Прокладка маршрута будет вам <a href=\"https:\/\/www.graphhopper.com\/pricing\/\">стоить от 50$ в месяц<\/a>. Чуть меньше, если поднимете сервер на амазоне сами. Геокодирование платное. Тайлы платные. Кэширующий CDN тоже дорогой. А если хочется бесплатно и по-быстрому, то ограничения делают открытые сервисы бесполезными для публичных проектов.<\/p>\n<p>OpenStreetMap — это открытые и бесплатные карты для каждого. Для каждого человека. Но когда нашими сервисами начинают пользоваться компании, оказывается, что стоимость этого пользования <a href=\"http:\/\/shtosm.ru\/all\/dlya-kogo-tayly\/\">слишком велика<\/a>. Раньше мы могли банить проблемных пользователей по-одиночке, но теперь их слишком много. Карты нужны всем. И либо ты строишь забор, который мешает и тем, кто растит в саду яблони, либо каждый день будешь видеть длинную очередь людей в костюмах и с пустыми мешками.<\/p>\n",
            "date_published": "2021-10-30T19:21:00+04:00",
            "date_modified": "2021-10-30T19:20:16+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/osm_query_tool.png",
            "_date_published_rfc2822": "Sat, 30 Oct 2021 19:21:00 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1544",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/osm_query_tool.png"
                ]
            }
        },
        {
            "id": "1540",
            "url": "https:\/\/shtosm.ru\/all\/pytaytes-pokinut-velikobritaniyu\/",
            "title": "Пытайтесь покинуть Великобританию",
            "content_html": "<p>Рабочая группа администраторов втихую работает:<\/p>\n<ul>\n<li>Возобновили публикацию <a href=\"https:\/\/planet.openstreetmap.org\/tile_logs\/\">логов просмотра тайлов<\/a>. Это текстовые файлы, где написано, какие тайлы сколько раз за день смотрели. Обновления сломались в декабре, когда закрыли проект Tile CDN, переведя кэш тайлов на провайдера Fastly. Да, того самого, что обвалился месяц назад. Под настойчивыми напоминаниями Дорофея, чей проект Disaster Ninja обрабатывает эти логи, Пол Норман <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/485\">переписал<\/a> скрипт обработки, и первый новый файл сегодня появился на сайте.<\/li>\n<li>Наконец-то сайт поддерживает <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/OAuth\">авторизацию через OAuth2<\/a>! Это тот же протокол, что используют Github, Strava, Twitter, Google и Вконтакте. Очень долго в приложения приходилось впиливать библиотеки для устаревшего OAuth 1.0a только для входа через OSM. Теперь всё проще, спасибо Тому Хьюзу и Mmd, разработчику <a href=\"http:\/\/shtosm.ru\/all\/na-si-bystree\/\">CgiMap<\/a>.<\/li>\n<li>К двум дата-центрам в Лондоне и одному в Амстердаме потихоньку собирают четвёртый — в Дублине. Который всё ещё в Евросоюзе, в отличие от. Новому дата-центру <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3Alocation%3Adublin\">закупают всё<\/a>, что есть в других: серверы для базы API, планеты, рендерера, номинатима и даже новый <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/Using_the_dev_server\">сервер для разработки<\/a>. Прошлому уже десять лет, на нём становится тесновато.<\/li>\n<\/ul>\n<p>Совет OSMF тоже работает, и в этом месяце умудрился попасть на первую страницу <a href=\"https:\/\/www.theguardian.com\/politics\/2021\/jun\/30\/openstreetmap-looks-to-relocate-to-eu-due-to-brexit-limitations\">The Guardian<\/a>. Поводом стало <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/osmf-talk\/2021-June\/007860.html\">письмо<\/a> Гильёма Ришара в рассылку osmf-talk, в котором он поделился желанием Совета перенести регистрацию компании OpenStreetMap Foundation из Кембриджа в Великобритании куда-нибудь в Евросоюз.<\/p>\n<p>Среди причин — новые (и старые) сложности с банковскими операциями и Paypal, больше авторитета в Евросоюзе, простота найма людей из ЕС (как Доротея), и шанс зарегистрироваться некоммерческой организацией и экономить на налогах. Кроме того, с 1 июля <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%B0%D0%B2%D0%BE_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85\">право на базы данных<\/a> (как копирайт, но на базы) разделилось между ЕС и Великобританией, и они не признают права друг друга. Лицензия ODbL работает лучше, когда есть основа в виде прав на БД, и лучше иметь их на крупнейшем рынке.<\/p>\n<p>Участники обсуждения накидали предложений: Эстонию, потому что э-государство, Данию, потому что там неплохо работала Мозилла, Германию, потому что там KDE и TDF (делают LibreOffice), Женеву, с отдельно стоящим зданием или без, и Ирландию, где прячутся от налогов Microsoft, Google и Amazon. Не все страны подходят под необычные требования OSMF, но они обсуждаемы. Тема на многие месяцы — <a href=\"https:\/\/join.osmfoundation.org\/\">вступайте в OSMF<\/a> и присоединяйтесь к заполнению таблички по странам.<\/p>\n<p>Напомню, что с прошлого августа можно стать членом Фонда OpenStreetMap <a href=\"https:\/\/blog.openstreetmap.org\/2020\/08\/29\/openstreetmap\/?lang=ru\">совершенно бесплатно<\/a>. Для этого нужно просто чаще править карту: 42 дней в год достаточно. Уточните своё количество на <a href=\"https:\/\/hdyc.neis-one.org\/\">How Did You Contribute<\/a> и заполните форму на сайте <a href=\"https:\/\/join.osmfoundation.org\/\">вступления в OSMF<\/a>. Нам нужно больше русских участников: у нашей страны худшее соотношение количества картографов и количества членов OSMF.<\/p>\n",
            "date_published": "2021-07-05T10:52:25+04:00",
            "date_modified": "2021-07-05T10:52:05+04:00",
            "_date_published_rfc2822": "Mon, 05 Jul 2021 10:52:25 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1540",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1533",
            "url": "https:\/\/shtosm.ru\/all\/kak-spiratit-planetu\/",
            "title": "Как спиратить планету",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/osm-torrents.jpg\" width=\"1400\" height=\"600\" alt=\"\" \/>\n<\/div>\n<p>Две недели назад появился новый способ скачать огромные (от полусотни гигабайт) файлы планеты: через торренты. <a href=\"https:\/\/planet.openstreetmap.org\/\">Все файлы<\/a> в каталогах <i>planet<\/i> и <i>pbf<\/i> — выгрузки в bzip2 и pbf, полная история и пакеты правок — сопровождаются ссылками на файлы torrent, которые легко открыть в µTorrent или Transmission. Советую забыть про прямые ссылки и качать планету только так.<\/p>\n<p>Хотя торренты ассоциируются с пиратством, их используют ещё и для распространения крупных файлов: например, дистрибутивов Linux. В отличие от обычного скачивания с сайта, через торренты вы загружаете файл сразу с нескольких источников — среди них зачастую даже нет исходного. То есть, ваш файл планеты будет скачиваться с компьютеров тех, кто уже его скачал, а серверы OSM освободятся. Учитывая пропускную способность серверных каналов и нередкие ограничения трафика, скачивать через торренты обычно быстрее, чем напрямую.<\/p>\n<p>Сайт planet.osm.org встречает предупреждением, что скорость ограничена четырьмя мегабайтами в секунду: скачивание планеты в pbf должно занять четыре часа. На практике — дольше: запросы на крупные файлы отправляются на вспомогательный сервер gwdg.de. В эксперименте он отдавал файл на 100-300 килобайтах в секунду, так что расчётное время скачивания превышало двое суток. Впору поискать пиратку.<\/p>\n<p>Кристиан Квест из французского OSM занялся торрентизацией планеты в январе этого года. Как он объяснил в <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/talk\/2020-February\/084018.html\">анонсе<\/a>, файл торрента создаётся через пару часов после публикации планеты, и затем данные раскладываются по нескольким серверам. Также подключается функция web seed, доступная в некоторых клиентах, с помощью которой исходные файлы тоже становятся частью сети. Всё это позволяет скачать планету за полчаса — а через пару дней, когда скачавших прибывает, можно управиться и за 15 минут.<\/p>\n<p>Ограничение скорости на нашем сервере <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/dev\/2020-January\/030873.html\">ввели<\/a> в том же январе. Причиной была узость канала: всего гигабит в секунду. Обычные 30-60 одновременных скачиваний планеты забивали его так, что начинали сыпаться другие сервисы, включая DNS и API. Тогда скорость порезали до 400 кБ\/с, а в феврале, когда канал расширили до десяти гигабит, ограничение ослабили. Но проблема с <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/dev\/2020-January\/030877.html\">тысячью<\/a> скачивавших каждый файл планеты сразу после его публикации (четверть из них — в формате bz2) осталась: зачем, когда есть диффы? И как ослабить нагрузку на сервер, чтобы не мешать нормальным людям?<\/p>\n<p>Чтобы не зависеть от французского сервера и ускорить создание торрента, весь процесс нужно было перенести на сервер OSMF. Этим Грант Слейтер занимался <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/451\">с августа<\/a>. Оказалось, что торренты делал ещё и Матия Налис из Хорватии: его скрипты легли в основу официальных. 23 ноября торренты появились в списке файлов сервера, и несколько дней спустя они охватили и дампы с полной историей. Теперь пора и нам переключиться на скачивание торрентов вместо прямых ссылок.<\/p>\n<p>Как видно, инфраструктура OSM не стоит на месте: новые технологии, пусть и с десятилетней задержкой, приходят на наши серверы. Что дальше? Репликация. Диффы сейчас создаются программой Osmosis. Два года назад её автор Бретт <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/osmosis-dev\/2018-October\/001847.html\">заявил<\/a>, что хватит с него, программе 11 лет и есть другие варианты. Обновлять базу теперь можно <a href=\"https:\/\/docs.osmcode.org\/pyosmium\/latest\/updating_osm_data.html\">с PyOsmium<\/a> (<a href=\"https:\/\/github.com\/openstreetmap\/chef\/blob\/master\/cookbooks\/tile\/templates\/default\/replicate.erb\">пример для тайлов<\/a>), а вот создавать диффы из живой базы — увы. Osmosis использовал какую-то устаревшую магию, заменить которую безуспешно <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/154\">пытаются с 2017 года<\/a>. Но решение, кажется, появилось: Йохен Топф летом написал <a href=\"https:\/\/github.com\/openstreetmap\/osmdbt\">замену<\/a>, и две недели назад началось <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/dev\/2020-November\/031007.html\">тестирование новых диффов<\/a>. Когда основные ошибки отловят, Osmosis окончательно выкинут с серверов. Пока же Майк Мигурски подхватил его поддержку и время от времени <a href=\"https:\/\/github.com\/openstreetmap\/osmosis\/releases\">выпускает заплатки<\/a>.<\/p>\n",
            "date_published": "2020-12-08T11:48:57+04:00",
            "date_modified": "2020-12-08T11:53:28+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/osm-torrents.jpg",
            "_date_published_rfc2822": "Tue, 08 Dec 2020 11:48:57 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1533",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/osm-torrents.jpg"
                ]
            }
        },
        {
            "id": "1529",
            "url": "https:\/\/shtosm.ru\/all\/konec-svn\/",
            "title": "Конец SVN",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/osm-trac.png\" width=\"937\" height=\"402\" alt=\"\" \/>\n<\/div>\n<p>На прошлой неделе SVN-репозиторий кода OpenStreetMap <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/josm-dev\/2020-August\/008316.html\">перевели<\/a> в режим «только чтение». Чуть раньше то же <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/dev\/2020-July\/030958.html\">сделали<\/a> с Trac, системой управления задачами и онлайн-интерфейсом к коду. Оба сервиса давно устарели, разработка давно перешла в Git. Кроме JMapViewer и модулей для JOSM, которые переехали на собственный сервер.<\/p>\n<p>Trac и SVN — это концентрированная история нашего проекта. Там можно посмотреть на <a href=\"https:\/\/trac.openstreetmap.org\/log\/subversion\/?action=stop_on_copy&mode=stop_on_copy&rev=100&stop_rev=&limit=100\">первый код<\/a> Стива Коста от августа 2004 года, когда он начал строить API на языке Java (потом всё переписали, конечно). В репозитории можно найти Osmarender и Tiles@Home, Gosmore, Yours, зачатки Mapnik и Nominatim, Potlatch 1, форк JOSM без инструментов, старый Java-аплет и много маленьких полезных скриптов для импорта и работы с данными. Большинство проектов <a href=\"https:\/\/trac.openstreetmap.org\/wiki\/OsmComponentReports\">переехали на GitHub<\/a>. Ничто, кроме модулей JOSM, не обновлялось с 2018 года. Тикеты в Trac тоже перестали появляться полтора года назад, теперь их только закрывают.<\/p>\n<p>Несмотря на медленный поток новый версий, и Trac, и SVN для современных разработчиков мертвы. Их успешно заменяют GitHub, GitLab или Bitbucket. Последняя версия Ubuntu, на которую сейчас переводят серверы OSM, вообще исключила Trac из репозиториев, отчасти потому, что тот требует устаревшего Python 2.7. Проекты OSGeo, когда-то все на Trac, <a href=\"https:\/\/courses.neteler.org\/remarks-on-svn-trac-to-github-migration\/\">переходят на GitHub<\/a> или Gitea. Неудивительно, что в мае рабочая группа OWG <a href=\"https:\/\/wiki.osmfoundation.org\/wiki\/Operations\/Minutes\/2020-05-22#Machines_running_old_software\">решила<\/a> отключить эти сервисы, оставив для истории их замороженные слепки.<\/p>\n<p>Что делать разработчикам модулей для JOSM, которые пользовались SVN: зайти в каталог репозитория и ввести <i>svn relocate<\/i> со ссылкой из <a href=\"https:\/\/josm.openstreetmap.de\/wiki\/DevelopersGuide\/DevelopingPlugins\">этой страницы<\/a>. Дальше работать как раньше, через <i>svn ci<\/i>, <i>svn up<\/i> и тому подобное. В ближайшие годы JOSM не слезет с SVN, пусть код уже зеркалируется <a href=\"https:\/\/github.com\/openstreetmap\/josm\">на GitHub<\/a>. Но учить эту систему не обязательно: новые модули можно разрабатывать в GitHub или в GitLab. Достаточно создать проект в группе JOSM и добавить ссылку на собранный jar-файл в <a href=\"https:\/\/josm.openstreetmap.de\/wiki\/PluginsSource\">этот список<\/a>.<\/p>\n<p>Это не последнее изменение, запланированное OWG. Когда-нибудь случится ещё одно, которое затронет всех без исключения активных участников проекта. Форум, почтовые рассылки и справочную систему <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/377\">собираются объединить<\/a> на движке Discourse. Потому что нынешний движок старый и неудобный, а форумы на discourse даже выглядят приятно: например, <a href=\"https:\/\/smolensk-velo.ru\/\">форум смоленских байкеров<\/a>. Айан Диз уже смог импортировать базу форума на новый движок и сейчас исследует, как перенести учётные записи пользователей.<\/p>\n",
            "date_published": "2020-08-23T19:51:18+04:00",
            "date_modified": "2020-08-23T19:50:37+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/osm-trac.png",
            "_date_published_rfc2822": "Sun, 23 Aug 2020 19:51:18 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1529",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/osm-trac.png"
                ]
            }
        },
        {
            "id": "1526",
            "url": "https:\/\/shtosm.ru\/all\/gonka-za-json\/",
            "title": "Гонка за JSON",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/id-fail-questions.jpg\" width=\"977\" height=\"418\" alt=\"\" \/>\n<\/div>\n<p>Что это я всё хвалю iD — у него тоже проблем хватает («ахаха» — раздаётся от жосмера в голове). Например, Саймон Пул четыре дня назад <a href=\"https:\/\/github.com\/openstreetmap\/iD\/issues\/7858\">заметил<\/a>, что в некоторых регионах данные не подгружаются, без причин и без ошибок. Какие-то слова про undefined в консоли, и всё.<\/p>\n<p>Позавчера Квинси понял, что выпадают объекты, нарисованные анонимными пользователями до 2009 года. У этих объектов нет поля <i>uid<\/i>, чего редактор не ожидал. Но тогда вопрос, почему раньше этой пропажи никто не замечал? Ответ — в JSON.<\/p>\n<p>Мало кто любит XML. Это структурированный формат, который может хранить любую структуру данных, но слишком многословен и требует сложных преобразований. С популярностью JavaScript разработчики предпочитают использовать другой формат хранения данных, <a href=\"https:\/\/ru.wikipedia.org\/wiki\/JSON\">JSON<\/a> (JavaScript Object Notation). Формат жёстко регламентирован, но по сути, представляет собой кусок кода, который интерпретатор JS может быстро превратить в объект. Сюрпризов у него никаких, структура очевидная для программистов, в отличие от XML, поэтому формат пихают везде: например, вам может быть знаком GeoJSON.<\/p>\n<p>OSM API всегда отвечал в формате XML. Но в сентябре 2018 года <a href=\"http:\/\/shtosm.ru\/all\/na-si-bystree\/\">cgimap<\/a> научился возвращать ответ в формате json. Для этого в запросе нужно указать правильный заголовок <i>Accept<\/i> или добавить в конец расширение <i>.json<\/i> (<a href=\"https:\/\/www.openstreetmap.org\/api\/0.6\/changeset\/88697684.json\">например<\/a>). Одним из первых новому формату научился важнейший запрос \/map (получение всех данных в прямоугольнике), затем пошли остальные. Но, поскольку формат ещё не поддерживал Rails Port (часть API, написанная на Ruby on Rails), json временно отключили.<\/p>\n<p>Разрыв нужно было закрывать: участник Mmd в мае 2019 года сделал пул-реквест в вебсайт, но мы знаем, как у нас проходят пул-реквесты. <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/2485\">Второй пул-реквест<\/a> он создал в декабре. Он был проще, обсуждение сразу пошло: всего через полсотни комментариев, в феврале, правки приняли, и теперь объекты можно получать в любом из двух форматов.<\/p>\n<p>Тут все посмотрели на iD. Для кого ещё писали поддержку json, как не для редактора на JavaScript? И да, всего через неделю соответствующие вызовы заменили — поддержку нового формата тот же Mmd написал ещё год назад. Но свежий релиз редактора готовился-готовился, прошёл один месяц, второй... В общем, строчка про json утонула в списке изменений <a href=\"http:\/\/shtosm.ru\/all\/id-udobnee-josm\/\">версии 2.18<\/a>, вышедшей две недели назад. Отсюда и проблема, найденная Саймоном: формат ответа API поменялся, его обработка тоже, и анонимные правки забыли протестировать. Ошибку починили <a href=\"https:\/\/github.com\/openstreetmap\/iD\/blob\/develop\/CHANGELOG.md#2184\">буквально вчера<\/a>.<\/p>\n<p>По замерам Mmd, использование json для скачивания данных ускорило iD <a href=\"https:\/\/github.com\/openstreetmap\/iD\/issues\/3765#issuecomment-488582709\">примерно вдвое<\/a>. Перемещение карты в редакторе действительно ощущается быстрее, контрастируя с заторможенным интерфейсом редактирования тегов.<\/p>\n<p>Подгрузку данных в редакторе ещё можно ускорить, и даже в несколько раз. Сам запрос \/map невыносимо медленный: сервер делает несколько запросов к базе данных на каждый объект в ответе, что, как <a href=\"https:\/\/github.com\/zerebubuth\/openstreetmap-cgimap\/issues\/122\">посчитал<\/a> Дорофей «Komяpa», ограничивает скорость получения данных до примерно 2000 объектов в секунду. Именно поэтому iD разрешает редактирование от 16 уровня масштаба, а не дальше. В 2016 году Дорофей <a href=\"https:\/\/github.com\/Komzpa\/fastmap\">переписал<\/a> запрос к карте на чистый SQL, ускорив его на порядок, но его предложение погрязло в комментариях, а после добавления формата json и вовсе устарело. То есть, мы знаем, что скачивание данных можно ускорить, но для поддержки быстрого кода нужны знания PostgreSQL, которых нет ни у кого из админов.<\/p>\n<p><i>Обновление:<\/i> Mmd в комментариях замечает, что запрос \/map <a href=\"https:\/\/github.com\/zerebubuth\/openstreetmap-cgimap\/pull\/142\">переписали в 2018 году<\/a>, ускорив его даже лучше, чем это сделал Дорофей. Так что последний абзац уже неактуален.<\/p>\n",
            "date_published": "2020-08-01T12:09:37+04:00",
            "date_modified": "2020-08-02T12:46:17+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/id-fail-questions.jpg",
            "_date_published_rfc2822": "Sat, 01 Aug 2020 12:09:37 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1526",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/id-fail-questions.jpg"
                ]
            }
        },
        {
            "id": "1524",
            "url": "https:\/\/shtosm.ru\/all\/rio-de-la-plata\/",
            "title": "Залив не залить",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/laplata.jpg\" width=\"700\" height=\"300\" alt=\"\" \/>\n<\/div>\n<p>Файлы и отображение береговой линии в OpenStreetMap не обновлялись между 9 января и 25 июля, более полугода. Никто этого не заметил, потому что активные осмеры давно уточнили свои берега и обращают внимание на другие, сухопутные объекты. JesseFW <a href=\"https:\/\/www.openstreetmap.org\/user\/JesseFW\/diary\/393709\">описал, что произошло<\/a>, и Кристофф докинул интересных ссылок и объяснений в комментариях. Если коротко:<\/p>\n<ul>\n<li><a href=\"https:\/\/osmdata.openstreetmap.de\/\">Береговые линии<\/a> собирает отдельная группа людей, не те, кто делает картостиль или администрирует серверы OSM. Это немцы внутри организации FOSSGIS, в частности Йохен Топф.<\/li>\n<li>Скрипт сборки работает автоматически, но перед публикацией делает простые проверки собранных полигонов. Например, что геометрия не имеет самопересечений, или что размер суши изменился не более, чем на 0,15 км².<\/li>\n<li>Если валидатор заявил об ошибке, новые полигоны нужно одобрить вручную, либо пойти исправить ошибку.<\/li>\n<li>В январе кто-то перерисовал залив <a href=\"https:\/\/www.openstreetmap.org\/changeset\/88211516\">Rio de la Plata<\/a> рядом с Буэнос-Айресом с береговой линии на озеро (или наоборот). Йохен не знал, что с этим делать, и оставил полигоны без изменений.<\/li>\n<li>Через три месяца отсутствие обновлений заметили, но даже откатить это изменение, чтобы применились остальные, было поздно: сумма изменений давно переросла площадь отсечки.<\/li>\n<li>Все ссорились ещё три месяца.<\/li>\n<li>Вчера Йохен плюнул и одобрил свежую сборку.<\/li>\n<\/ul>\n<p>Проблема залива сводится к тому, что считать его внутренним морем удобно для разграничения территории между Аргентиной и Уругваем, но если natural=coastline отодвинут, то Буэнос-Айрес получается совсем не прибрежным городом. Стороны привлекают аргументы типа солёности воды, приливов и спутниковых снимков (как в заголовке этой статьи). Обычная политика, какой много в мире и в проекте. Но интересна проблема с выгрузкой береговой линии тем, что она подчёркивает, как близки в OpenStreetMap технические и идеологические решения.<\/p>\n<p>Ведь Йохен, по сути, взял на себя чисто техническую задачу: смотреть вывод валидатора и править ошибки в тегировании и геометрии. Я этим же занимался в Maps.Me в своё время. Однако рано или поздно ты понимаешь, что нажав кнопку, ты не только одобряешь консистентность данных, но и поддерживаешь позицию одной из противоборствующих сторон. А таких сторон в OpenStreetMap сотни, и сколь бы побочной не была твоя работа, проскользнуть между всеми не удастся.<\/p>\n<p>Даже не поднимая голову от клавиатуры, занимаясь только кодом и перегоном одних букв в другие, в OpenStreetMap не избежать политики. Ведь политика появляется там, где сталкиваются интересы двух людей с одинаковыми ресурсами, а в OSM нет модераторов и потому все равны. Взяв на себя работу проверять, что линии не пересекаются, однажды обнаруживаешь, что не можешь нажать кнопку, потому что любое решение огорчит десяток картографов. Внезапно обнаруживаешь себя в центре политического спора, и хочется бросить всё и подождать, пока рассосётся само.<\/p>\n<p>В идеальной базе геоданных территории не принадлежат нескольким государствам одновременно, озёра и леса не накрывают одни и те же поляны, названия всегда распределены по языкам и однозначны, а атрибуты не дублируются на точках и полигонах. Любая дискуссия быстро заканчивается резолюцией управляющего органа: рисуем так, а не иначе. К такому идеалу стремится НЯК, но никак не может его достичь. Идеальную карту скучно рисовать. Именно из-за недосказанностей и рекомендаций вместо правил в OpenStreetMap всегда увлекательно.<\/p>\n",
            "date_published": "2020-07-26T19:19:08+04:00",
            "date_modified": "2020-07-26T19:07:15+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/laplata.jpg",
            "_date_published_rfc2822": "Sun, 26 Jul 2020 19:19:08 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1524",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/laplata.jpg"
                ]
            }
        },
        {
            "id": "1506",
            "url": "https:\/\/shtosm.ru\/all\/ne-soglasny-delitsya\/",
            "title": "Не согласны делиться",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/osm_reg_header.png\" width=\"700\" height=\"200\" alt=\"\" \/>\n<\/div>\n<p>С первого октября в рассылке osmf-talk люди обсуждают public domain. Сначала Северин <a href=\"https:\/\/lists.openstreetmap.org\/pipermail\/osmf-talk\/2019-October\/006208.html\">спросил<\/a>, можно ли как-то снять галочку, поставленную напротив согласия с PD при регистрации. Ему быстро напомнили, что эта галочка — не юридически значимое согласие, а, скорее, опрос мнений. Не нужно делать второй аккаунт со снятой галочкой или писать пул-реквест в код сайта: твоё мнение и так ничего не решает.<\/p>\n<p>Чтобы получить значимость, галочка должна сопровождаться длинным списком условий. Например, что пользователь обязуется не использовать источники не в общественном достоянии (такие как спутниковые снимки или открытые данные в РФ). И что он не основывает свои правки — по части геометрии или тегов — на данных других пользователей OSM, не отдающих свои правки в public domain.<\/p>\n<p>Нельзя отрицать, что права на свой вклад готова отдавать значительная часть сообщества: по <a href=\"https:\/\/blog.openstreetmap.org\/2013\/10\/15\/the-pd-checkbox\/\">данным 2013 года<\/a>, 44% редакторов с хотя бы одной правкой поставили эту галочку. 580 участников с личной страницей в нашей вики поставили на неё <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/Category:Users_whose_contributions_are_in_the_public_domain\"> шаблон PD-user<\/a>, который в более строгих терминах разрешает использовать их правки. Правда, людей в вики формально нельзя связать с редакторами в API. А эта галочка… Многие признают, что она выглядит как стандартная «правила не читал, но согласен», свойственная многим формам регистрации, поэтому люди нажимают на неё непроизвольно и не понимая, чем это может быть чревато.<\/p>\n<p>Так что участники пришли к консенсусу: галочку нужно убрать из формы регистрации. Это не должно быть проблемой, потому что список поставивших её недоступен никому, кроме OSMF, и потому никто его не использовал. Фредерик послал официальный запрос в LWG. Участники уже начали заглядывать в код сайта, чтобы понять, насколько сложно будет вычистить оттуда public domain. И нашли там смешное.<\/p>\n<p>Оказалось, что где-то между 2010 и 2015 годами значение галочки про public domain перестало сохраняться в базу данных. Мы не знаем, кто с тех пор был согласен, а кто нет. Команду сохранения <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/commit\/898c47e647fbffcd0543b78033945b04f1b9aeae#diff-99cb709286f806f8c8b24ea88bc311afL212\">случайно удалили<\/a> во время добавления на сайт условий участия. Поскольку сайтом у нас заведует единоличный Том, никакого code review его коммита не было, строчка просто исчезла.<\/p>\n<p>Вслед за анонимными комментариями, ещё один привычный элемент сайта, до которого никому не было дела, скоро уберут. Данных OpenStreetMap в общественном достоянии не будет — но, может быть, пора подумать над вариантами.<\/p>\n",
            "date_published": "2019-10-09T14:41:44+04:00",
            "date_modified": "2019-10-09T14:41:39+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/osm_reg_header.png",
            "_date_published_rfc2822": "Wed, 09 Oct 2019 14:41:44 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1506",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/osm_reg_header.png"
                ]
            }
        },
        {
            "id": "1491",
            "url": "https:\/\/shtosm.ru\/all\/zdes-vam-ne-dvach\/",
            "title": "Здесь вам не двач",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/anon_notes.jpg\" width=\"1145\" height=\"491\" alt=\"\" \/>\n<\/div>\n<p>Неделю назад к заметкам на сайте OSM <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/1926\">запретили<\/a> добавлять анонимные комментарии. Это был самый популярный запрос на трекере сайта, открытый в 2017 году после нападения спамерских ботов на заметки в России. Год спустя Фредерик Рамм подготовил <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/1926\">пул-реквест<\/a>, и теперь, после очередного напоминания Фредерика, его код приняли.<\/p>\n<p>OpenStreetMap <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/RU:%D0%90%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8\">начинался анонимно<\/a>. До 2009 года, когда мы перешли на API 0.6, можно было дизассоциировать свой логин и правки. Никто бы никогда не узнал, что дорогу переименовал «москвич1812». Теперь все такие люди деанонимизированы, в базе больше нет объектов без указания пользователя. Анонимно можно править отдельные атрибуты в сторонних приложениях: например, в WheelMap исправления отсылаются от коллективного аккаунта wheelmap_visitor.<\/p>\n<p>Сервис OpenStreetBugs, функции и база которого перешли в OSM <a href=\"http:\/\/shtosm.ru\/all\/bez-oshibok\/\">в 2013 году<\/a>, позволял анонимно сообщить об ошибках и комментировать эти сообщения. Понятно, почему нужны анонимные сообщения: это единственный способ улучшить карту без включения в сообщество и прочих тяжёлых обязанностей. Но в комментариях без авторства <a href=\"https:\/\/help.openstreetmap.org\/questions\/23106\/removing-anonymous-notes-from-map\">начали сомневаться<\/a> уже через два месяца после ввода функции на сайте. Пользы от них немного, корректность не проверить, убрать невозможно.<\/p>\n<p>Закрытие анонимных комментариев не спровоцировало никаких дискуссий, кроме отдельных замечаний про невозможность атрибутированных комментариев из-за политических преследований и предложения ввести тест тьюринга или байесовский фильтр для отсечения спамеров.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/colour_boxes.png\" width=\"859\" height=\"368\" alt=\"\" \/>\n<\/div>\n<p>Также, вчера на сайте рядом с тегами для цвета <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/1779\">появились<\/a> квадратики соответствующих цветов. Чтобы понять карту, всё меньше нужно быть роботом. Спасибо Стефану Баблеру и Энди Аллану.<\/p>\n",
            "date_published": "2019-09-05T16:39:41+04:00",
            "date_modified": "2019-09-05T16:38:52+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/anon_notes.jpg",
            "_date_published_rfc2822": "Thu, 05 Sep 2019 16:39:41 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1491",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/anon_notes.jpg",
                    "https:\/\/shtosm.ru\/pictures\/colour_boxes.png"
                ]
            }
        },
        {
            "id": "1490",
            "url": "https:\/\/shtosm.ru\/all\/ne-tolko-karta-ulic-i-ne-slishkom-otkrytaya\/",
            "title": "Не только карта улиц, и не слишком открытая",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/kiiv_old_map.jpg\" width=\"1400\" height=\"600\" alt=\"\" \/>\n<\/div>\n<p>OpenStreetMap — открытая карта улиц. Это назначение зашито в название проекта, потому что атласы всегда были для автомобилистов. Улицы, шоссе, грунтовки с подписями на фоне бледных лесов и городских районов. Лора Блисс в <a href=\"https:\/\/www.citylab.com\/life\/2019\/08\/thomas-guide-los-angeles-history-street-map-google-waze-app\/591721\/\">статье для CityLab<\/a> вспоминает, как рассматривала атлас Лос-Анджелеса в детстве, когда водители считали за честь держать всю сетку улиц в голове и знать, как объехать пробку на магистрали, — и понимает, почему атласы уступили навигаторам.<\/p>\n<p>Мобильные навигаторы полностью меняют фокус: в них город вращается вокруг водителя, а не водитель находится где-то в городе. У карты на экране ни секунды покоя: она то поворачивается, то меняет масштаб. Нет времени её рассмотреть и понять. Поэтому запомнить город с экрана навигатора невозможно, остаётся следовать указаниям и надеяться, что по маршруту нет размытых мостов и перекрытых дорог. Но даже люди, которые когда-то помнили каждый переулок, отказываются от знаний и переходят на мобильные карты.<\/p>\n<p>Причина проста: пробки. Машин на дорогах всё больше, они блокируют не только магистрали, но и объездные маршруты. Когда-то тихие районы теперь перегружены машинами, потому что навигаторы советуют срезать через них. Хорошей памяти на улицы недостаточно: нужно получать информацию об авариях и заторах ежеминутно, чтобы не простоять два часа. Полезная карта для водителя — это живая карта в навигаторе.<\/p>\n<p>Сложно представить человека, который рассматривает карту в навигаторе. Она не предназначена для долгого взгляда. Главное на экране — синяя лента маршрута, чуть менее важны все остальные дороги слева и справа по ходу движения. Остальные элементы неинтересны, потому что по ним нельзя ехать. Хорошо бы их убрать или затенить, чтобы не отвлекать водителя. Мобильная карта — карта для автомобилиста, это карта улиц.<\/p>\n<p>Настольные карты тоже стремятся к утилитарности мобильных. Открой гугль — там белые дороги на светлом фоне, зато экран усыпан яркими булавками заведений: «кликни меня!» Карты яндекса красивее: дома, дворовые проезды, тропинки и велодорожки. Вроде как пёстро и интересно, но пяти минут достаточно, чтобы понять: эта карта тоже только для одной задачи: «проложи маршрут!» Невозможно уделять таким картам время, с ними нужно решить задачу и уйти.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/many_maps.jpg\" width=\"1400\" height=\"600\" alt=\"\" \/>\n<\/div>\n<p>Мне с детства нравится рассматривать карты. Следить за линиями и обозначениями и находить взаимосвязи. Но рассматривание карты ушло в прошлое вместе с атласами. Теперь печатные карты — лишь <a href=\"https:\/\/t.me\/shtosm\/218\">историческая ценность<\/a>. Две коробки моего картографического архива спрятаны где-то в шкафу, толстые красивые атласы пылятся под потолком, карты из спинки автомобильного сиденья я не доставал лет пять. Всё устарело, стимула покупать новое нет: там то же самое, только на свежих данных.<\/p>\n<p>Каждый год на конференциях State of the Map и FOSS4G устраивают конкурс плакатов. Кажется, вот оно: стой и рассматривай. <a href=\"https:\/\/t.me\/foss4g_ru\/366\">Задерживаюсь у каждого<\/a> на несколько минут — но это же не карты. Это либо исследовательские работы, поданные в форме плаката, с горой текста, несколькими графиками и парой простых обзорных карт. Либо художественные работы, которые не сколько рассматриваешь, сколько воспринимаешь. Да, встречаются красивые, «Pop Art» когда-то я утянул домой и не жалею об этом. Но карты — красивые, глубокие карты больше не вешают. Карта стала утилитарна; если она не выполняет предназначение, она не нужна.<\/p>\n<p>Любопытные глаза теперь рассматривают спутниковые снимки. Присматриваются к контурам домов, прослеживают грунтовку через поля и леса. Находят правильные контуры военных объектов или деревню в глуши. Что это за пятно? Кто здесь живёт? Когда на одну точку есть шесть разных снимков, интересно их <a href=\"http:\/\/osmz.ru\/imagery\/\">сравнить<\/a>, посмотреть, как застраивался город или меняла русло речка. Снимки бесконечны как вширь, так и вглубь: всегда есть интересный район или история, которую открывают две спутниковые фотографии, разделённые десятилетием.<\/p>\n<p>Для таких любопытных была сделана викимапия: люди просто подписывали все объекты на снимках, чтобы другие получили ответ на «а что здесь такое?» Подписывали без разбора, дом так же, как озеро, как военную часть или тропинку через лес. Оставляли комментарии: «о, я тут рыбу ловила, пока не заросло». Викимапия была уникальным проектом для любопытных — пока авторы проекта не забыли, кто к ним ходит, и не угробили проект рекламой и смещением фокуса на картографию.<\/p>\n<p>Казалось, вот два очевидных решения: люди смотрят на карточки — баннер же не помешает? И обвесили рекламой всё по периметру и немного внутри, чтобы пользоваться сайтом без адблока стало противно. И второе, наши редакторы же обводят снимки, а тут один шаг до классификации, чтобы получилась карта. Сделали — офигеть, карта начинает получаться, люди трассируют дороги и обводят населённые пункты. Вот только эти люди перестали уделять время тому, чем сайт был полезен: подписывать снимки, описывать спрятанные чудеса. Теперь они зачем-то дублируют работу, которую делают пользователи НЯК, OSM, Here. Делают недо-карту. Викимапия из уникального источника превратилась в никому не нужное подобие. Теперь на неё заходишь из жалости.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/varna_imagery_w_overlay.jpg\" width=\"700\" height=\"300\" alt=\"\" \/>\n<\/div>\n<p>Рассматривать викимапию неприятно, а карты гугля, яндекса и подобных — бессмысленно. Атласы ушли в прошлое, а на спутниковых снимках можно что-то различить, но не понять. Получается, рассматривать нечего? Напротив: ответ был перед нами все пятнадцать лет.<\/p>\n<p>Это OpenStreetMap. В отсутствие альтернатив OpenStreetMap стал главным атласом для рассматривания. Откроешь <a href=\"https:\/\/www.openstreetmap.org\">глагне<\/a>  — и залипнуть в карту можно надолго. Не только дороги и дома: тропинки, болота, фонтаны и места для пикника. Именно поэтому когда-то люди <a href=\"https:\/\/github.com\/gravitystorm\/openstreetmap-carto\/pull\/542\">возмущались<\/a>, что railway=abandoned убирают со стандартного стиля: да, эти линии обозначают снятые рельсы, это не-объекты. Но когда смотришь на карту, они многое рассказывают об истории. Объясняют, почему там просека или тропинка. Интересная карта рассказывает историю, и сотни тысяч редакторов своими кусочками историй превращают OpenStreetMap в величайшую сказку на земле.<\/p>\n<p>Опытные участники знают, что наша карта внутри гораздо больше, чем снаружи. Модель данных OSM со свободными форматами и бесконечными схемами тегирования подталкивает редакторов к слишком детальному картированию. Они указывают номера квартир в подъездах, виды деревьев в парке и напряжение в ЛЭП. Загружая кусочек города в JOSM, никогда не знаешь, какие мелочи заинтересовали местного картографа. То дороги окажутся усыпаны пожарными гидрантами, а то придётся ворочаться промеж отрисованных поребриков.<\/p>\n<p>Карта богата внутри, но увидеть это богатство непросто. Раньше был набор из нескольких десятков визуализаций Ito Map: они показывали ограничения скорости, колеи железных дорог, освещённость, адресацию и кучу других атрибутов. К сожалению, в июле этот проект <a href=\"https:\/\/www.itoworld.com\/ito-map-announcement\/\">закрыли<\/a>. У нас остались несколько тематических проектов типа <a href=\"https:\/\/www.openrailwaymap.org\/\">OpenRailwayMap<\/a> и <a href=\"https:\/\/zlant.github.io\/parking-lanes\/\">Parking Lanes<\/a>. Проблема с ними в том, что их не найти. Ссылки рассыпаны по случайным страницам нашей вики, сайты включаются и выключаются в произвольные моменты времени. Они не столько углубляют представление об OpenStreetMap, сколько бросают: «а вот ещё какая штучка у нас есть». Вместо единой шкатулки драгоценностей получилась сеть музеев одной брошки.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/map1eu_sample.jpg\" width=\"994\" height=\"426\" alt=\"\" \/>\n<\/div>\n<p>OpenStreetMap сродни карьеру, полному смыслов и геоданных. Чтобы в него углубиться, картостилей недостаточно, нужны более точные инструменты. Такие как Taginfo и Overpass API. Нашли интересный тег — запустили запрос, чтобы выкопать подобные объекты в своём районе — раскрасили и сделали себе тематическую карту. Подождали, пока лимит на плотность запросов отпустит, и продолжили раскопки. Скачали GeoJSON или подкрутили карту в редакторе. Очень увлекательно, это как править «матрицу», смотря на стекающие зелёные буковки. Только Level0 не хватает для комплекта. Думаю, лишь 400-500 человек на весь мир умеют смотреть так глубоко.<\/p>\n<p>Нормальные люди приходят на наш сайт и рассматривают картостиль OSM Carto. Они не знают о «подводной части» базы данных — а ведь в ней самое интересное. Мы уже победили всех остальных по глубине карты, по её залипательности. Но чтобы усилить эффект, нужно что-то делать. Одно из двух. Либо, подобно <a href=\"https:\/\/www.openstreetmap.de\/\">немецкой глагне<\/a>, заменить карту стеной текста со ссылками. Правда, с нашим мастерством принятия решений за результат может быть стыдно: вывесят туда ссылки на вики, на форум и на планету. Разбирайтесь, мол, сами. Второй выход — заменить тайлы в карте векторными.<\/p>\n<p>Любой картографический стиль делит классы объектов на карте надвое: те, что он отображает и те, что прячет. Это нормально: чем продуманнее картостиль, тем короче его легенда. И это свойственно печатным картам. Но у нас на сайте интерактивная карта с бесконечным количеством атрибутов. Глупо отображать для всех одно и то же, по-барски позволяя включить аж четыре других стиля. Сколько атрибутов — столько картостилей. Нас спасут только векторные тайлы. Каждый посетитель должен получать свой собственный срез данных, чтобы посмотреть и офигеть от разнообразия. Мы <a href=\"https:\/\/t.me\/shtosm\/97\">обсуждали этот подход<\/a> во время прошлого State of the Map, но, кажется, никто не понимает, что нужно делать.<\/p>\n<p>Карта OpenStreetMap — это не картинка, которую можно рассматривать только вширь. Это калейдоскоп: покрути фильтры — и рассматривай заново, потому что открываются новые слои и новые взаимосвязи. Такое невозможно даже представить в коммерческой или печатной картографии, но мы, редакторы открытой карты, настолько привыкли к многогранной и запутанной модели данных, что даже не задумываемся, насколько уникальна и завораживающа наша карта. Мы пользуемся специальными инструментами, чтобы рассматривать грани, — а хорошо бы рассматривать их невооружённым взглядом.<\/p>\n<p>Улиц недостаточно. Пробки сиюминутны и потому не нужны. Важна общая картина. Карта обучает, просвещает, помогает найти себя в мире. Проект OpenStreetMap способен рассказать о твоём городе или маршруте столько, сколько не снилось атласам. Осталось придумать, как разрушить статус-кво с картостилями и недо-векторными тайлами от Mapbox. Мы можем сделать лучше. Карта должна быть свободной.<\/p>\n",
            "date_published": "2019-08-20T14:13:03+04:00",
            "date_modified": "2019-08-20T14:12:03+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/kiiv_old_map.jpg",
            "_date_published_rfc2822": "Tue, 20 Aug 2019 14:13:03 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1490",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/kiiv_old_map.jpg",
                    "https:\/\/shtosm.ru\/pictures\/many_maps.jpg",
                    "https:\/\/shtosm.ru\/pictures\/varna_imagery_w_overlay.jpg",
                    "https:\/\/shtosm.ru\/pictures\/map1eu_sample.jpg"
                ]
            }
        },
        {
            "id": "1488",
            "url": "https:\/\/shtosm.ru\/all\/na-si-bystree\/",
            "title": "Быстрее загружай",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/uploading_changes.jpg\" width=\"851\" height=\"243\" alt=\"\" \/>\n<\/div>\n<p>Возможно, вы заметили, что правки передаются на сервер быстрее. Или не заметили, потому что это не особенно тормозило и раньше. На прошлой неделе код сайта osm.org, Rails Port, <a href=\"https:\/\/git.openstreetmap.org\/chef.git\/commitdiff\/4869af95cca2e03c7d84de5daae9e70cba72be46\">отстранили<\/a> от ещё одной части API: загрузки пакетов правок. Ваши пакеты теперь обрабатывает Cgimap.<\/p>\n<p>Cgimap — это программа на C++, которая обрабатывает часть запросов к OSM API. Сайт написан на Ruby on Rails, поэтому каждый запрос к нему проходит через длинную цепочку обработчиков, не всегда оптимальную. Кроме того, передача данных от базы к клиенту в Rails требует много памяти и задействует сборщик мусора, который напрягает систему. Поэтому запрос \/<i>map<\/i> на скачивание данных был переписан на C++ ещё в 2009 году.<\/p>\n<p>Предполагается, что если появится API 0.7, то он целиком будет сделан внутри Cgimap. Мы давно хотим отвязать API от кода сайта, чтобы дневнички и интерактивная карта остались в Rails Port, а запросы к базе были отдельно. Но работа не кипит, скрипт обрабатывает лишь малую часть запросов. Сложным барьером была поддержка авторизации OAuth, но в 2016 году Мэтт Эймос, главный разработчик Cgimap, её сделал. В мае 2018 Mmd приступил и написал обработчик второго по количеству перекачиваемых данных запроса: \/<i>upload<\/i> для отправки пакетов правок на сервер. Только в начале этого года у разработчиков дошли руки подчистить концы, отрефакторить и приступить к тестированию.<\/p>\n<p>Второго марта бета-версию Cgimap 0.7.0 (это версия программы, не API) подключили к dev.osm.org, 28 марта тестирование закончилось и версию отправили в репозитории. Но у Тома, как водится, руки дошли подключить только после <a href=\"https:\/\/github.com\/openstreetmap\/operations\/issues\/293\">третьего напоминания<\/a>. Пара дней ушла на настройку доступа к базе данных, и с 28 мая пакеты правок обрабатываются сервером быстрее, особенно большие. Поскольку это первый запрос, на котором Cgimap требует аутентификации, в ней нашлись несколько проблем, которые поправили в трёх версиях Cgimap за три дня.<\/p>\n",
            "date_published": "2019-06-07T21:23:36+04:00",
            "date_modified": "2019-06-07T21:23:01+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/uploading_changes.jpg",
            "_date_published_rfc2822": "Fri, 07 Jun 2019 21:23:36 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1488",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/uploading_changes.jpg"
                ]
            }
        },
        {
            "id": "1483",
            "url": "https:\/\/shtosm.ru\/all\/desyat-let-api\/",
            "title": "Вечно ноль шестой",
            "content_html": "<p>Ровно десять лет назад проект перешёл на API версии 0.6. API, или протокол, — это то, к чему обращаются приложения-редакторы карты для скачивания и загрузки данных на сервер. Как видно, этот протокол менялся пять раз, причём каждый раз серьёзно: то отношения появятся, то сегменты (отрезки между двумя точками) пропадут. Шестая версия API — последняя. Вчера у неё был юбилей.<\/p>\n<h2>Зачем мне об этом знать?<\/h2>\n<p>API — это не столько протокол обмена информацией, сколько описание модели данных. Именно он определяет, что карта состоит из точек, линий, отношений и тегов, что у объектов есть версии, что в линии не может быть более двух тысяч точек и так далее. Когда менялся протокол, менялась модель данных. Как в реальном мире полезно знать основы физики, в OpenStreetMap полезно знать API.<\/p>\n<h2>Насколько всё странно было раньше?<\/h2>\n<p>Изменения в четвёртой, пятой и шестой версиях <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/API#Summaries_of_editing_API_changes\">перечислены в вики<\/a>. Вторая версия API стала работать через ссылки (REST), а не через сложные запросы XML-RPC, и в ней появились теги. В третьей версии теги вынесли из строкового атрибута xml в отдельные элементы &lt;tag>, а сегменты объединили в линии (way).<\/p>\n<h2>Что изменилось в версии 0.6?<\/h2>\n<p>Появились пакеты правок и номера версий. Раньше объекты загружали по одному, а история адресовалась только по меткам времени. Линии ограничили 2000 точками, пакеты правок — 50 тысячами объектов (позже снизили до десяти тысяч), а члены отношений стали упорядочены (раньше они возвращались в случайном порядке). Кроме того, базу данных перевели с MySQL на PostgreSQL.<\/p>\n<h2>Зачем понадобилось менять протокол?<\/h2>\n<p>В феврале 2008 года, через четыре с половиной месяца после включения API 0.5, Фредерик Рамм написал пропозал «<a href=\"https:\/\/wiki.openstreetmap.org\/w\/index.php?title=Original_Changesets_and_Reverts_Proposal_2008&oldid=89886\">Пакеты правок и откаты<\/a>», который поднимает важную проблему проекта: отмену ошибочных правок — и выводит из неё всё, что со временем вошло в API 0.6.<\/p>\n<p>3-4 мая участники из Великобритании, Германии, Австрии и Нидерландов собрались в Лондоне на «Monitoring and Rollback Hack-a-thon», где обсудили новый API, составили его черновик в вики и наметали новые функции в коде.<\/p>\n<h2>Кто и как писал новый API?<\/h2>\n<p>Короткий ответ: Cloudmade. С 2007 по примерно 2010 годы эта компания была крупнейшей, связанной с OpenStreetMap. Венчурное финансирование помогло фокусироваться не на зарабатывании денег, а на развитии OSM. Среди её сотрудников были известные разработчики Стив Кост, Энди Аллан, Мэтт Эймос, Шон Макдональд и Гарри Вуд. В октябре 2008 они плотно взялись за код Rails Port, оценили фронт работ и разметили задачи. Примерно за две недели большая часть работы была сделана — но было непонятно, где её конец.<\/p>\n<p>Финишный рывок разработчики сделали на неделе 3-9 ноября в лондонском офисе Cloudmade. Присутствовали те же сотрудники плюс Фредерик, Ричард и Грант. Сначала на встрече «APIzza 0.6» участники договорились об окончательном виде API. Затем на хакатоне на выходных они запрограммировали тесты и оставшиеся методы. Немного допилили напильником — и в середине ноября код был готов, а Бретт выпустил Osmosis с полной поддержкой нового API. Напомним, что Osmosis до сих пор является центральным инструментом в OSM: на нём работает репликация, а в то время только эта программа умела вырезать куски из карты и фильтровать по тегам.<\/p>\n<h2>Как переход проходил для пользователей?<\/h2>\n<p>11 декабря Шон Макдональд объявил о <a href=\"http:\/\/web.archive.org\/web\/20090409124456\/https:\/\/wiki.openstreetmap.org\/wiki\/OSM_Protocol_Version_0.6\/Crowd_sourced_Testing\">публичном тестировании<\/a> нового API. На временный сервер загрузили карту Лондона и предлагали пользоваться Potlatch, JOSM, Merkaartor и Osmosis, чтобы отловить все возможные ошибки перед окончательной миграцией.<\/p>\n<p>В конце января Стив Кост объявил о переходе на новый протокол через два месяца. Новая база данных должна была встать на новый сервер, но его не привезли вовремя: переход отложили на 17-20 апреля 2009 года. За день до назначенного времени Энди Робинсон предоставил официальную <a href=\"http:\/\/web.archive.org\/web\/20090425114841\/http:\/\/wiki.openstreetmap.org\/wiki\/OSM_Protocol_Version_0.6\/Information\">информацию<\/a> о переходе. 21 апреля в 9:43 UTC Ричард Фэйрхёрст объявил: «Мы вернулись — с API 0.6, постгресом и новым сервером».<\/p>\n<h2>Так что, отменять правки теперь легко?<\/h2>\n<p>Впервые этот вопрос задали через три часа после включения API 0.6. Тогда был ответ «нет», и сейчас он тоже «нет». Но, по крайней мере, нынче есть <a href=\"https:\/\/forum.openstreetmap.org\/viewtopic.php?id=6129\">выбор инструментов<\/a> разной степени сложности. До кнопки отмены в интерфейсе а-ля википедия нам ещё очень далеко.<\/p>\n<h2>Отлично, а когда перейдём на API 0.7?<\/h2>\n<p>Теперь уже очевидно, что никогда.<\/p>\n<h2>Почему?<\/h2>\n<p>Протокол и модель данных достаточно хороши.  Участники проекта накидывали идеи для следующей версии <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/API_v0.7\">в эту вики-страницу<\/a>; в её разделе «See Also» вы найдёте ещё несколько списков. Но не встретилось ничего настолько важного, что могло бы сподвигнуть сообщество взяться за написание API 0.7. Ни один человек самостоятельно не сможет улучшить протокол, потому что в OpenStreetMap слишком много несущих систем и участников, с которыми нужно договариваться.<\/p>\n<h2>Нельзя ли как-нибудь изменить по мелочам?<\/h2>\n<p>Современный API 0.6 заметно отличается от того, что мы получили десять лет назад. Примерно с 2012 года к нему начали прикручивать дополнительные функции, не затрагивающие модель данных. В мае 2012 приложения смогли узнать, какие у них права. В августе для перелицензирования в API добавили скрытие версий объектов. В апреле 2013 <a href=\"http:\/\/shtosm.ru\/all\/bez-oshibok\/\">появились заметки<\/a>. В ноябре 2014 пакетам правок <a href=\"http:\/\/shtosm.ru\/all\/plody-programmirovaniya\/\">добавили комментарии<\/a>. Последний раз протокол улучшали полгода назад, когда улучшили поиск заметок через \/notes\/search.<\/p>\n<h2>Перелицензирование?<\/h2>\n<p>Забавный факт: 27 февраля 2009 года, в разгар подготовки к замене сервера и протокола, рабочая группа по юридическим вопросам предоставила <a href=\"https:\/\/wiki.openstreetmap.org\/w\/index.php?title=Open_Database_License\/Implementation_Plan&oldid=237497\">план перехода на ODbL<\/a>. По нему, весь процесс должен был занять всего три-четыре месяца — именно во столько поначалу Фредерик оценивал время на переход на API 0.6.<\/p>\n",
            "date_published": "2019-04-22T11:09:35+04:00",
            "date_modified": "2019-04-22T16:11:02+04:00",
            "_date_published_rfc2822": "Mon, 22 Apr 2019 11:09:35 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1483",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1468",
            "url": "https:\/\/shtosm.ru\/all\/etot-polzovatel-yavlyaetsya-vandalom\/",
            "title": "«Этот пользователь является вандалом»",
            "content_html": "<p>Вчера на нашем сайте появились многословные ссылки «сообщить об этой ...». Их можно найти у каждой статьи в дневнике и комментариев к ней, у пользователей и у заметок на карте. При нажатии вы получите форму жалобы модератору, где нужно оценить содержимое текста или профиля (спам, непристойности, угрозы). Со страницы заметки на карте можно пожаловаться на раскрытие личных данных, а у пользователя — пожаловаться на вандала. Жалоба попадёт в ленту, доступную модераторам <i>сайта<\/i> OSM, которые решат проблему.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/report_osm-nq8.png\" width=\"913\" height=\"391\" alt=\"\" \/>\n<\/div>\n<p>Автором этого улучшения можно считать Энди Аллана, который работал над <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/1576\">пул-реквестом<\/a> с июля прошлого года. Но его история куда длиннее. Идея появилась в сентябре 2014 после очередной волны спама в дневничках. Том Хьюз тогда написал, что <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/issues\/841#issuecomment-63868978\">планирует<\/a> добавить кнопку модерации к объектам сайта. Но ничего не произошло.<\/p>\n<p>Далее, в 2015 году Shrey Bagroy предложил поработать на модерацией в рамках Google Summer of Code. Под руководством Серге Вроцлавского он <a href=\"https:\/\/www.openstreetmap.org\/user\/sbagroy986\/diary\/35257\">программировал<\/a> всё лето. Ветка была готова, но из-за каких-то разногласий Shrey не создал пул-реквест, ветка начала стареть, а студент, как водится, исчез сразу после получения денег.<\/p>\n<p>Год спустя Гильем Ришар оформил ту ветку в <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/pull\/1268\">пул-реквест<\/a>. Оказалось, в ней немало проблем: непереводимые сообщения, странные костыли в модели данных, беспорядок в разграничении прав. Мэтт Эймос попробовал исправить самые явные проблемы, но сдался. По традиции, все выждали полгода перед комментированием и затем, в феврале 2017, посокрушались, что работы тут непочатый край. Наконец, в июле Энди взял работу Shrey с исправлениями Мэтта и каждый месяц что-то улучшал. Спустя год и более сотни коммитов, его пул-реквест приняли и выкатили на сайт.<\/p>\n<p>Этот проект был в числе <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/Top_Ten_Tasks\">десяти важнейших задач<\/a>, список которых в феврале этого года обновила рабочая группа по разработке. Теперь задач осталось девять. Среди них есть как технически простые, вроде списка комментариев к пакетам правок для пользователя, так и сложные, вроде типа area или наследника OWL. Если решитесь помочь сообществу, взявшись за одну из задач, то там же найдёте ссылки на работы на ту же тему и людей, к которым можно обратиться за помощью и руководством.<\/p>\n",
            "date_published": "2018-06-19T16:13:24+04:00",
            "date_modified": "2018-06-19T16:13:37+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/report_osm-nq8.png",
            "_date_published_rfc2822": "Tue, 19 Jun 2018 16:13:24 +0400",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1468",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/report_osm-nq8.png"
                ]
            }
        },
        {
            "id": "1454",
            "url": "https:\/\/shtosm.ru\/all\/gdpr-i-my\/",
            "title": "GDPR и мы",
            "content_html": "<p>Регламент по защите данных <a href=\"http:\/\/www.cnews.ru\/articles\/2018-04-05_poka_ne_gryanul_grom_chto_stoit_znat_o_gdpr\">GDPR<\/a> обязывает юрлица, владеющие интернет-сервисами, получать согласие на обработку персональных данных, выдавать собранные данные субъекту и удалять их по первому требованию, и следить, чтобы данные обрабатывались только в соответствии с целями, которые подтверждены пользователем. Всё это работает уже два года, но через три недели включат санкции за неисполнение. А это, на минуточку, 20 млн евро или 4% от годового оборота, смотря что больше. Именно поэтому вы в апреле получили тонну почтовых уведомлений от твитера, гугля, фейсбука и других популярных сервисов.<\/p>\n<p>Бдительные немцы начали обсуждать применимость регламента к OpenStreetMap ещё в <a href=\"http:\/\/translate.google.com\/translate?hl=en&sl=auto&tl=en&u=https%3A%2F%2Fforum.openstreetmap.org%2Fviewtopic.php%3Fid%3D57813\">марте<\/a> прошлого года. Тогда на немецкой конференции внезапно всплыла тема приватности в контексте сайта «<a href=\"https:\/\/hdyc.neis-one.org\/\">How Did You Contribute<\/a>» Паскаля Найса. Мол, все эти пакеты правок и даты в открытом доступе — хорошо, но если их анализировать, можно вытащить слишком многое. Например, сайт Паскаля довольно точно отображает ваш район, часы активности и интересы. Из-за этого автор даже получал угрозы с требованием удалить личные данные.<\/p>\n<p>Результатом стало требование залогиниться для просмотра профилей HDYC. Последовавшие <a href=\"http:\/\/gis.19327.n8.nabble.com\/HDYC-login-requirement-and-quot-privacy-quot-td5896250.html\">споры<\/a> в почтовой рассылке talk@ разбились о твёрдость немцев. Но спустя полгода Паскаль, всё-таки, позволил <a href=\"http:\/\/neis-one.org\/2017\/11\/public-profiles-on-hdyc\/\">открывать<\/a> свои профили.<\/p>\n<h2>Наступил апрель<\/h2>\n<p>Две недели назад Саймон Пул опубликовал 24-страничную <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/File:GDPR_Position_Paper.pdf\">резолюцию LWG по GDPR<\/a>, результат полугода работы активистов OSMF с привлечением внешних консультантов. Зная принципы работы Совета, рекомендации юридической рабочей группы, скорее всего, будут приняты без изменений. Вот что советуют в техническом плане:<\/p>\n<ul>\n<li>убрать метаданные из выгрузок данных (планеты), диффов и вывода OSM API для незарегистрированных пользователей;<\/li>\n<li>под метаданными понимаются логин и числовой идентификатор пользователя, номер и атрибуты пакетов правок, и вероятно — метки времени у объектов;<\/li>\n<li>сделать кнопку для полного удаления профиля (без геоданных) и предоставлять список удалённых пользователей сторонним обработчикам данных;<\/li>\n<li>обновить и заставить пользователей подписать условия использования, ограничивающие способы обработки данных;<\/li>\n<li>авторы сервисов, анализирующих данные, должны будут подписать договор с OSMF, либо самостоятельно разбираться с еврокомиссией.<\/li>\n<\/ul>\n<p>Фредерик Рамм подготовил <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/GDPR\/Affected_Services\">список изменений<\/a> для каждого метода OSM API. Как видно, незарегистрированные пользователи не смогут получать информацию о пакетах правок, пользователях, заметках, GPS-треках и блокировках. Кроме того, придётся прикрутить авторизацию к сайту planet.osm.org, чтобы разделить его на две части: публичную с обрезанными данными и приватную с полным содержимым.<\/p>\n<p>Запрос \/map к OSM API традиционно используется для получения данных в заданной области. В 2016 году этот и другие запросы стало можно делать, передавая заголовки аутентификации: в этом случае не применятся ограничения по частоте запросов. После внедрения вышеупомянутых изменений разница будет более существенной, так как данные начнут разниться в зависимости от наличия аутентификации. Один из авторов Overpass API <a href=\"https:\/\/github.com\/openstreetmap\/openstreetmap-website\/issues\/1848\">заметил<\/a>, что сайт OpenStreetMap не передаёт эти заголовки при экспорте данных. Очевидно, похожие задачи придётся решать и авторам других веб-приложений для работы с данными OSM. Редактор iD <a href=\"https:\/\/github.com\/openstreetmap\/iD\/pull\/3519\">уже готов<\/a>.<\/p>\n<h2>Как готовятся другие<\/h2>\n<p>Роланд, автор Overpass API, бунтует: в мае прошлого года он написал <a href=\"https:\/\/dev.overpass-api.de\/blog\/fahrenheit_451.html\">заметку<\/a> с фразами, апеллирующими к «1984» и «451°F»: мол, переписывание истории — это подрыв доверия к данным. Он считает, что пользователей с данными связывают только идентификаторы и логины: так давайте не прятать метаданные пакетов правок, а защищать пользователей. То есть, позволять им плодить сколько угодно новых user id, вручную или автоматически, чтобы размыть свой след в базе. Хотя едва ли это поможет тем 99% пользователей, которые не задумываются о приватности.<\/p>\n<p>Сервис Overpass API работает без регистрации, и многие картографы пользуются им для редактирования карты. В будущем релизе 0.7.55 нет ограничений на метаданные.<\/p>\n<p>Компания Geofabrik <a href=\"https:\/\/blog.geofabrik.de\/?p=484\">разделила<\/a> свой сервер с выгрузками на два: для получения полных данных нужно зарегистрироваться на «<a href=\"https:\/\/osm-internal.download.geofabrik.de\/\">osm-internal<\/a>» и качать файлы из браузера, а на старом сервере пропали исторические дампы (*.osh.pbf) и вырезаны метаданные из обычных выгрузок. Там нет логинов и идентификаторов пользователей и пакетов правок, но метки времени сохранены. От этого файлы pbf похудели примерно на 10%.<\/p>\n<p>Выгрузки от <a href=\"http:\/\/download.bbbike.org\/osm\/\">BBBike<\/a> не содержат никаких метаданных, даже меток времени. «Идите на osm.org или заплатите 99 евро в месяц». Остальные сервисы регулярных выгрузок, включая французский, швейцарский или наш гис-лаб, не вносили никаких изменений в процесс: метаданные как были, так и остались.<\/p>\n<p>Сервисы для анализа правок и поведения пользователей OpenStreetMap, не считая HDYC, всё ещё не требуют входа через OSM и не планируют сделать его обязательным. Как я понимаю, частных лиц регламент GDPR не касается, поэтому сервисы типа <a href=\"http:\/\/whosthat.osmz.ru\/\">Who’s That<\/a>, явно нарушающие приватность пользователей, не пострадают. Разве что придётся их подкрутить, чтобы скачивать диффы с сервера OSM под логином автора.<\/p>\n",
            "date_published": "2018-05-04T19:27:50+04:00",
            "date_modified": "2018-05-04T20:22:55+04:00",
            "_date_published_rfc2822": "Fri, 04 May 2018 19:27:50 +0400",
            "_rss_guid_is_permalink": "true",
            "_rss_guid": "https:\/\/shtosm.ru\/all\/gdpr-i-my\/",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1437",
            "url": "https:\/\/shtosm.ru\/all\/overpass-kladyot-v-osm\/",
            "title": "Overpass кладёт в OSM",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/shtosm.ru\/pictures\/overpass-to-osm-nq8.png\" width=\"700\" height=\"350\" alt=\"\" \/>\n<\/div>\n<p>Этой ночью Мартин Райфер научил <a href=\"http:\/\/overpass-turbo.eu\/\">Overpass Turbo<\/a> сохранять запросы не только в локальное хранилище браузера, но и прямо в OSM API, после авторизации. Вы увидите свои запросы на всех компьютерах и на любой копии сервиса.<\/p>\n<p>Кажется, это второй случай использования <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/API_v0.6#Preferences_of_the_logged-in_user\">Preferences API<\/a> популярным приложением. Первым был редактор Merkaartor, который <a href=\"https:\/\/trac.openstreetmap.org\/changeset\/12158\/subversion\">задействовал<\/a> эти функции, когда версия API была ещё 0.5, и наткнулся на ограничение в 150 тегов. Потому что теги и настройки обрабатывались одним и тем же кодом. Были предложения сохранять настройки в OSM и другим редакторам — JOSM и iD, но забылись за отсутствием интереса.<\/p>\n<p>Кроме ста пятидесяти настроек <i>за раз<\/i>, у API есть ещё ограничение: не больше 255 символов на строку. Длинные запросы Overpass Turbo сохраняет в несколько ключей и склеивает их при загрузке.<\/p>\n<p>Наконец, API не решает задачу публикации кода запроса. Пусть сервис сам по себе — библиотека запросов с удобным интерфейсом, <a href=\"https:\/\/github.com\/tyrasd\/overpass-turbo\/issues\/219\">было бы здорово<\/a> отвязаться от неё и загружать код в GitHub Gist вместе с коротким примером использования в Leaflet. Ровно как это делает Geojson.io при нажатии кнопки «Share».<\/p>\n",
            "date_published": "2017-06-26T15:53:19+04:00",
            "date_modified": "2017-06-27T11:26:55+04:00",
            "image": "https:\/\/shtosm.ru\/pictures\/overpass-to-osm-nq8.png",
            "_date_published_rfc2822": "Mon, 26 Jun 2017 15:53:19 +0400",
            "_rss_guid_is_permalink": "true",
            "_rss_guid": "https:\/\/shtosm.ru\/all\/overpass-kladyot-v-osm\/",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/shtosm.ru\/pictures\/overpass-to-osm-nq8.png"
                ]
            }
        },
        {
            "id": "1422",
            "url": "https:\/\/shtosm.ru\/all\/chas-sozercaniya-karty\/",
            "title": "Час созерцания карты",
            "content_html": "<p>12 марта, в воскресенье, сервер базы данных OpenStreetMap <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/2017_March_server_maintenance\">отключат на час<\/a>, с 14:00 до 15:00 по московскому времени. Возможно, управятся быстрее. В этот час лучше посмотреть свежую серию чего-нибудь на Netflix или в Амедиатеке, потому что на сайте останется работать разве что тайловый слой и поиск. Всё остальное — нет:<\/p>\n<ul>\n<li>В API нельзя будет ничего загрузить, даже скачивать нельзя.<\/li>\n<li>Войти на сайт не получится. Соответственно, на другие сайты, используя OAuth через OpenStreetMap, тоже. Это касается и форума.<\/li>\n<li>GPS-треки, дневнички, просмотр пакетов правок и элементов карты отключат.<\/li>\n<\/ul>\n<p>Работать с картой в этот час можно двумя способами. Либо скачать нужную область в JOSM за десять минут до отключения и обклацывать домики, чтобы не напороться на конфликт правок при загрузке через час-полтора. Либо установить MAPS.ME и пойти на улицу, искать новые заведения и обновлять время работы у уже обозначенных.<\/p>\n",
            "date_published": "2017-03-07T12:58:01+04:00",
            "date_modified": "2017-03-07T12:57:55+04:00",
            "_date_published_rfc2822": "Tue, 07 Mar 2017 12:58:01 +0400",
            "_rss_guid_is_permalink": "true",
            "_rss_guid": "https:\/\/shtosm.ru\/all\/chas-sozercaniya-karty\/",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3576,
    "_e2_ua_string": "E2 (v3576; Aegea)"
}