이번에 새롭게 프로젝트를 시작하게 되었다. 초반 프로젝트 구성을 위해서 이런저런 얘기를 하다가 라이선스에 대한 부분을 언급하게 됐는데, 사실 뭔가 라이선스 = 저작권? 이라는 정도로만 가볍게 이해하고 있었는데 조금 찾다보니 생각과는 다르게 적용이 되는것 같아 지난 학기 오픈소스 수업때 들었던 내용과, 이번에 찾아보는 내용들을 잘 정리해서 포스팅을 해보려 한다.
우리가 프로젝트에 적용할 라이선스를 정하기 위해서는 우선 헷갈리는 개념인 저작권과 라이선스에 대해 생각해볼 필요가 있다.
즉, 저작권은 창작물을 만든 사람에게 부여되는 권리이고, 라이선스는 저작권자가 자신의 저작물을 타인에게 사용할 수 있도록 허락하는 계약이라 할 수 있다.
참고로 라이선스를 선택하지 않더라고 저작권에 대한 부분은 저작권에 정리에 언급되었듯이 창작물이 만들어지는 순간 자동으로 발생하기 때문에 아무런 라이선스가 없다고 막 갖다쓰고 해도 된다고 볼 수는 없다.

아마 다들 GitHub에서 프로젝트 레포를 생성할 때 기본적으로 라이선스를 선택할 수 있는 이러한 리스트를 본적이 있을것이다.
각각이 파생된 상위 라이선스 라인에 대해 알아보고, 주의점에 대해서도 알아보자.
MIT License는 MIT에서 해당 대학의 SW 공학도들을 돕기 위해 개발한 라이선스다.
라이선스와 저작권 관련 명시만 지켜주면 되는 라이선스로 가장 느슨한 조건을 가진 라이선스 중 하나기 때문에 인기가 많다.
MIT License를 사용하는 대표적인 오픈 소스로는 React가 있다.
Apache License는 아파치 SW 재단 자체적으로 만든 라이선스이다. 소스코드에 대한 공개 의무 등의 의무사항은 없지만 아파치 라이선스의 소스코드를 수정하여 배포하는 경우 아파치 라이선스, 버전 2.0을 꼭 포함시켜야 하며 아파치 재단에서 만든 소프트웨어임을 밝혀야 한다.
Apache License를 사용하는 대표적인 오픈 소스로는 Swift가 있다.
아마 프로젝트를 진행하면서 여러 오픈 소스를 끌어다 쓸 경우 가장 유의깊게 봐야되는 라이선스가 되지 않을까 싶다.
Free Software Foundation(FSF)에서 만든 라이선스로 GNU 프로젝트로 배포하는 SW에 적용하기 위하여 Richard Stallman이 만든 라이선스이다.
가장 큰 특징은 FSF 답게 가장 강한 제약 조건을 포함하고 있는 Copyleft 조항. GPL 프로그램은 어떤 목적으로, 어떤 형태로든 사용할 수 있지만 사용하거나 변경된 프로그램을 배포하는 경우 무조건 동일한 라이선스 즉, GPL로 공개해야 한다는 강력한 조항이 담겨있다.
그렇기에 만약 프로젝트를 진행하면서 GPL 라이선스를 가진 오픈 소스를 사용하게 된다면 적용에 유의해야 된다 생각한다.
우리가 라이선스의 개념을 보면서 느꼈겠지만 라이선스를 적용할때는 저작자가 라이선스로 얻고 싶은 특징을 생각해야 되며, 또한 오픈 소스를 끌어다 쓸때는 파생자의 입장에서 해당 오픈 소스에 적용된 라이선스의 특징을 잘 이해하여 끌어다 써야 된다.
이번에 진행하게 되는 프로젝트는 아직 상업적 목표에 대한 부분은 자세히 파악하지 못했지만 본격적인 서비스를 진행하려는 프로젝트이다. 그렇기에 코드 공개가 강요되는 GPL보단 MIT와 Apache 중에 고민을 해봐야 된다 생각한다.
이 둘의 큰 차이점은
프로젝트를 진행하며 여러 오픈 소스를 끌어다 쓴다는 것이 중요하다면 라이선스 호환도가 높은 MIT 라이선스를, 저작물에 대한 특허 침해를 중시한다면 Apache를 적용하는 것이 좋을 것 같다. (그리고 GPL을 끌어오지 않았는지 유의하자)
참고 자료
GitHub 라이선스 종류와 선택 방법
대표적인 오픈 소스 라이선스
오픈소스 소프트웨어 가이드 by Kakao
OLIS 오픈소스 비교표
iOS 저작권 표시