TL;DR: We need to find a scheme for paying mapping companies for their services. Otherwise, it will be difficult to advance the apps and have functioning ecosystem
This message is regarding mapping applications. While similar line of thought maybe valid for other services, let’s keep discussion focused on mapping. It is not limited to Pure Maps, nor Sailfish OS and is the issue that is common for many open-source mapping apps on all platforms.
While apps could be written as a hobby, there are several aspects in providing maps that end up as costs for CPU, storage, and network. In principle it applies for online and offline maps, as both require data processing and serving it. Add here salaries and other costs for companies providing the services and we get a set of costs that have to be payed for.
Assuming that we want nobody tracking us, respecting our privacy, and not showing ads, we have to figure out how to pay for maps. There are several companies that provide mapping services which fit the task (see note 1 below). So far, all these companies operate in business-to-business manner. Right now, in the context of Pure Maps, we use a part of the service that is given for free per each month and no payed services. So, while companies pay for the services, there is no influx of money via us for it. Such arrangement cannot really work in a long run. Already for Pure Maps, it is an issue (note 2 below).
One way is to reduce the costs and move all to what the developers can share as a part of the hobby. For example, move towards offline maps and accept limitations of updates and distribution. While @karry seems to be able to do all at home, I am using @MartinK’s former lab server to distribute maps. Not sure for how long can it last and there is no way we can provide live traffic through such scheme, for example.
For online maps, the scheme for the services is similar throughout the sector: you get API keys and access services using it. There is some chunk of API calls that are given for free per month, but as soon as you extend it, you are expected to pay. That way companies make sure that it is simple and free to develop against the services, but they get money for their work when app gets popular. Which is a fine approach for apps generating revenue, but doesn’t really work well for open source apps.
I have contacted Maptiler regarding a change in API scheme and whether they would be interested in switching it to a scheme where each user is charged. They were considering it, but it got shelved as I suspected that number of users is too low and it would generate too little revenue for them (I had an estimate of 4KEUR/year). Drawback of going to providers directly would also require negotiations with each of the providers separately and same goes for payment by users.
As a developer and a user, I would like to have some kind of a proxy company that would
- collect money from users
- pay each provider for all users
- keep track on how much each user spent and take money from their account
On mapping app side, each user would have account with Proxy company and would be able to fetch corresponding API keys. Users would pay for services that they used and probably some overhead for keeping Proxy alive.
This should be possible through providing API keys for services via Proxy company API, by having each user accessing their individual keys. Lots of infrastructure is already there for several mapping companies, we can probably get something like it negotiated while adding as backends for Proxy company. Such as having ability to get many API keys from service, get stats on every API key and change the keys via API.
I wonder whether we have people in the community with the expertise on setting up companies and whether such scheme would work taking into account relevant laws. I am sure if such service would exist, it would be of interest to other mapping apps as well, not just Pure Maps.
For reference, I would expect to have a fee below 10EUR/year. But that’s expectation from my maps use and I have no idea on what kind of overheads we should expect.
Note 1: Some companies: Mapbox, Maptiler, Stadiamaps, HERE, to name few. One can argue on whether they serve ads, I just don’t know.
Note 2: In context of Pure Maps, we are getting hit with monthly free limit for tiles every months. As a result, I am getting regularly issues like HTTP status code 403 · Discussion #608 · rinigus/pure-maps · GitHub . With one company we had to close the support as it became clear that we don’t have any viable scheme for paying for maps.
Q & A:
Q: if these mapping services are using OSM data on the backend, what value are they adding versus having PureMaps itself parse the raw OSM data? (asked by twrightsman)
A: In practical terms, OSM data is available as PBF or XML. Used data format is not very handy for end-user apps and usually requires analyzing data and converting to something that would be faster to display and search (see data format description in OpenStreetMap - Wikipedia). Alternatively, app would have to download data, work on it (maybe hours depending on data size) and then process your request. So, here is where the services come in. They process data and make querying it simple (show tiles, search for address, find route). Same goes for offline maps - such preprocessing is done before maps are distributed to end-clients. So, the value provided by services is something that makes OSM useful.
Another aspect is that OSM does not want to start paying for huge amount of users accessing it directly. It could quickly become very expensive and they offload this to service companies.