[OSM-dev] OSM tile server issue

Grant Slater openstreetmap at firefishy.com
Thu May 30 19:31:45 UTC 2019


Hi Rodolfo,

Reply per snippet...

On Thu, 30 May 2019 at 19:38, Justmapzz Rodolfo <rodolfo at justmapzz.com> wrote:
>
> Here is another victim of your usage policy.
> I am the main developer of Justmapzz, which uses GMAP.NET for map viewing.
> Since 2 days our users can no longer view OSM, because you blocked that library for everybody.
> We have always used GMAP.NET  "as is", without diving into the code.
> Now that Grant Slater indicated a portion of the code that defines a user-agent, I had a close look at that detail and I must admit, that this definition of the user-agent gives room for doubt, but mainly because it makes it more difficult for you to develop server behaviour, based on the user-agent info.
> So I changed the definition of the user-agent to a fixed string complying with the directions for the syntax of user-agents and checked the response of your tile server to discover that nothing has changed, still error 403. Apparently you use more filter conditions.

For the benefit of others, here is the semi-random generated
User-Agent the GMAP.NET library creates:
https://github.com/radioman/greatmaps/blob/master/GMap.NET.Core/GMap.NET.MapProviders/GMapProvider.cs#L333-L336

And the GMAP.net's developer's response:
https://github.com/radioman/greatmaps/issues/132

> But wait a minute! A user agent was not designed for access control, but mainly for indicating the nature of a request initiator (=the software) to optimize the web response (an exception to this is the detection and blocking of bots).

Yes, please review the "Technical Usage Requirements" here:
https://operations.osmfoundation.org/policies/tiles/ and once you are
in compliance the tiles will work for you again.
The service is free. We are not paid for you using it. I am a
volunteer. The service is primarily for OpenStreetMap mappers and
hobbyists doing cool and novel things.

> That is why the vast majority of service providers use license keys, or whatever they call them.
> Then every web request must include the license key in order to gain access to the requested information.
> This system also makes it easy to check the usage level or block an individual license for any reason, without affecting other users.

Should we implement it them? Are you willing to develop the supporting
stack for us?
Who will maintain it?

> In this case, it would be much easier to detect the users that cause capacity problems and block only the problematic users, instead of "punishing" all users of a certain app, based on the software libraries, that app uses.
> Have you ever considered the introduction of a license key system?
> In the mean time, what must we do to comply with your usage policy, other than changing the user-agent, which appeared to be insufficient?
> Thanks for any help.

See above.

Kind regards,

Grant
Part of the OpenStreetMap sysadmin team.



More information about the dev mailing list