ADG Оставить заявку
Блог DevOps 4 мин чтения

HashiCorp переводит Terraform на BSL: что это значит для наших IaC-проектов

HashiCorp меняет лицензию Terraform с MPL на BUSL-1.1. Разбираем лицензионный риск и пересматриваем IaC-стратегию для клиентских проектов.

Контекст момента

HashiCorp объявила о переводе Terraform и других продуктов с MPL-2.0 на Business Source License 1.1 - лицензию, ограничивающую коммерческое использование конкурентами

Новость пришла тихо, но ударила громко: HashiCorp объявила, что переводит Terraform (и заодно Vault, Consul, Nomad, Packer) с Mozilla Public License 2.0 на Business Source License 1.1. Официальная формулировка - «защита от конкурентов, которые зарабатывают на нашем продукте, не вкладываясь в его развитие». Читается понятно: HashiCorp целится в провайдеров управляемых услуг, которые продают Terraform-стек клиентам без договора с HashiCorp.

Нас это задело напрямую.

Что такое BUSL-1.1 и почему это не open-source

BUSL-1.1 - не open-source лицензия в понимании OSI. Ключевое ограничение: нельзя использовать продукт для конкурентной коммерческой деятельности. HashiCorp сами пишут, что «production use by competing products or services» требует отдельной коммерческой лицензии.

Где проходит граница «конкурентного использования» - вопрос. HashiCorp дают расплывчатое определение, и это само по себе проблема: правовая неопределённость в инструменте, который у нас стоит в фундаменте десятков инфраструктур. Через четыре года лицензия переходит в MPL - но через четыре года, и до этого момента надо как-то жить.

Для нашей работы по сопровождению картина такая: если мы как интегратор используем Terraform для управления инфраструктурой клиентов на коммерческой основе - HashiCorp считает, что это попадает под ограничения BSL. Не факт, что суд согласится, но мы не в том положении, чтобы проверять это в суде.

Как мы это обнаружили и что сделали в первые дни

Официального анонса ещё не было - пока только слухи и утечки в рассылках. Мы мониторим terraform-рассылки и GitHub, поэтому новость не стала неожиданностью - было время подумать.

Первое что сделали - собрали список всех проектов, где стоит Terraform. Получилось несколько групп:

  • Проекты с Terraform Cloud / Terraform Enterprise. Там уже есть коммерческий договор с HashiCorp - формально чище всего.
  • Проекты с open-source Terraform CLI + собственный backend (S3, PostgreSQL, HTTP). Это основная масса. Именно тут риск наиболее неопределён.
  • Проекты, где Terraform вообще не в продакшне - только в CI для разворачивания стендов. Здесь риск минимальный, но всё равно надо понять позицию HashiCorp.

По каждой группе отдельная оценка. Паники нет, но головная боль есть.

OpenTofu: форк или надежда?

В сообществе почти сразу зашёл разговор о форке. Несколько компаний из экосистемы обсуждают намерение создать open-source альтернативу на базе Terraform до смены лицензии. Называют предварительно OpenTofu.

На текущий момент это больше дискуссия, чем продукт: конкретного репозитория и манифеста пока нет. Мы смотрим на это с осторожным интересом: идея правильная, за ней стоят реальные компании с реальными деньгами, но форки инфраструктурных инструментов - штука нетривиальная. Тут важна не только кодовая база, но и экосистема провайдеров, registry модулей, документация.

Пока что OpenTofu - кандидат для наблюдения, не для немедленного перехода.

Что реально меняем прямо сейчас

Стратегия «подождём и посмотрим» - не наш стиль, когда речь о фундаменте инфраструктуры. Поэтому параллельно с наблюдением за OpenTofu начали несколько конкретных шагов.

Первое - ревизия провайдеров. Большинство Terraform-провайдеров (AWS, GCP, Yandex.Cloud, VK Cloud) пишутся вендорами независимо, и их лицензии не менялись. Переход Terraform на BSL не тянет за собой провайдеры автоматически - это отдельные репозитории.

Второе - оцениваем Pulumi для новых проектов. Pulumi работает с теми же облачными провайдерами, но пишется на Python/Go/TypeScript, а не на HCL. Лицензия - Apache 2.0. Нескольким клиентам, у которых инфраструктура ещё не задеплоена, предложим начать на Pulumi - хотя бы чтобы иметь живой опыт с альтернативой.

Третье - никаких расширений использования Terraform до прояснения ситуации. Новые проекты на Terraform не запускаем, пока нет чёткой позиции либо от HashiCorp (что интеграторы управляемых услуг не под удар), либо от юристов.

Системная проблема

Этот кейс вскрыл кое-что важное помимо самого Terraform. У нас нет формального процесса оценки лицензионного риска для ключевых инструментов. Terraform - не первый и явно не последний open-source проект, который перейдёт на ограничительную лицензию при росте коммерческого давления. Redis, Elastic, MongoDB - все уже проходили через это.

Надо формализовать: при выборе инструмента в стек - проверять лицензию, историю смен лицензий, модель монетизации вендора. Не параноидально, но системно. Это часть инфраструктурной гигиены, которой у нас пока нет в явном виде.

Пока итог промежуточный: действующие проекты продолжают работать, новые - пауза. Смотрим на OpenTofu, пробуем Pulumi, ждём официальных разъяснений от HashiCorp. Скорее всего, через месяц-два картина прояснится - в ту или иную сторону.

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.

Сообщение придёт нам в мессенджер. Отправляя форму, вы соглашаетесь с политикой конфиденциальности.