Book Corners получил стартовые данные из OpenStreetMap: тысячи публичных книжных полок по всему миру. Проект также принимает новые библиотеки от пользователей — человек присылает точку и фото, после модерации запись появляется в сервисе. Автору показалось справедливым, чтобы такие пользовательские добавки можно было отправлять обратно в OSM, если их там нет.
Задумка была осторожной: пользователь явно соглашается на передачу, администратор проверяет библиотеку, сервис ищет дубликаты в OSM, администратор смотрит точные данные перед отправкой, и только после подтверждения они записываются. С точки зрения кода это выглядело просто: согласие, статусы, предпросмотр, авторизация через OAuth и вызов API.
Сложность оказалась не в коде. OSM может считать такие данные внешним импортом, а подготовку и отправку — автоматизированными правками. Консервативное прочтение OSM Import Guidelines и Automated Edits code of conduct требует гораздо большего: отдельный аккаунт для импорта, подробный план на OSM Wiki, описание источника данных, лицензии, маппинга, поиска дубликатов, софта, проверок качества, политики changeset и отката. Нужно открыть обсуждение на OSM Community Forum, связаться с локальными сообществами, пережить период ревью, вести постоянные ссылки между планом, обсуждениями и changeset, а также поддерживать контакты для вопросов и жалоб.
Есть и лицензионные вопросы. Согласие пользователя отправить библиотеку в OSM — это не то же самое, что чистое право публиковать информацию под совместимыми с OSM условиями. Пользователю нужно объяснять, что данные не скопированы из несовместимого источника.
Автор понимает, почему правила такие жёсткие. OSM — общая база, плохой импорт может наплодить дубликатов, затереть локальные знания, создать ошибки, которые потом сложно убрать. Хорошие намерения не гарантируют хорошие данные. Сам Book Corners выиграл от качества OSM, поэтому требовать исключения было бы лицемерно.
Но цена процесса высокая. Маленький проект превращается в оператора задокументированной импортной программы. Для низкообъёмной фичи это чрезмерно. Дополнительные аккаунты, код аудита, процессы, лицензирование и долгая поддержка съедают время, которое лучше потратить на поиск, модерацию, фото, доступность, переводы и мобильное приложение. Доброй воли недостаточно.
Решение: реализацию записи в OSM приостановили на неопределённый срок. Book Corners продолжит признавать OSM источником импортированных записей и никогда не отправит их обратно как новые. Пользовательские добавки останутся только в Book Corners. Ничего не пишет в OSM прямо сейчас, так что ничего отключать не нужно. Автор вернётся к идее, если появится лёгкий процесс или масштаб это оправдает, но пока ответственный выбор — не строить фичу, которую невозможно нормально поддерживать. Иногда правильная фича — отсутствие фичи.