Mapbox GL JS não é mais de código aberto

Publicados: 2020-12-17

O Mapbox GL JS, anteriormente uma biblioteca JavaScript de código aberto para mapas vetoriais interativos e personalizáveis, adotou uma licença proprietária em sua recente atualização da versão 2:

  • mapbox-gl-js não está mais sob a licença BSD de 3 cláusulas. Ao atualizar para esta versão, você concorda com os termos de serviço do Mapbox. Consulte LICENSE.txt para obter os novos termos e detalhes de licenciamento. Em caso de dúvidas, entre em contato com nossa equipe em https://support.mapbox.com.
  • A partir da v2.0.0, um carregamento de mapa faturável ocorre sempre que um objeto Map é inicializado. Antes de atualizar uma implementação existente de v1.xx para v2.xx, revise a documentação de preços para estimar os custos esperados.

As versões 1.x permanecem sob a licença BSD de 3 cláusulas, mas a Mapbox só investirá no desenvolvimento de novos recursos para a versão licenciada proprietária 2.0+. Esta notícia foi uma surpresa para muitos engenheiros que construíram produtos em cima desta biblioteca de código aberto anteriormente.

“Esse movimento produziu ondas de choque na indústria geoespacial”, escreveu Javier de la Torre no blog CARTO. “Muitas organizações estão usando o Mapbox GL JS diretamente ou a partir dele. Essa biblioteca é responsável pela visualização do chamado mapa base, a camada cartográfica que sustenta a maioria dos mapas. Anteriormente Open Source, o MapboxGL é uma ótima solução e pode ser usado com muitas fontes de dados diferentes, então se tornou a maneira de fato de renderizar mapas base.”

O Mapbox fornece todos os tipos de mapas para sites de alto perfil como CNN, The New York Times, Ancestry, Strava, Shopify, Facebook e muito mais. Também é usado pelo WordPress.com e Jetpack para o bloco Map. A biblioteca é usada em muitos plugins no WordPress.org, alguns com dezenas de milhares de usuários. Os desenvolvedores que usam as versões 1.x devem estar cientes do futuro da biblioteca Mapbox GL JS.

“A decisão da Mapbox esta semana de lançar uma nova versão do Mapbox GL JS e mantê-la proprietária me surpreendeu”, escreveu Joe Morrison, especialista em produtos da Azavea, em seu blog pessoal. “Não apenas a v1 já era uma biblioteca de código aberto muito popular, mas a reputação do Mapbox como um criador prolífico de software de código aberto é a base de toda a sua identidade. Descrever o que torna o Mapbox especial sem mencionar 'código aberto' é como tentar descrever leite com chocolate para um alienígena sem usar a palavra 'líquido'”.

O Mapbox não esclareceu formalmente por que se tornou proprietário da biblioteca, então a especulação é abundante. Morrison teoriza que os provedores de nuvem estão matando o modelo de negócios de núcleo aberto das empresas de software. O engenheiro geoespacial de dados da Crunchy, Paul Ramsey, respondeu ao artigo de Morrison, afirmando que a Mapbox não é uma empresa de “núcleo aberto” e que o negócio de venda de serviços baseados em localização pode não estar dando certo para eles:

Mas, como o Google, a proposta de valor que o Mapbox vende não está no software, mas sim nos dados e na plataforma subjacente. A Mapbox construiu uma plataforma única e escalável para lidar com o enorme problema de transformar dados OSM brutos em serviços utilizáveis ​​e fluxos de localização brutos em serviços utilizáveis. Eles vendem acesso a essa plataforma.

A Mapbox nunca foi uma empresa de software, sempre foi uma empresa de dados e serviços.

O funcionário da Mapbox, Saman Bemel Benrud, disse que a empresa está finalmente se movendo para tornar seus produtos sustentáveis:

Essa mudança tem o potencial de impactar negativamente os desenvolvedores e empresas que construíram produtos em cima do Mapbox GL JS, pensando que seu licenciamento de código aberto estava definido.

“A mudança não diz nada sobre 'código aberto' em geral como modelo, e tudo sobre 'projetos de um único fornecedor' e se você deve, estrategicamente, acreditar em seu licenciamento”, disse Ramsey.

“Eu (e outros) tomamos o licenciamento (incorretamente) do Mapbox GL JS como uma promessa, não apenas para agora, mas para o futuro, e tomei decisões com base nessa interpretação (incorreta). Eu integrei o GL JS em um projeto de código aberto e agora tenho que rever essa decisão.”

Alguns membros da comunidade já fizeram um fork do Mapbox GL JS para manter a versão 1.x, mas a grande maioria dos contribuidores da biblioteca original foram patrocinados pelo Mapbox. O futuro imediato do fork MapLibre GL pode não incluir muitos novos recursos, pois o objetivo declarado do roteiro inicial é “consistência e compatibilidade com versões anteriores e correções de bugs e manutenção contínuas daqui para frente”.

Uma longa discussão no Hacker News gerou uma resposta do ex-engenheiro do Mapbox, Tom MacWright, que escreveu a política de código aberto da empresa como membro fundador da equipe.

“Não vou entrar em todo o contexto, mas acho que devemos considerar se uma comunidade sem contribuidores é uma comunidade”, disse MacWright. “A GL JS nunca teve grandes contribuidores ativos fora da empresa, e não há especialistas em webgl autofinanciados com muito tempo que estejam prontos para manter um fork.

“OSS, esperávamos, era capacitar as pessoas e liberar a capacidade das pessoas de colaborar. Acontece que, em 2020, está ajudando principalmente as empresas e não recebendo nada em troca. Essa não é uma dinâmica na qual você pode construir um negócio sustentável.”

O fork MapLibre GL pode ganhar algum impulso e emergir como uma alternativa viável à biblioteca de código fechado do Mapbox, mas levará tempo para ver como ele é mantido. Enquanto isso, a versão 1.x existente pode atender às necessidades da maioria dos usuários. O Mapbox queimou muita boa vontade com esta controversa atualização de licenciamento, que alguns percebem como uma ofensa de “isca e troca”. Reconstruir a confiança da comunidade, depois de remover as liberdades concedidas pela licença anterior, será uma batalha árdua.