Mapbox GL JS Is No Longer Open Source

computer-06

Mapbox GL JS Is No Longer Open Source

Mapbox GL JS, formerly an open source JavaScript library for interactive, customizable vector maps, has adopted a proprietary license in its recent version 2 update:

  • mapbox-gl-js is no longer under the 3-Clause BSD license. By upgrading to this release, you are agreeing to Mapbox terms of service. Refer to LICENSE.txt for the new licensing terms and details. For questions, contact our team at https://support.mapbox.com.
  • Beginning with v2.0.0, a billable map load occurs whenever a Map object is initialized. Before updating an existing implementation from v1.x.x to v2.x.x, please review the pricing documentation to estimate expected costs.

Versions 1.x remain under the 3-Clause BSD license, but Mapbox will only be investing in developing new features for the proprietary licensed version 2.0+. This news came as a surprise to many engineers who have built products on top of this previously open source library.

“This move has produced shockwaves in the geospatial industry,” Javier de la Torre wrote on the CARTO blog. “Many organizations are using Mapbox GL JS directly or fork from it. This library is responsible for the visualization of the so-called basemap, the cartography layer that underpins most maps. Previously Open Source, MapboxGL is a great solution, and could be used with many different data sources, so it became the de facto way to render basemaps.”

Mapbox powers all sorts of maps for high profile websites like CNN, The New York Times, Ancestry, Strava, Shopify, Facebook, and more. It is also used by WordPress.com and Jetpack for the Map block. The library is used in many plugins on WordPress.org, some with tens of thousands of users. Developers using versions 1.x will want to be aware of the future of the Mapbox GL JS library.

“Mapbox’s decision this week to release a brand new version of Mapbox GL JS and keep it proprietary stunned me,” Azavea product specialist Joe Morrison wrote on his personal blog. “Not only was v1 already a wildly popular open source library, but Mapbox’s reputation as a prolific creator of open source software is a cornerstone of their whole identity. Describing what makes Mapbox special without mentioning ‘open source’ is like trying to describe chocolate milk to an alien without using the word ‘liquid.’”

Mapbox hasn’t formally clarified why it went proprietary with the library so speculation abounds. Morrison theorizes that cloud providers are killing the open core business model of software companies. Crunchy Data Geospatial Engineer Paul Ramsey responded to Morrison’s article, contending that Mapbox is not an “open core” company and that the business of selling location based services may not be panning out for them:

But like Google, the value proposition Mapbox sells isn’t in the software, so much as the data and the platform underneath. Mapbox has built a unique, scalable platform for handling the huge problem of turning raw OSM data into usable services, and raw location streams into usable services. They sell access to that platform.

Mapbox has never been a software company, they’ve always been a data and services company.

Mapbox employee Saman Bemel Benrud said the company is finally moving to make its products sustainable:

This change has the potential to negatively impact the developers and companies that built products on top of Mapbox GL JS, thinking its open source licensing was set in stone.

“The change says nothing about ‘open source’ in the large as a model, and everything about ‘single vendor projects’ and whether you should, strategically, believe their licensing,” Ramsey said.

“I (and others) took the licensing (incorrectly) of Mapbox GL JS to be a promise, not only for now but the future, and made decisions based on that (incorrect) interpretation. I integrated GL JS into an open source project and now I have to revisit that decision.”

Some community members have already forked Mapbox GL JS to maintain the 1.x version, but the vast majority of contributors to the original library were sponsored by Mapbox. The immediate future of the MapLibre GL fork may not include many new features, as the initial roadmap’s stated goal is “consistency and backwards-compatibility with previous releases and continued bug-fixes and maintenance going forward.”

A lengthy discussion on Hacker News drew a response from former Mapbox engineer Tom MacWright, who wrote the company’s open source policy as a founding member of the team.

“I won’t get into all the context, but I think we should consider whether a community without contributors is a community,” MacWright said. “GL JS never had major active contributors outside of the company, and there are no self-funded webgl experts with lots of time who are ready to maintain a fork.

“OSS, we hoped, was about enabling people and unlocking people’s ability to collaborate. It turns out that in 2020, it’s mostly helping companies and getting nothing in return. That’s not a dynamic you can build a sustainable business on.”

The MapLibre GL fork may gain some momentum and emerge as a viable alternative to Mapbox’s closed source library, but it will take time to see how well it is maintained. In the meantime, the existing version 1.x can meet most users’ needs. Mapbox has burned through a lot of good will with this controversial licensing update, which some perceive as a “bait and switch” offense. Rebuilding community trust, after removing the freedoms granted by the previous license, will be an uphill battle.