Flutter PackagesActive
Flutter OSS Manager
Flutter 프로젝트의 오픈소스 라이선스를 스캔하고 Dart 파일로 자동 생성하는 CLI 도구
dartflutter
개요
Flutter 프로젝트에서 사용하는 모든 오픈소스 패키지의 라이선스를 자동으로 스캔하고, 그 결과를 Dart 파일로 생성해주는 CLI 도구다. 앱 내에 오픈소스 고지 화면을 구현할 때 수동으로 라이선스를 수집하는 번거로움을 해결한다.
주요 기능
pubspec.lock을 분석하여 모든 의존성의 라이선스를 자동 수집- 패키지명, 버전, 라이선스 전문, 라이선스 유형, 저장소 URL 등을 포함하는 Dart 파일 생성
- 2단계 라이선스 식별 시스템: 휴리스틱 매칭 → Jaccard 유사도 기반 폴백
- MIT, Apache-2.0, BSD, GPL, LGPL, MPL 등 주요 라이선스 자동 판별
- GPL/LGPL/AGPL 라이선스 감지 시 경고 표시
- Flutter SDK 내장 패키지(flutter, flutter_test, sky_engine) 라이선스 자동 포함
- 단일 라이선스 파일 변환을 위한
generate커맨드 별도 제공
지원 플랫폼
Android, iOS, Web, Linux, Windows
기술적 특징
라이선스 식별에 2단계 전략을 사용한다. 먼저 정규식 패턴과 키워드 기반의 휴리스틱 매칭으로 빠르고 정확하게 판별을 시도하고, 실패할 경우 라이선스 템플릿과의 Jaccard 유사도 비교로 폴백한다. 각 라이선스 유형별로 별도의 템플릿 클래스(MitLicenseInfo, ApacheLicenseInfo 등)를 두어 식별 로직을 모듈화했다.
CLI는 args 패키지를 활용한 커맨드 기반 구조(scan, generate)로, 출력 경로 등을 옵션으로 지정할 수 있다.
왜 주목할까?
Flutter 앱을 배포할 때 오픈소스 고지는 법적 요구사항이지만, 수십 개의 패키지 라이선스를 수동으로 관리하는 건 현실적으로 어렵다. 이 도구는 dart run 한 번으로 전체 라이선스 정보를 Dart 코드로 생성해주므로 앱 내 고지 화면 구현과 자연스럽게 연결된다. GPL 계열 라이선스 경고 기능은 상용 프로젝트에서 특히 유용하다.