mapbox / mapbox/mapbox-gl-js

v2.0 changes merged with updated TOS and license

Open
#10,162 67 comments 228 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

breaking change :warning:
Dominant language
TypeScript
Stars
12.4k
Forks
2.4k
PR merge metrics
No merged PRs in 30d

Description

v2.0 release changes merged with updated TOS and license

We just merged the v2.0 release changes to main, including performance enhancements reducing map load time by 30%, 3D terrain rendering, new satellite imagery, a low level camera API, and a new sky layer type. See the CHANGELOG for the full list of changes.

The SDK bundle and source code are distributed in ways that make it easy for developers to include the library in their javascript build system and integrate with their tool chain. All new features and improvements will only be available in v2. Old versions of GL JS (<v2) remain publicly available via NPM and our CDN endpoints. Updates to the v1 releases will be made only for critical browser compatibility or security issues for a limited time.

The project source code is available here on Github for open collaboration with the community. Mapbox GL JS v2+ are governed by the Mapbox Terms of Service (this is a change from the old 3-clause BSD license). Developers can fork the public GL JS repository and make modifications to the code as long as abiding by the conditions of the license as documented in the Mapbox Terms of Service, including prohibitions on breaking the law or violating human rights:

Copyright © 2020 Mapbox

All rights reserved.

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.

For the full license terms, please see the Mapbox Terms of Service at https://www.mapbox.com/legal/tos/

GL JS is available to developers on pay-as-you-go — no commitments, usage is billed by Map Load, which correlates to page load metrics. In v2, a map load occurs whenever a Map object is initialized on a webpage. Each map load includes unlimited vector tiles, raster tiles, and terrain tiles for the length of the map session. Map Load pricing includes a generous free tier to get started. Updating to v2 has no pricing impact for 99% of Mapbox customers. Pricing is published for all services, including volume discounts that automatically trigger as usage increases.

We continue to build in the open on Github in collaboration with the community. All source code is publicly visible, and available for modifications, with the exception of code related to billing, accounting, and anonymized data collection. These areas of the project are clearly marked. Public contributions to the project are welcome and encouraged - community work is governed by our Contributor License Agreement. Check the CONTRIBUTING guidelines to get started.

FAQ

Can I still use self-hosted map tiles?
Yes. Developers simply need a Mapbox account and access token to use this v2.

Can I use data or tiles from Google Maps or other non-Mapbox services?
Yes. GL JS is fully interoperable with third party map sources that provide vector or raster tiles in supported formats. Usage of v2 is billed by Map Load to the Mapbox account owner. The license terms make no distinction between data sources.

Can I keep using the legacy versions of Mapbox GL JS?
Yes. Old versions of GL JS will remain publicly available via NPM and our CDN endpoints. Updates to the v1 releases will only be made for critical browser compatibility or security issues for a limited time. All new features and improvements are only available in GL JS v2.

What data does Mapbox collect from GL JS v2?
GL JS only sends anonymous usage data for the purposes of fixing bugs and errors, accounting, and generating aggregated anonymized statistics. For example, the browser or OS usage to determine how to prioritize defects from edge cases.

Does the updated license affect other Mapbox GL JS dependencies?
No. Other projects like geojson-vt and supercluster retain their OSI license.

cc @yhahn @gundersen @kathleenlu09 @mapbox/gl

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This issue is a v2.0 release announcement covering merged changes, licensing, pricing, and FAQs rather than a specific task. Read the linked CHANGELOG and CONTRIBUTING.md first; no file, test, or concrete change is specified, so completion criteria cannot be established from the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
documentation, release
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
10/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.