오픈소스 라이선스
이 페이지는 설계독학(SGDH) 웹사이트가 배포·연동하는 오픈소스 소프트웨어에 대한 고지입니다. 사이트의 자체 UI·콘텐츠·백엔드 로직과 위 엔진들은 별도 저작물로, 아래 엔진들을 수정 없이 바이너리 형태로 호출하는 방식(집합 배포)을 사용합니다.
Verilog Simulator (브라우저)
- Icarus Verilog — 시뮬레이터 컴파일·실행(iverilog / vvp). 라이선스: GNU GPL v2. 원본 소스: steveicarus/iverilog.
- Surfer — VCD 등 파형 뷰어(웹앱 임베드). 라이선스: EUPL-1.2. 원본 소스: surfer-project/surfer. 공개 웹 인스턴스: app.surfer-project.org.
- Monaco Editor — 코드 편집기. 라이선스: MIT (Microsoft). GitHub.
브라우저에서 Icarus Verilog를 WASM 등으로 직접 실행하는 경우에도, 수정하지 않은 공개 빌드를 독립 모듈로 로드하는 방식이면 SGDH의 다른 사유 코드를 GPL/EUPL에 따라 전부 공개할 의무가 생기지 않는 경우가 많습니다(집합 작업·별도 저작물). 실제 배포 형태에 따라 해석이 달라질 수 있으므로, 상용 서비스에서는 법률 검토를 권장합니다.
Verilog Simulator (파형)
기본은 방문자 브라우저에서 생성하는 미리보기용 휴리스틱 VCD를 Surfer(EUPL)로 표시합니다. 실제 Icarus 시뮬은 verilogSimPipeline.js의 WASM 연동(예정) 또는 선택적 REACT_APP_VERILOG_SIM_API로 POST JSON → VCD를 받는 방식(저장소의 server/verilog-sim-api.mjs, iverilog + vvp)으로 쓸 수 있습니다. Icarus Verilog는 GPL v2입니다.
다른 도구
Verilog Analyzer 등 다른 페이지는 YoWASP(Yosys), netlistsvg, WaveDrom 등 추가 오픈소스를 사용합니다. 각 도구 페이지·문서의 안내를 참고하세요.
페이지·기능별 고지 체크리스트
상업 배포·감사 전에 아래 표를 기준으로 고지 페이지·외부 링크·빌드 의존성이 빠짐없는지 확인하세요. 새 도구·CDN 스크립트를 넣을 때마다 한 줄을 추가하는 것을 권장합니다.
| 위치 | 고지·추적 대상 | 라이선스·비고 |
|---|---|---|
/tools/verilog-simulator | Surfer iframe(app), Monaco Editor(jsDelivr), 미리보기 VCD(자체 로직) | Surfer EUPL-1.2, Monaco MIT. Icarus 사용 시 GPL-2.0·소스. |
/tools/verilog-analyzer | YoWASP Yosys(jsDelivr WASM), Mermaid, JSZip(jsDelivr), netlistsvg·elkjs(번들), Prism 하이라이트 | Yosys GPL(YoWASP 배포 정책 참고), Mermaid MIT, JSZip MIT/GPL 듀얼(통상 MIT 사용), netlistsvg MIT, elkjs EPL-2.0. |
/tools/sgdh-draw-waveform | WaveDrom(번들) | WaveDrom MIT |
| 프로필·랭크 등 | Supabase (@supabase/supabase-js) | supabase-js MIT · 서비스 약관은 Supabase·개인정보처리방침 별도 |
| 전역 UI·문서 | Docusaurus·React·Infima, 로컬 검색 플러그인, Pretendard(웹폰트 jsDelivr), Prism(문서 코드블록) | Docusaurus MIT, Pretendard SIL OFL, Prism MIT |
| 광고·분석 스크립트 | headTags 의 Google AdSense 등 | Google 정책·개인정보 고지에 맞춰 별도 명시(약관·쿠키 안내). |
EUPL/GPL/EPL 조합은 배포 형태(수정 여부, iframe vs 번들, API 분리)에 따라 해석이 달라질 수 있습니다. 상업적 확신이 필요하면 지식재산 전문가 검토를 권장합니다.