공개 토파즈 소스는 Apache-2.0으로, 공식 실행파일은 구성요소에 동봉된 이용조건으로 사용하세요. 개인·교육·상업 업무에 사용할 수 있습니다.
구성요소 이용조건 고르기
| 구성요소 | 이용조건 |
|---|---|
| 컴파일러 시드의 토파즈 컴파일러 소스·생성 Rust·런타임 | Apache-2.0 |
| 5.21.0부터의 공식 실행파일 | 별도 실행파일 이용조건과 기존 Apache·제3자 구성요소 권리 |
| npm 설치 래퍼 | Apache-2.0. 내려받는 실행파일에는 별도 구성요소 조건 적용 |
| 직접 만든 프로그램과 데이터 | 사용자의 권리 유지. 생성 출력에는 출력 허여와 런타임 고지 동봉 |
| 이전에 공개한 Apache 코드 | 기존 Apache-2.0 이용 권리 유지 |
실행파일 허여는 컴퓨터 수 제한 없이 내려받기·설치·실행·복제를 허용합니다. 상업·호스팅 서비스와 자동 빌드도 포함합니다. 이용조건과 필수 고지를 동봉해 수정하지 않은 실행파일을 재배포할 수 있습니다. 일반 이용에 요금을 요구하지 않습니다. Apache·제3자 구성요소에는 수정·재배포 권리를 포함한 각 라이선스가 적용됩니다. 이전에 공개한 Apache 코드를 이 정책으로 독점 코드로 바꾸지 않습니다. 상표는 별도로 다룹니다.
실행파일과 생성 출력의 허여는 사용자 토파즈 소스 공개를 요구하지 않습니다. 포함한 런타임과 제3자 코드의 라이선스·필수 고지는 유지하세요.
컴파일러 시드로 빌드하기
5.21부터 릴리스마다 컴파일러 시드 압축 파일 하나를 topaz.ooo/dl/v<버전>/에 냅니다. 시드에는 토파즈로 쓴 컴파일러 소스와 그 소스가 생성한 Rust, 이 Rust를 빌드하는 런타임이 Apache-2.0으로 들어 있습니다.
시드의 빌드 스크립트는 Cargo로 생성 Rust를 빌드해 컴파일러를 만듭니다. 이 컴파일러로 시드의 토파즈 소스를 다시 컴파일하면 시드에 든 것과 같은 Rust가 나옵니다. 스크립트는 두 Rust를 바이트 단위로 비교합니다. 빌드에는 Cargo가 포함된 Rust 도구가 필요합니다.
릴리스를 게시할 때도 같은 비교를 거칩니다. 두 Rust가 다르면 그 릴리스는 게시하지 않습니다.
실제 공개한 다운로드와 보존
설치에서 현재 릴리스와 이용 가능한 이전 릴리스를 볼 수 있습니다. 철회한 판은 다운로드 목록과 latest.json이 선택하는 현재 릴리스에서 제외합니다. 공개한 파일은 검증과 재현을 위해 버전별 URL에서 변경 없이 계속 제공합니다. 가변 포인터 latest.json은 최신판을 가리킵니다. 기존 Apache 권리와 제3자 권리는 계속 유효합니다.
현재 배포판은 토파즈 5.21.3입니다. 설치에서 실행파일과 컴파일러 시드를 받을 수 있습니다. version.json의 releaseVersion과 다운로드 매니페스트에도 같은 배포 버전이 기록됩니다.
이 사이트의 용어
| 용어 | 뜻 |
|---|---|
| 컴파일러 시드 | 토파즈 컴파일러 소스와 생성 Rust, 런타임을 담아 릴리스마다 내는 압축 파일 |
| 생성 Rust | 토파즈 컴파일러가 토파즈 소스에서 생성한 Rust 코드 |
| 실행파일 이용조건 | 구성요소 라이선스와 함께 적용하는 binary 이용 허여 |
부트스트랩 입력 한도
시드 실행기는 부트스트랩 요청을 128 MiB, 컴파일러 소스 파일의 누적 크기를 64 MiB로 제한해 읽습니다. 읽는 동안 남은 바이트 예산을 적용하므로 큰 파일 전체를 먼저 할당하지 않고 초과 입력을 거절합니다. 한도는 UTF-8 바이트 수로 셉니다.