개발자들은 다양한 오픈소스 라이브러리들을 사용한다.
오늘은 그 중에서 내가 사용하는 여러 라이브러리들의 라이선스에 대해 알아보고,
상업적인 목적으로 사용하는 경우에 어떤 방식으로 표기하는 것이 올바른 라이브러리 사용법인지 알아보고자 한다.
대부분의 라이브러리는 프로젝트의 라이선스 고지를 요구하는 경우가 많기 때문에, 이를 정확히 알아야 앱을 출시하고 운영하는데에 있어서 문제가 발생하지 않을 것이다.
1. RxJava
- 라이선스: Apache License 2.0
- 고지 방법: 라이선스 텍스트를 포함한 복사본을 프로젝트의 라이선스 고지 문서에 포함해야 한다.
2. Retrofit
- 라이선스: Apache License 2.0
- 고지 방법: 라이선스 텍스트를 포함한 복사본을 프로젝트의 라이선스 고지 문서에 포함해야 한다.
3. Hilt
- 라이선스: Apache License 2.0
- 고지 방법: 라이선스 텍스트를 포함한 복사본을 프로젝트의 라이선스 고지 문서에 포함해야 한다.
4. Glide
- 라이선스: BSE, MIT,Apache 2.0
- 고지 방법: Glide는 여러 라이선스가 사용되므로 각 라이선스 별로 고지해야 한다. Glide github 라이선스 섹션에서 자세한 내용을 확인할 수 있다.
5. Jetpack
- 라이선스: 대부분 Apache License 2.0
- 고지 방법: 라이선스 텍스트를 포함한 복사본을 프로젝트의 라이선스 고지 문서에 포함해야 한다.
6. Firebase
- 라이선스: 대부분 Apache License 2.0
- 고지 방법: 라이선스 텍스트를 포함한 복사본을 프로젝트의 라이선스 고지 문서에 포함해야 한다.
일반적인 Apache 2.0 라이선스 고지 방법
통상적인 웹 서비스의 경우에는 라이선스 관련 페이지를 만들어 공개 라이선스에 대해 쉽게 확인할 수 있어야 한다.
하지만 만약 사내 서버에서 해당 라이선스를 가진 툴을 사용하여 외부에 드러나지 않는 경우에는 따로 고지할 필요가 없다.
모바일 Application의 경우에는?
- 프로젝트에 라이선스 복사본 텍스트 파일 포함시키기
- 해당 프로그래에 사용된 기술과 각각의 라이선스를 확인할 수 있는 페이지(하이브리드의 경우에는 Footer에 확인 페이지를 배치하는 것도 좋다)
위와 같은 방법들로 사용자가 라이선스 정보를 확인할 수 있도록 별도의 공간을 마련해야 하며, 아래는 그 예시이다.
1. 카카오톡
설정 - 정보 - 오픈소스 탭에 들어가면 각각의 기술과 그에 따른 라이선스를 확인할 수 있다.
2. 스포티파이
좌측 상단 메뉴 - 도움말 - 타사 소프트웨어로 진입하면 라이선스 정보를 모두 확인할 수 있다.
3. 디스코드
디스코드는 어플리케이션이 아닌 홈페이지의 최하단 우측에 "라이선스" 항목에 고지되어 있다.
모바일 앱 또한 웹페이지가 있다면 모바일앱에서 홈페이지로 이동하는 링크를 제공하여 웹에서 라이선스를 확인하도록 하는 방법 또한 좋은 것 같다.
Apache License는 라이선스 고지 방법에 기재된 내용만 지키면 무료로 사용이 가능한 오픈소스 라이선스이다.
라이선스 고지를 제대로 하지 않을 경우에는 저작권 침해로 간주되어 손배상 청구, 앱 사용의 금지, 수익 압류등과 같은 법적 문제가 발생하거나, 라이브러리 사용에 제한이 발생하여 앱의 기능이 제한되거나 스토어에서 내려갈 수 있다.
만약 따로 라이선스 고지 화면을 만들기 어려운 상황이라면,
구글의 OSS 라이선스 플러그인을 사용하여 간편하게 생성할 수 있다.
'개발 > Android' 카테고리의 다른 글
[안드로이드] 클린 아키텍처 - (2) 의존성 역전 (0) | 2023.05.16 |
---|---|
[안드로이드] 클린 아키텍처 - (1) 개념 (0) | 2023.05.16 |
[안드로이드] ViewModel에서 context를 사용하는 방법 (1) | 2023.05.10 |
[안드로이드] AAC ViewModel과 MVVM ViewModel (0) | 2023.03.26 |
[안드로이드] Glide를 알아보자 (0) | 2023.01.12 |