Используйте открытые исходники Топаза по Apache-2.0, а официальные исполняемые файлы по условиям их компонентов. Топаз можно использовать для личной, учебной и коммерческой работы.
Выберите условия компонента
| Компонент | Условия |
|---|---|
| Исходный код компилятора на Топазе, сгенерированный Rust и среда выполнения из архива начальной загрузки | Apache-2.0 |
| Официальные исполняемые файлы начиная с 5.21.0 | Отдельные условия с сохранением прав на компоненты Apache и третьих сторон |
| Установочная оболочка npm | Apache-2.0; загружаемый файл имеет отдельные условия компонентов |
| Ваши программы и данные | Ваши права сохраняются; результат сопровождается разрешением и уведомлениями среды выполнения |
| Ранее опубликованный материал Apache | Ранее предоставленные права Apache-2.0 сохраняются |
Разрешение для исполняемых файлов допускает загрузку, установку, запуск и копирование на любом числе компьютеров, включая коммерческие сервисы, хостинг и автоматические сборки. Неизменённые файлы можно распространять вместе с условиями и обязательными уведомлениями. Обычное использование не требует платы. Компоненты Apache и третьих сторон сохраняют свои права на изменение и распространение. Эта политика не превращает опубликованный код Apache в проприетарный. Товарные знаки регулируются отдельно.
Разрешения для исполняемых файлов и результата генерации не требуют публикации ваших исходников на Топазе. Сохраняйте лицензии и обязательные уведомления включённых сред выполнения и стороннего кода.
Сборка компилятора из архива начальной загрузки
Начиная с 5.21 каждый выпуск публикует один архив начальной загрузки компилятора в topaz.ooo/dl/v<версия>/. В нём лежат компилятор, написанный на Топазе, сгенерированный этим компилятором код на Rust и среда выполнения для сборки этого кода. Всё это распространяется под Apache-2.0.
Сценарий сборки из архива собирает сгенерированный Rust через Cargo и получает компилятор. Этот компилятор заново компилирует исходный код на Топазе из архива и выдаёт тот же Rust, что лежит в архиве. Сценарий сравнивает оба результата побайтно. Для сборки нужен инструментарий Rust с Cargo.
Каждый выпуск проходит то же сравнение перед публикацией. Выпуск, у которого два результата на Rust расходятся, не публикуется.
Опубликованные загрузки и хранение
В разделе Установка доступны текущий и доступные предыдущие выпуски. Отозванные выпуски исключаются из списка загрузок и из выбора текущего выпуска через latest.json. Их опубликованные файлы остаются доступными без изменений по URL с номером версии для проверки и воспроизведения. Изменяемый указатель latest.json выбирает текущий выпуск. Ранее предоставленные права Apache и сторонних компонентов сохраняются.
Сейчас доступен Топаз 5.21.3. Исполняемые файлы и архив начальной загрузки компилятора доступны в разделе Установка. Поле releaseVersion файла version.json и манифест загрузок содержат ту же версию выпуска.
Термины сайта
| Термин | Значение |
|---|---|
| Архив начальной загрузки компилятора | Архив каждого выпуска с исходным кодом компилятора на Топазе, сгенерированным Rust и средой выполнения |
| Сгенерированный Rust | Код на Rust, который компилятор Топаза создаёт из исходного кода на Топазе |
| Условия исполняемых файлов | Разрешение для бинарного материала вместе с лицензиями компонентов |
Лимиты входа начальной загрузки
Исполнитель архива читает запросы начальной загрузки в пределах 128 MiB, а исходные файлы компилятора в пределах суммарных 64 MiB. Оставшийся бюджет применяется при чтении, поэтому слишком большой ввод отклоняется без предварительного выделения памяти под весь файл. Лимиты считаются в байтах UTF-8.