MapLibre: fork de código abierto de Mapbox GL
Publicado el 08 de enero de 2021 Actualizado el 05 de febrero de 2021

Después de que Mapbox anunciara el cierre de Mapbox GL JS, su biblioteca JavaScript para mostrar mapas utilizando WebGL, la comunidad tomó la decisión colectiva de mantener y seguir desarrollando la última versión de código abierto y construir una alternativa gratuita. Lee la historia y los detalles técnicos.
Nace MapLibre
En diciembre de 2020, Mapbox lanzó la segunda versión de su biblioteca JavaScript para publicar mapas en línea. Sin embargo, esta vez todas las novedades se vieron ensombrecidas por un cambio en la licencia: antes era libre como una libertad, pasó a estar cerrada para contribuyentes externos y su uso se restringió a personas con suscripciones activas a Mapbox. Hay que pagar incluso para cargar esta biblioteca JavaScript.
La comunidad reaccionó rápidamente: varias partes hicieron forks de la última versión de código abierto casi inmediatamente. Al día siguiente, la comunidad se reunió y acordó hacer un esfuerzo conjunto, en lugar de dividir las energías. Se organizó una videollamada y se formó la coalición MapLibre. Incluye a personas que trabajan para MapTiler, Elastic, StadiaMaps, Microsoft, Ceres Imaging, WhereGroup, Jawg, Stamen Design, etc.
El nombre, MapLibre, es la abreviatura de Mapoteca reiniciada (o reinventada), a la vez que la palabra Libre hace referencia a la libertad e independencia.
Los miembros de las comunidades de código abierto y las empresas que trabajan en el sector de los mapas acordaron unas normas básicas, que se formalizaron en un Memorándum de orientación. En él se resumen los objetivos del proyecto, la hoja de ruta aproximada, los detalles de la gobernanza de la comunidad y los canales de comunicación. Lee el texto completo del memorando y únete al esfuerzo: ¡los nuevos miembros son bienvenidos!
Biblioteca independiente de mapeo GL de JavaScript
MapLibre se basa en Mapbox GL JS 1.13, la versión más reciente disponible bajo la licencia BSD. El código fuente y el sistema de tickets están alojados en GitHub. Junto con la bifurcación, también se actualizó todo el ecosistema alrededor de la biblioteca (paquetes NPM, vinculación a react, ...).
Para ver un ejemplo completo de funcionamiento del mapa con un estilo cargado desde una CDN (muestra de código JavaScript y HTML), haga clic en el botón de abajo (tenga en cuenta que MapLibre todavía está en pleno desarrollo - esta es la cuarta versión candidata). Sin embargo, MapLibre siempre será independiente del proveedor, y usted puede cargar mapas desde su proveedor preferido o mapas autoalojados.
Los usuarios actuales de Mapbox GL JS pueden cambiar simplemente cambiando unas pocas líneas de código.
Si utiliza npm y depende de mapbox-gl directamente, simplemente sustituya mapbox-gl
con maplibre-gl
en paquete.json
:
También puedes utilizar esta librería en tu aplicación React con la ayuda de los hooks React.useRef y React.useEffect. Consulta nuestro ejemplo en vivo. Los bindings más populares para React y otras librerías van a ser actualizados pronto.
SDK nativo para Android e iOS
Como el desarrollo de los SDKs de mapas móviles de código abierto para Android e iOS se interrumpió a mediados del año pasado, el equipo de MapTiler estuvo durante algún tiempo trabajando internamente en su propia versión. Esta última situación aceleró las cosas, y estamos liberando el código para una amplia comunidad.
MapLibre GL Native fue bifurcado de mapbox-gl-native antes de su cambio a una licencia no-OSS. La bifurcación también incluye el SDK de Mapas para iOS y macOS (bifurcado de mapbox-gl-native-ios) y el SDK de Android (bifurcado de mapbox-gl-native-android). La primera versión está disponible en GitHub.
El código fuente que se actualizó a la última versión de Clang/Xcode y puede ser utilizado inmediatamente. La integración continua y la entrega se trasladó a GitHub Acciones desde CircleCI y los binarios de iOS se distribuyen como un paquete Swift que contiene binarios empaquetados utilizando el nuevo formato XCFramework.
Tutorial de Android Tutorial para iOS
Nuestra propuesta adicional es mover este fork bajo las alas de MapLibre y seguir desarrollándolo junto con la comunidad. Las sugerencias de mejora y los pull requests son bienvenidos.
A pesar de que Mapbox ha cambiado la dirección en relación con el código abierto, nos gustaría expresar un enorme agradecimiento al gran equipo de ingenieros de Mapbox por todo su esfuerzo realizado en el desarrollo de las numerosas herramientas y componentes utilizados aquí.
Actualización 5.2.2021: como prometimos en enero, los SDKs nativos para Android e iOS han sido trasladados bajo la organización de MapLibre en GitHub.