← 문서 목록

오픈소스·제3자 라이브러리 목록 (라이선스)

NestPay 산출물 · 백엔드 · Flutter 앱 · 프론트엔드 · 인프라 런타임의 제3자 구성요소 라이선스 원장

문서 목적 — NestPay 시스템에 포함·사용된 오픈소스 및 제3자 라이브러리와 그 라이선스를 원장 형태로 정리한 산출물입니다. 라이선스 준수 여부 점검과 배포 시 고지 의무 확인의 근거 자료로 사용합니다.

원천(실측 근거) — 백엔드 apps/api/build.gradle·apps/api/Dockerfile·docker-compose*.yml, Flutter user_app/pubspec.yaml·store_app/pubspec.yaml·packages/nestpay_shared/pubspec.yaml, 프론트엔드 apps/admin/js/vendor/*·apps/www/js/renewal/script/* 를 직접 읽어 목록화했습니다. Flutter 패키지 라이선스는 로컬 pub-cache 의 실제 LICENSE 파일로 확인했습니다.

표기 규칙 — 버전은 선언 기준(설정 파일에 적힌 값)입니다. Flutter 는 ^ 범위 지정이라 실제 해석 버전과 다를 수 있습니다. Spring Boot BOM 이 버전을 관리해 파일에 버전이 없는 항목은 BOM 관리 로 표기합니다. 라이선스가 문서·헤더로 확정되지 않은 항목은 확인필요 로 남깁니다(추정 금지).

목차

1. 백엔드 (Java / Spring Boot — build.gradle)

프로젝트: kr.nestpay · 버전 0.1.0 · Java 17(toolchain) · Spring Boot 3.3.5 · 저장소 Maven Central. 아래는 build.gradle직접 선언된 의존성입니다(전이 의존성 제외, 일부는 아래 별도 표기).

1-1. 런타임 의존성 (implementation / runtimeOnly)

라이브러리 (group:artifact)버전라이선스용도
org.springframework.boot:spring-boot-starter-web3.3.5 (BOM)Apache-2.0HTTP 웹서버(Controller·내장 Tomcat)
org.springframework.boot:spring-boot-starter-validation3.3.5 (BOM)Apache-2.0입력값 검증(내부 Hibernate Validator=Apache-2.0, Jakarta Validation API=EPL-2.0/GPL-2.0-CE 이중, 아래 참고)
org.springframework.boot:spring-boot-starter-actuator3.3.5 (BOM)Apache-2.0서버 상태 점검(/actuator/health)
org.mybatis.spring.boot:mybatis-spring-boot-starter3.0.3Apache-2.0SQL 매핑(MyBatis)
org.springframework.security:spring-security-crypto6.3.4Apache-2.0간편 PIN Argon2id 해시
org.bouncycastle:bcprov-jdk18on1.78.1MIT 계열(Bouncy Castle License, MIT/X11 변형)Argon2 실제 암호 연산
org.springdoc:springdoc-openapi-starter-webmvc-ui2.6.0Apache-2.0Swagger/OpenAPI 문서 화면(내부 swagger-ui=Apache-2.0)
io.minio:minio (클라이언트)8.5.12Apache-2.0S3 호환 오브젝트 스토리지 접속 클라이언트
org.flywaydb:flyway-coreBOM 관리(선언 시 버전 미지정)Apache-2.0DB 스키마 마이그레이션
org.flywaydb:flyway-mysqlBOM 관리(선언 시 버전 미지정)Apache-2.0Flyway 의 MySQL/MariaDB 지원
org.mariadb.jdbc:mariadb-java-client (runtimeOnly)3.4.1LGPL-2.1MariaDB 접속 JDBC 드라이버 · 카피레프트(§5 참고)

1-2. 테스트 전용 의존성 (testImplementation)

라이브러리버전라이선스용도
org.springframework.boot:spring-boot-starter-test3.3.5 (BOM)Apache-2.0자동 테스트(JUnit5·Mockito 등 번들). 최종 산출물(배포 jar)에 미포함
org.mybatis.spring.boot:mybatis-spring-boot-starter-test3.0.3Apache-2.0MyBatis 테스트 지원. 배포 jar 미포함

1-3. 빌드 플러그인 · 언어 런타임

구성요소버전라이선스용도 / 근거
Spring Boot Gradle Plugin org.springframework.boot3.3.5Apache-2.0실행 jar 패키징 (plugins 블록)
io.spring.dependency-management1.1.6Apache-2.0의존성 버전 자동 정렬 (plugins 블록)
Gradle (빌드 도구)확인필요(래퍼 gradle-wrapper.properties 기준)Apache-2.0빌드 실행기 — 산출물에 미포함
Eclipse Temurin (OpenJDK / Adoptium)17-jdk(빌드) · 17-jre(실행) — DockerfileGPL-2.0 + Classpath ExceptionJava 컴파일·실행 런타임. Classpath 예외로 앱은 GPL 영향 없음

전이 의존성 참고 — 위 스타터들이 내부적으로 끌어오는 하위 라이브러리(Jackson=Apache-2.0, SLF4J=MIT, Logback=EPL-1.0/LGPL-2.1 이중, Tomcat=Apache-2.0, Jakarta EE API 다수=EPL-2.0 등)는 선언 의존성이 아니어서 이 표에 개별 나열하지 않았습니다. 전체 전이 목록이 필요하면 ./gradlew dependencies 산출물로 별도 생성 가능합니다(현재 미실행 — 확인필요).

2. Flutter 앱 (pubspec.yaml)

회원앱 nestpay_user(v1.0.0+1) · 매장앱 nestpay_store(v1.0.0+1) · 공통 패키지 nestpay_shared(v0.0.1). Dart SDK 제약 ^3.12.2. 아래 라이선스는 로컬 pub-cache 의 실제 LICENSE 파일에서 직접 확인했습니다.

2-1. 런타임 의존성 (dependencies)

패키지버전(선언)라이선스용도사용 앱
flutter (SDK)SDKBSD-3-ClauseFlutter 프레임워크 본체회원·매장·공통
cupertino_icons^1.0.8MITiOS 스타일 아이콘 세트회원·매장
mobile_scanner^7.4.0BSD-3-ClauseQR·바코드 카메라 스캔회원
qr_flutter^4.1.0BSD-3-ClauseQR 코드 화면 표시회원·매장
file_picker^3.0.4MIT파일 선택(업로드)회원·매장·공통
cryptography^2.7.0Apache-2.0클라이언트측 암호화회원
flutter_secure_storage^10.3.1BSD-3-Clause토큰 등 보안 저장(Keychain/Keystore)회원·공통
url_launcher^6.3.0BSD-3-Clause외부 링크·전화·메일 열기회원·공통
http^1.6.0BSD-3-ClauseREST API 통신공통(nestpay_shared)
nestpay_sharedpath(로컬)자체 개발(제3자 아님)회원·매장 공통 디자인·위젯·도우미회원·매장

2-2. 개발·빌드 전용 의존성 (dev_dependencies)

패키지버전(선언)라이선스용도
flutter_test (SDK)SDKBSD-3-Clause단위·위젯 테스트. 배포 앱 미포함
integration_test (SDK)SDKBSD-3-Clause실기기 통합(E2E) 테스트. 회원앱만. 배포 앱 미포함
flutter_lints^6.0.0BSD-3-Clause정적 분석 규칙 세트. 배포 앱 미포함
flutter_launcher_icons^0.14.4MIT앱 아이콘 자동 생성(빌드 도구). 배포 앱 미포함
flutter_native_splash^2.4.6MIT스플래시 화면 자동 생성(빌드 도구). 배포 앱 미포함

번들 폰트 — 회원·매장앱은 Pretendard 글꼴을 동봉합니다. Pretendard 는 SIL Open Font License 1.1(OFL-1.1)로 배포되는 서체이나, 프로젝트 파일에는 라이선스 원문이 동봉되어 있지 않습니다 → 확인필요(OFL-1.1 원문·고지 파일 동봉 권장). cupertino_icons 등 아이콘 폰트는 각 패키지 라이선스에 포함됩니다.

3. 프론트엔드 정적 리소스 (관리자 / 소개 사이트)

관리자(apps/admin)·소개 사이트(apps/www)는 프레임워크 없는 Vanilla JS 기반이며, 아래 소수의 제3자 스크립트만 파일로 동봉(vendoring)합니다. 각 파일 헤더의 라이선스 표기를 직접 확인했습니다.

라이브러리버전라이선스용도파일 경로
qrcode-generator1.4.4MIT관리자 OTP 등록 QR 생성apps/admin/js/vendor/qrcode.js
Swiper11.0.5MIT소개 사이트 슬라이더apps/www/js/renewal/script/swiper-bundle.min.js
Tailwind CSS (브라우저 번들)확인필요(번들 내장·버전 미표기)MIT소개 사이트 유틸리티 CSSapps/www/js/renewal/script/line-clamp.js

주의apps/www 소개 사이트의 renewal/ 스크립트는 발주사 기존 사이트를 참고한 정리·제작 중 상태입니다(요구사항: www 소개 페이지 신규 제작 필요). 따라서 위 Swiper·Tailwind 는 최종 산출물 확정 목록이 아니라 현재 리포지토리 실재 파일 기준입니다.

특히 Tailwind 번들 파일에는 cdn.tailwindcss.com should not be used in production 경고가 포함되어 있습니다. 정식 배포 전 PostCSS/Tailwind CLI 방식의 빌드 산출물로 전환할 것을 권장합니다.

4. 인프라 / 런타임 (컨테이너 이미지)

docker-compose*.yml·Dockerfile 에 선언된 이미지 기준입니다. 이들은 수정 없이(unmodified) 공식 이미지를 그대로 사용합니다.

구성요소버전 / 태그라이선스용도비고
nginx1.27-alpineBSD-2-ClauseHTTPS 입구·정적 서빙·리버스 프록시(api/admin/pg/www)
MariaDB (서버)10.3GPL-2.0데이터베이스 서버미수정 사용·네트워크 접속. §5 참고
MinIO (서버)RELEASE.2024-10-13T13-34-11ZAGPL-3.0오브젝트 스토리지 서버(로컬 개발용)운영은 외부 오브젝트 스토리지 사용 예정. 강한 카피레프트, §5 참고
Eclipse Temurin (OpenJDK)17 (jdk/jre)GPL-2.0 + Classpath ExceptionJava 런타임 베이스 이미지Classpath 예외로 애플리케이션 GPL 영향 없음
Alpine Linux (nginx 베이스 OS)nginx:1.27-alpine 내장대부분 MIT/BSD, 일부 GPL 패키지 포함컨테이너 베이스 OS구성 패키지별 상이 — 확인필요

MinIO 이중성 주의 — 백엔드가 쓰는 Java io.minio:minio 클라이언트(§1, Apache-2.0)와 위 MinIO 서버(AGPL-3.0)는 별개입니다. 클라이언트는 카피레프트 대상이 아닙니다.

5. 라이선스 준수 참고 (카피레프트 주의)

요약 NestPay 구성요소의 대다수는 관대(permissive) 라이선스(Apache-2.0 · MIT · BSD-2/3)로, 저작권·라이선스 고지 유지 의무만 있습니다. 카피레프트(copyleft)에 해당하는 아래 3개 항목만 별도 관리가 필요합니다.

구성요소라이선스의무의 강도NestPay 적용 판단(사실 기반)
MariaDB Connector/J
(mariadb-java-client)
LGPL-2.1약한 카피레프트드라이버를 수정 없이 동적 링크(runtimeOnly)해 사용. LGPL 은 비-GPL 앱에서의 이용을 허용하며, 라이브러리 자체를 교체 가능하게 유지하면 소스공개 의무가 애플리케이션까지 확산되지 않음. 라이선스 고지 유지 필요.
MariaDB 서버GPL-2.0강한 카피레프트공식 이미지를 수정 없이 별도 프로세스로 실행하고 네트워크(JDBC)로만 접속. 단순 사용은 배포에 해당하지 않아 애플리케이션 소스공개 의무 없음. 서버 자체 재배포 시에만 GPL 고지·소스 제공 의무 발생.
MinIO 서버AGPL-3.0매우 강한 카피레프트
(네트워크 사용 포함)
AGPL 은 네트워크로 서비스 제공 시에도 소스공개 의무가 발생. 현재 로컬 개발 전용이며 운영은 외부 오브젝트 스토리지로 대체 예정. MinIO 서버를 우리가 직접 운영·수정할 경우 의무가 발생하므로, 운영 스토리지 방식 확정 필요(확인필요).

권고 사항

NestPay 산출물 · (주)페이네스트 · 작성일 2026-07-27 · 실제 코드/DB 기준 · 외부연동(펌뱅킹·본인인증·은행 실명조회)은 계약 전 스텁 상태임을 명시