Skip to content

License Texts 31 KO

teamswyg edited this page Sep 30, 2026 · 2 revisions

과거 라이선스 본문 확보 — 실험 31

평가 전용으로 고정한 2,400개 코드 버전 모두에서 하나 이상의 라이선스 후보 본문을 검증했다. 이는 자료 확보 결과다. 모든 파일의 법적 조건 검토, 모델 평가 또는 학습·재배포의 포괄적 허가를 의미하지 않는다.

무엇을 확인했나

사전 계획에 따라 실험 29의 선택 목록을 다시 계산하고 같은 2,400개를 유지했다. root 후보가 없는 170개에서만 제한된 하위 경로를 조회했다. Matplotlib은 LICENSE 디렉터리의 바로 아래 파일, Axum은 axum 및 axum-* 패키지의 라이선스 이름 파일이 대상이다. 임의의 코드·vendor 경로를 재귀 탐색하지 않았다.

항목 결과
선택한 버전 / 검증된 본문이 있는 버전 2,400 / 2,400
하위 경로 확인 버전 170
후보 없음 / tree 실패 / blob 실패 / 심볼릭 링크 각각 0
버전별 본문 참조 합계 4,941
고유 저장소·경로·객체 조합 169
고유 본문 객체 / 총 본문 크기 159 / 820,911바이트

저장소별 집계를 공개한다. 개별 작업·커밋·본문 해시 목록과 원문은 로컬에 둔다. 169개는 라이선스 종류 수가 아니다. 본문이 하나 이상 있다는 것은 해당 버전의 모든 파일 조건을 확인했다는 뜻이 아니다.

무결성과 재사용

하위 tree ID를 부모 항목과 대조한다. blob 응답의 ID·크기·base64를 확인하고 실제 내용으로 Git blob SHA-1을 다시 계산한다. 별도 SHA-256도 기록한다. 본문은 256KiB 이하, UTF-8, NUL 없음으로 제한하고 캐시를 읽을 때도 재검증한다. 심볼릭 링크는 임의로 따라가지 않는다.

요청은 한 번에 하나, 시작 간격 최소 250ms, 제한 시간 30초, API 응답 2MiB 상한이다. 성공한 본문만 임시 파일과 원자적 이름 변경으로 저장한다. 출력 디렉터리는 새로 만들어야 한다.

go run ./cmd/riido-licensetext --out .cache/license-texts-new
go run ./cmd/riido-licensetext --offline --out .cache/license-texts-offline-new

고정된 원천 projection과 이전 실험의 root 캐시가 필요하다. --offline은 캐시 누락 시 네트워크로 보충하지 않는다. 원본 실행과 오프라인 재실행의 집계 및 private 목록은 바이트 단위로 일치했고, 실제 2,400개 race 실행도 일치했다. 전체 Go race/vet, 형식 검사와 redacted 보안 검사를 수행한다.

M4 Pro CPU에서 캐시 재검증 1회는 wall 0.63초, user 0.39초, sys 0.13초, 최대 RSS 29,130,752바이트(약 27.8MiB)였다. 최초 네트워크 수집·모델 추론·GPU·전체 소스 저장 용량 측정은 아니다.

사용 조건을 어떻게 다루나

수집된 Matplotlib 본문은 분석·시험을 허용하면서 고지 보존과 배포 시 변경 요약을 요구한다. 함께 있는 글꼴·이미지 등의 별도 조건도 확인되므로 저장소 전체를 단일 조건으로 단정하지 않는다. Axum 패키지에는 MIT 본문이 있으며, 선택된 과거 Terraform 본문은 Business Source License 1.1이다. MPL 2.0은 전환 후 라이선스로 기재되어 있으며 현재 조건과 혼동하면 안 된다. 본문은 비프로덕션 사용을 허용하고 추가 사용 허용과 버전별 전환 시점을 따로 정한다. 최신 저장소의 라이선스로 과거 버전을 덮어 판단하지 않는다. 이들은 대표 본문 검토이며 159개 전체의 법률 검토 완료 주장이 아니다.

  • MIT: 사본이나 중요한 부분을 배포할 때 저작권·허가 고지를 보존한다. 공식 본문
  • Apache 2.0: 배포 시 라이선스 사본, 변경 표시, 관련 고지와 NOTICE 조건을 확인한다. 공식 본문 4조
  • MPL 2.0: Mozilla는 내부 사용과 외부 배포를 구분하며, 외부 배포 시 적용 파일의 소스 제공 등 의무를 설명한다. 공식 FAQ

다음 평가는 원천을 로컬에 보관하고 공개 집계만 기록하는 방식으로 준비한다. 코드 라이선스가 이슈 작성자의 글이나 모든 제3자 파일까지 자동으로 포괄한다고 가정하지 않는다. 원문·소스 묶음·학습된 모델의 공개는 각각 적용 조건을 별도로 확인한다. 이 실험은 학습도 모델 배포도 하지 않는다.

다음 단계

2,400개 중 53개 요청이 기존 8,192바이트 입력 상한을 넘는다. 긴 사례를 제거하지 않고 입력 분할 및 비용 집계 계약을 먼저 고정한다. 그다음 수정 전 파일 목록을 구성하고 실제 검색·힌트의 이익과 손해를 평가한다. 자료 확보를 성능 검증의 대체물로 삼지 않는다. ProductionReady=false이며 기존 최종 평가 예비 자료는 사용하지 않았다.

후속: 실험 32는 긴 요청 53개를 포함한 2,400개를 원문 그대로 검색 함수에 통과시켰다. 합성 후보 실행 검사이며 실제 파일 검색 품질 평가는 별도다.

Clone this wiki locally