Why Book Corners won't sync contributions back to OpenStreetMap

Aug 03, 2026 07:12 AM - 5 hours ago 3

A characteristic that sounded evidently good

When I introduced Book Corners, I explained that overmuch of its first information came from OpenStreetMap. OSM gave the task a useful starting point, pinch thousands of nationalist bookcases already mapped astir the world.

Book Corners besides accepts caller libraries straight from its users. People tin taxable a location and a photo, and the publication becomes nationalist aft moderation. It seemed only adjacent that, erstwhile 1 of those submissions was missing from OSM, Book Corners should beryllium capable to lend it back.

The thought was not to create an uncontrolled inheritance synchronisation process. The workflow I had successful mind was deliberately cautious:

  • The personification submitting the room would explicitly let the contribution.
  • An administrator would reappraisal the room first.
  • Book Corners would hunt OSM for imaginable duplicates.
  • The administrator would preview the nonstop information being sent.
  • Nothing would beryllium written until the administrator confirmed it.

From a software-development perspective, this looked for illustration a manageable integration: adhd consent, way publication state, build a preview, authenticate pinch OSM, and create the caller characteristic done its API.

The codification was not the difficult part.

Contributing information is not conscionable an API call

Once I started researching the implementation properly, I discovered that penning to the API was only a mini portion of the work.

Because the accusation would travel from the Book Corners database, OSM could see it an external-data import. Because package would hole and taxable the changes, it could besides autumn nether the rules for script-assisted aliases automated edits, moreover though an administrator would reappraisal each individual library.

Following the blimpish mentation of the OSM Import Guidelines and the Automated Edits codification of conduct would require much than a dedicated relationship and an OAuth token.

Before the first accumulation contribution, I would request to:

  • Create and support a dedicated OSM import account.
  • Publish a elaborate import scheme connected the OSM Wiki.
  • Document the information source, licensing, section mapping, copy detection, software, value checks, changeset policy, and rollback procedure.
  • Open a connection connected the OSM Community Forum.
  • Contact the applicable section communities affected by the contributions.
  • Wait done the reappraisal play and resoluteness immoderate concerns.
  • Keep imperishable links betwixt the import account, plan, discussions, and changesets.
  • Maintain a interaction and opt-out way for early questions aliases complaints.

There are besides important licensing questions. A user’s support to nonstop a room to OSM is not automatically the aforesaid arsenic having a sufficiently clear correct to merchandise that actual accusation nether position compatible pinch OSM. The user-facing mentation and consent would request to screen that distinction, including confirming that the accusation was not copied from an incompatible source.

These requirements are not a one-time shape to complete and forget. They create an ongoing work astir the account, the documented process, organization feedback, failures, and imaginable reversions.

I understand why these rules exist

OpenStreetMap is simply a shared world database. A bad import tin create thousands of duplicates, overwrite amended section knowledge, aliases present errors that are difficult to region erstwhile different group person edited the aforesaid objects.

From that perspective, requiring documentation, licensing clarity, copy handling, accountable operators, and organization chat is reasonable. The OSM organization has to protect the value of the map, and bully intentions do not guarantee bully data.

Book Corners itself benefited from that information quality. It would beryllium hypocritical to expect OSM to judge changes from an outer work without safeguards.

At the aforesaid time, the process has a existent cost. It asks a mini task to go not only an API client, but besides the usability of a documented import programme. That whitethorn beryllium due for organisations importing ample datasets, but it is simply a sizeable committedness for a low-volume characteristic whose only intent was to lend a fewer cautiously reviewed nationalist bookcases backmost to the commons.

The operational activity outweighs the value

Book Corners has a elemental purpose: thief group observe small free libraries and stock caller ones pinch others.

Operating an OSM publication pipeline is not cardinal to that purpose. It would adhd credentials, accumulation safeguards, audit and reconciliation code, organization processes, licensing work, and a semipermanent support obligation. Every portion is individually defensible, but together they make this a overmuch larger characteristic than I initially intended.

There is besides an opportunity cost. Time spent operating this integration is clip not spent improving room discovery, moderation, photos, accessibility, translations, aliases the mobile experience. Those improvements straight thief Book Corners users and are overmuch easier for a mini task to sustain.

I started from the emotion that contributing backmost was simply the bully and adjacent point to do. After investigating it, I nary longer deliberation goodwill unsocial is capable logic to judge an open-ended operational responsibility.

The decision

I person decided to suspend the OSM write-back implementation indefinitely.

Book Corners will proceed to admit OpenStreetMap arsenic the root of records imported from it, and OSM-imported libraries will ne'er beryllium submitted backmost arsenic if they were new. But libraries contributed straight to Book Corners will stay successful Book Corners; the work will not automatically aliases manually create matching OSM objects.

Nothing presently writes from Book Corners to accumulation OSM, truthful suspending the activity does not require disabling aliases migrating an existing integration.

I whitethorn reconsider the determination if a genuinely lightweight workflow becomes available, aliases if the standard and worth of Book Corners contributions yet warrant the process. Another anticipation would beryllium a user-driven workflow that opens a projected characteristic successful an existing OSM editor, though that would still request to beryllium discussed pinch the organization alternatively than treated arsenic a measurement astir the rules.

For now, the responsible prime is not to build and run a characteristic I americium not assured I tin support properly.

Sometimes the correct characteristic is nary feature

It is easy to deliberation of implementation decisions arsenic purely technical: tin the API do it, tin the exertion authenticate, and tin the codification debar duplicates?

This acquisition was a reminder that outer integrations besides travel pinch organisational and societal contracts. Sometimes those contracts are much costly than the code. Discovering that earlier deployment is useful, moreover erstwhile the consequence is disappointing.

I still judge contributing information backmost to shared unfastened projects is valuable. I besides understand why OSM protects its database truthful carefully. But for Book Corners, astatine its existent scale, the equilibrium betwixt use and work does not work.

So this is 1 characteristic I americium choosing not to ship.

More