mirror of
https://github.com/hyperknot/openfreemap.git
synced 2026-05-21 14:02:15 +00:00
text
This commit is contained in:
161
website/text.md
Normal file
161
website/text.md
Normal file
@@ -0,0 +1,161 @@
|
||||
# OpenFreeMap
|
||||
|
||||
## What is this?
|
||||
|
||||
OpenFreeMap is a free, open-source OpenStreetMap based map hosting service for everyone.
|
||||
|
||||
It's truly free: there is no limit on the amount of map views or requests you can make.
|
||||
|
||||
Actually, there is not even a registration page or a user database, there are no API keys nor cookies.
|
||||
|
||||
It's truly open source, not open core. Everything, including the last production detail is up on GitHub.
|
||||
|
||||
## Why is this important?
|
||||
|
||||
OpenStreetMap is one of the most important collective projects in history. More than 3 million edits are made each day, over 2 million users have contributed to the project so far.
|
||||
|
||||
The problem starts when you want to use a map on your website or app: you need to look for a commercial map provider and hope your site doesn't get too popular, otherwise you might end up with a $10,000 bill in a single day, like Hoodmaps did [*](https://twitter.com/levelsio/status/1730659933232730443).
|
||||
|
||||
Or you can try self-hosting, but it requires a big server and a lot of time to get it right.
|
||||
|
||||
Well, it required: OpenFreeMap also allows you to self-host with a single command.
|
||||
|
||||
## Who is behind this project and why?
|
||||
|
||||
I'm Zsolt Ero (twitter, blog). I've created [MapHub](https://maphub.net/) and I've been running map hosting in production for 8 years.
|
||||
|
||||
Why did I make this? Because I waited for years for someone to offer this service, but realised no one is going to make it. So, I thought I might use my map hosting experience and do it.
|
||||
|
||||
I'll share more about the why in a blog post in the future, feel free to subscribe on the links above.
|
||||
|
||||
## How can I use it?
|
||||
|
||||
Include [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/) in `<head>`
|
||||
|
||||
```
|
||||
<script src='https://unpkg.com/maplibre-gl/dist/maplibre-gl.js'></script>
|
||||
<link href='https://unpkg.com/maplibre-gl/dist/maplibre-gl.css' rel='stylesheet'/>
|
||||
```
|
||||
|
||||
And use the following in your HTML:
|
||||
|
||||
```
|
||||
<div id='map' style='width: 600px; height: 400px;'></div>
|
||||
|
||||
<script>
|
||||
var map = new maplibregl.Map({
|
||||
style: 'https://tiles.openfreemap.org/styles/liberty',
|
||||
center: [-74.5, 40],
|
||||
zoom: 9,
|
||||
container: 'map',
|
||||
})
|
||||
</script>
|
||||
```
|
||||
|
||||
If you've used Mapbox GL before, please migrate to MapLibre. It is based on the last open-source version of Mapbox GL, before it went closed-source. A Leaflet based snippet is coming soon.
|
||||
|
||||
For mobile apps, you can do the same with [MapLibre Native.](https://maplibre.org/)
|
||||
|
||||
|
||||
|
||||
## How can I donate or support this project?
|
||||
|
||||
...
|
||||
|
||||
|
||||
|
||||
## How can I follow this project?
|
||||
|
||||
github
|
||||
|
||||
twitter zsolt
|
||||
|
||||
twitter ofm
|
||||
|
||||
mastodon zsolt
|
||||
|
||||
mastodon ofm
|
||||
|
||||
|
||||
|
||||
#### Is commercial usage allowed?
|
||||
|
||||
Yes.
|
||||
|
||||
|
||||
|
||||
#### How can this work? How can a one person project offer unlimited tile hosting for free?
|
||||
|
||||
There is no technical reason why vector tile hosting should cost as much as it does today.
|
||||
|
||||
Vector tiles are just static files. OK, serving 300 million files is not easy, but at the end of the day they are just files.
|
||||
|
||||
Financially, the plan is basically I keep buying Hetzner servers until they cover the load. I believe it can work, if enough people contribute with the support plans.
|
||||
|
||||
|
||||
|
||||
### What is the tech stack?
|
||||
|
||||
The map schema is [OpenMapTiles](https://github.com/openmaptiles/openmaptiles).
|
||||
|
||||
The tiles are generated by [Planetiler](https://github.com/onthegomap/planetiler).
|
||||
|
||||
There is no tile server running, only BTRFS partition images with 300 million hard linked files.
|
||||
|
||||
The server is nginx on Ubuntu.
|
||||
|
||||
There is no cloud, just dedicated servers on Hetzner.
|
||||
|
||||
Currently using Cloudflare, but designed so that it can be changed any time.
|
||||
|
||||
Moreover, a lot of work went into customising the styles at [openfreemap-styles](https://github.com/hyperknot/openfreemap-styles).
|
||||
|
||||
|
||||
|
||||
### What about PMTiles hosted on the cloud?
|
||||
|
||||
I would have loved to use PMTiles, they are a brilliant idea!
|
||||
|
||||
Unfortunately, making range requests in 80 GB files is just not working in production. They are fine for < 500 MB files, but have terrible latency and caching issues for full planet datasets.
|
||||
|
||||
|
||||
|
||||
## Licenses and attribution
|
||||
|
||||
If you are using MapLibre, all attributions are taken care of.
|
||||
|
||||
If you are using this in a printed media or web, please attribute:
|
||||
|
||||
<a href="https://openfreemap.org/" target="_blank">OpenFreeMap</a> <a href="https://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a> Data from <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>
|
||||
|
||||
|
||||
|
||||
don't need to display the OpenFreeMaps text, but it's nice if you do.
|
||||
|
||||
Map data from [OpenStreetMap](https://www.openstreetmap.org/copyright).
|
||||
|
||||
[OpenMapTiles](https://github.com/openmaptiles/openmaptiles) code is released under the [BSD 3-Clause License](https://tldrlegal.com/license/bsd-3-clause-license-(revised)), design under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). [LICENSE.md](https://github.com/openmaptiles/openmaptiles/blob/master/LICENSE.md).
|
||||
|
||||
##### Styles
|
||||
|
||||
###### Bright
|
||||
|
||||
Fork from [openmaptiles/osm-bright-gl-style](https://github.com/openmaptiles/osm-bright-gl-style). The OSM Bright GL Style is derived from [Mapbox Open Styles](https://github.com/mapbox/mapbox-gl-styles). The OSM Bright GL Style’s code is released under the [BSD 3-Clause License](https://tldrlegal.com/license/bsd-3-clause-license-(revised)). The OSM Bright GL Style’s design is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). [LICENSE.md](https://github.com/openmaptiles/osm-bright-gl-style/blob/master/LICENSE.md).
|
||||
|
||||
###### Liberty
|
||||
|
||||
Fork from [maputnik/osm-liberty](https://github.com/maputnik/osm-liberty). OSM Liberty is a fork of OSM Bright. The OSM Bright GL Style is derived from [Mapbox Open Styles](https://github.com/mapbox/mapbox-gl-styles). The OSM Bright GL Style’s code is released under the [BSD 3-Clause License](https://tldrlegal.com/license/bsd-3-clause-license-(revised)). The OSM Bright GL Style’s design is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). [LICENSE.md](https://github.com/maputnik/osm-liberty/blob/gh-pages/LICENSE.md).
|
||||
|
||||
###### Positron
|
||||
|
||||
Fork from [openmaptiles/positron-gl-style](https://github.com/openmaptiles/positron-gl-style). The Positron GL Style is derived from [CartoDB Basemaps](https://github.com/CartoDB/CartoDB-basemaps) designed by Stamen and Paul Norman for CartoDB Inc., licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/). The Positron GL style’s code is released under the [BSD 3-Clause License](https://tldrlegal.com/license/bsd-3-clause-license-(revised)). The Positron GL Style’s design is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). [LICENSE.md](https://github.com/openmaptiles/positron-gl-style/blob/master/LICENSE.md).
|
||||
|
||||
##### Fonts
|
||||
|
||||
[Noto Sans](https://www.google.com/get/noto/) is released under the [SIL Open Font License, Version 1.1](https://openfontlicense.org/)
|
||||
|
||||
**Icons**
|
||||
|
||||
The [Maki POI icon set](https://github.com/mapbox/maki/blob/master/LICENSE.txt) is licensed under CC0 1.0 Universal.
|
||||
|
||||
The right arrow was derived from [Wikipedia](https://commons.wikimedia.org/wiki/File:Arrowright.svg), it is public domain.
|
||||
Reference in New Issue
Block a user