Hacker News new | past | comments | ask | show | jobs | submit login
MapLibre GL is a free and open-source fork of mapbox-gl-JS (github.com/maplibre)
264 points by atriix on April 3, 2021 | hide | past | favorite | 29 comments

From https://github.com/mapbox/mapbox-gl-js

> Mapbox gl-js version 2.0 or higher (“Mapbox Web SDK”) must be used according to the Mapbox Terms of Service. This license allows developers with a current active Mapbox account to use and modify the Mapbox Web SDK. Developers may modify the Mapbox Web SDK code so long as the modifications do not change or interfere with marked portions of the code related to billing, accounting, and anonymized data collection. The Mapbox Web SDK only sends anonymized usage data, which Mapbox uses for fixing bugs and errors, accounting, and generating aggregated anonymized statistics. This license terminates automatically if a user no longer has an active Mapbox account.

Seems their client code does some things related to "billing, accounting, and anonymized data collection" and they don't want programmers to disable or modify that code.

Is that right? Anyone who has followed this have more information? I haven't used mapbox in a few years but I think it's great technology.

The software stopped being open source from v2 onwards. The new licence makes it merely shared source.

This GitHub issue where this change is announced provides a number of more in-depth explanations why this is a bad thing for most users of the software: https://github.com/mapbox/mapbox-gl-js/issues/10162

There was a big HN discussion about it a few months back https://news.ycombinator.com/item?id=25347310

I feel like this discussion about Amazon Location Service is also relevant for anyone interested -- https://news.ycombinator.com/item?id=25444615

The billing is pretty important.

Using Mapbox GL JS 2.0 offline using a local tile server still requires an account and a per tile fee.

> per tile fee

Per map load fee

Oops. My bad. It still is a nonstarter for offline OSM apps.

Besides the JS version, the Maplibre project also maintains a FOSS fork of the matching mobile libraries at https://github.com/maplibre/maplibre-gl-native

I wanted to try this, it so I opened the demo https://codepen.io/klokan/pen/WNoZRyx and 30 mins later I am lost looking at Hungarian villages for some reason...

Have you tried Geoguessr[1]?

[1] https://www.geoguessr.com/ (no affiliation)

Hungarian villages are fascinating. Are you tuning into something, in particular, about them? (For me, its the village sun alignments/road-parallelism that fascinates..)

I was following the Austrian border, in places it is hilariously convoluted, assuming it follows meandering rivers - the effect on fields and contrast to straight villages is fun...

How does this compare with openlayers?

Mapbox GL/MapLibre GL does one thing and does it incredibly well: vector map rendering from tiled data (MVT format) in the common Web Mercator projection.

OpenLayers is a bit more of a Swiss Army knife. It's a valuable part of many web GIS workflows, but its vector tile rendering is a long way behind MBGL's.

I've tried very recently with Openlayers and their OL-Mapbox style package[0] - it wasn't too bad TBH, but not great.

Maplibre is still very nascent and needs a lot of work until it is ready to be used in anger. I do wonder if it would be better to put effort into Openlayers rather than trying to maintain this library - as others have pointed out, OL provides so much more.

[0]: https://github.com/openlayers/ol-mapbox-style

Last time I tried, Mapbox is very primitive as a GIS front end but fine as a basic Web mapping UI.

I find that Openlayers has more of the capabilities I need when building complex mapping UIs.

Exactly the opposite experience.

Openlayers Web GL suppot is rudimentary.

Maplibre is certainly weak in the "GIS front" like coordinate transformation or WMS stuff etc.

But yes, the one big feature missing in openlayers is Web GL support for vector tiles. There was some support for this but due to bugs (or something else?) they removed it in the latest version. Note that openlayers has Web GL support for e.g. point cloud.

I do wish Openlayers did WebGL better but I found Mapbox to be far too primitive to do anything beyond your basic map views and interactions.

Once I got to "user has to author their own city data on a dozen layers" it was missing a lot of authoring features required.

How does this compare to cesiumjs? https://github.com/CesiumGS/cesium

Mapbox is first and foremost a 2D mapping tool that can do some limited 3D. Cesium is first and foremost a 3D mapping tool that can do some limited 2D.

Also while the Cesium core remains Open Source more and more of the tools and extras needed to make something really useful are starting to require expensive licenses.

Thank you! This was very helpful as we are focusing on 3D.

Cool does anyone have experience of using this?

We are using it at couchers.org. It's a drop-in replacement to the 1.x versions which were properly open source.

Wow that is cool, good to see a couch surfing alternative. Have you gotten a decent amount of users?

There have been Couchsurfing alternatives for years and years. BeWelcome is a registered non-profit in France that has been around since ~2008, while Trustroots (also a registered non-profit) was founded in 2014 to provide a site whose web infrastructure could develop more quickly through hackathons, and would be more friendly to alternative travelers like hitchhikers.

The only reason some people saw a need for Couchers is because they wanted a site that was a more faithful clone of Couchsurfing, except without Couchsurfing's recent turn towards paywalls. However, people who have been involved in internet hospitality exchange for many years are concerned about this kind of duplication of effort. There were also concerns about Couchers’ non-profit status in the beginning, but one does have to give them credit for swiftly resolving that.


We have people testing, but we aren't pushing for adoption yet until we have a more complete MVP

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact