Search

오픈소스 라이선스 화면 추가하는 방법

 들어가며

우리가 오픈소스 라이브러리를 사용하게 되면 릴리즈 시 꼭 해줘야 하는 것이 있습니다. 바로 오픈소스 라이브러리를 사용했다고 표시를 해주는거죠.
왜 표시를 해야 하나요?
라이브러리마다 다르지만 대부분의 라이브러리들은 MIT 라이선스를 따르고 있습니다. MIT 라이선스는 저작권 고지, 라이선스 사본 포함 정도의 관대한 규정을 제시하고 있는 라이선스입니다. 해당 라이선스를 가진 라이브러리를 활용하게 될 경우 저작권자 고지 및 라이선스 사본(영문)를 제품에 포함시켜야 하는 것이죠.
따라서 릴리즈하는 프로젝트에 어떤 라이브러리들을 썼는지 써줄 필요가 있습니다. 저는 라이선스 사본을 앱 내부말고 설정(Setting) 부분에서 오픈 소스 라이선스에 대한 내용을 확인할 수 있도록 구현해보고 싶었습니다.
하지만 우리가 손수 내용을 쓰게 된다면 누락되는 부분도 생길테고, 각각의 내용을 찾아서 넣어주는 것도 귀찮을테니 라이브러리를 써서 만들어보도록 하겠습니다.

 LicensePlist

LicensePlist
mono0926
제가 사용할 라이브러리는 LicensePlist 라는 라이브러리 입니다. Installation 부분에 있는 방식을 따라서 다운 받아주시면 됩니다. 저는 Homebrew를 사용해서 다운받았습니다.
1.
먼저 Homebrew에 licenseplist 를 다운받습니다. 저는 이미 다운을 받아서 스크린샷을 남기지 못했습니다.
brew install licenseplist
Plain Text
복사
2.
licenseplist 다운이 완료되면 오픈소스 라이선스 파일을 만들어줄 프로젝트 위치로 이동해줍니다.
*xcodeproj 를 포함하고 있는 위치로 이동해주시면 됩니다.
3.
해당 위치에서 license-plist 를 입력하면 폴더가 하나 생성됩니다. 저는 버전 정보를 추가로 넣고 싶어서 --add-version-numbers 옵션을 추가로 입력해줬습니다.
license-plist --add-version-numbers
Plain Text
복사
추가 옵션을 더 보고 싶으시다면 해당 링크를 참고해주시면 됩니다. 다양한 옵션들이 있어요!
4.
해당 폴더 내부에 라이브러리들이 plist로 잘 들어왔다면, 이번엔 Xcode로 넘어가서 진행해볼게요.
5.
프로젝트에 Settings Bundle를 하나 만들어보겠습니다. 저는 Settings 라고 이름 지어줬어요.
6.
Settings 하단에 생긴 Root.plist에 들어가서 해당 Preference Items 들을 지워줍니다.
7.
Preference Items에 새로운 Item를 넣어주고 Type를 Child Pane으로 해줄게요. 그리고 Title에는 설정창에 보이고 싶은 화면 타이틀을 적어주시면 됩니다.
8.
이제 아까 만들어뒀던 com.mono0926.LicensePlist.Output 내부에 있던 파일들과 폴더를 Settings 밑으로 옮겨줄게요. 그리고 빈 Output 폴더는 지워줍니다.
9.
Root.plist 에 만들어뒀던 Item 내부에 Filename를 추가해서 Value 값으로 방금 옮긴 폴더 이름을 넣어줄게요.
10.
이제 앱을 실행해서 오픈소스 라이선스가 제대로 들어왔는지 확인해주시면 됩니다! 끝!

 마치며

항상 잘 참고해서 사용하던 방식인데 소개할 수 있어서 기쁘네요. 다들 힘들게 라이선스 정리하지 마시고 간단하게 정리하세요!

 참고자료