미디어센터

세포아소프트는 지출 최적화의 시장 선도자로
기업의 현명하고 합리적이고 계획적인 지출 문화를 선도하는 혁신 역할을 하며,
올인원(All-In-One) 지출관리 플랫폼을 만들어갑니다.

[기술개발용어] ‘소프트웨어 라이선스(Software License)’ 의 모든 것

소프트웨어 라이선스란?
by 전상무
2022.07

 

1. 정의

  • [소프트웨어 라이선스] 란?

소프트웨어를 사용할 수 있는 권한 또는 사용을 허가한다는 내용을 담은 문서를 말합니다.

“소프트웨어는 저작권에 의해 자신이 만든 소프트웨어를 다른 사람이 사용하지 못하게 하고 자신만이 사용할 수 있는 권리를 가지게 되며, 원칙적으로는 이러한 권리자만이 소프트웨어를 사용, 복제, 배포, 수정을 할 수 있습니다. 흔히, 저작권자라고 하는 권리자가 다른 사람에게 일정한 내용을 조건으로 특정 행위를 할 수 있는 권한을 부여할 수 있습니다. 여기서 권한을 ‘라이선스(이용허락권)’이라고 합니다. 이번 자료는 오픈소스 라이선스를 다뤄보도록 하겠습니다.”

 

2. 라이선스의 종류

  • GPL(General Public License)

“GPL은 현재 가장 많은 오픈소스 소프트웨어가 채택하고 있는 라이선스입니다. 오픈소스 라이선스들 중에서 가장 많이 알려져 있고 의무사항들도 타 라이선스에 비해 엄격합니다. GPL이 적용된 소프트웨어를 사용할 시 다음과 같은 조건을 지켜야 합니다.”

– 소프트웨어를 배포하는 경우 저작권 표시, 보증책임이 없다는 표시 및 GPL에 의해 배포된다는 사실을 명시한다.

– 소프트웨어를 수정하거나 새로운 소프트웨어를 포함시키는 경우, GPL에 의해 소스코드를 제공해야 한다.

– GPL 소프트웨어를 포함해서 배포하는 경우, 소스 코드 자체를 함께 배포하거나 소스코드를 제공받을 수 있는 방법에 대한 정보를 함께 제공한다.

“위 제약사항 중 소스코드를 제공 및 함께 배포라는 말은 GPL을 가진 소프트웨어를 이용해서 프로그램을 제작했을 경우, 배포 시 제작된 프로그램의 소스코드를 함께 공개를 해야 한다는 의미입니다. 배포하지 않고 독립 저작물의 경우는 소스코드를 공개하지 않아도 무방합니다.”

 

  • LGPL

“GPL은 사용하기만 해도 소스코드를 공개해야 한다는 다소 강한 조건 때문에 내놓은 라이선스입니다. 기존 LGPL은 일부 라이브러리에만 적용하려는 의도로 ‘Library GPL’이라는 이름을 가지고 있었으나, 모든 소프트웨어 또는 라이브러리에 적용된다는 오해를 사게 되어, ‘Lesser GPL’로 변경되었습니다. LGPL이 적용된 경우 사용 조건은 다음과 같습니다.”

– LGPL을 가진 소프트웨어를 포함한 프로그램 배포 시 저작권 표시, 보증책임이 없다는 표시 및 LGPL에 의해 배포된다는 사실을 명시한다.

– LPGL 라이브러리의 일부를 수정하는 경우, 수정한 라이브러리를 LGPL에 의해 소스코드를 공개한다.

“LGPL을 가진 소프트웨어 또는 라이브러리를 이용만 해서 새로운 프로그램을 배포하는 것은 문제가 없습니다. 다만, LGPL 소프트웨어를 수정해서 배포하는 경우, GPL 라이선스와 마찬가지로 배포한 프로그램의 모든 소스코드를 공개해야 하는 조건이 생깁니다. GPL 라이선스에 비해서 조건이 가벼워져 ‘라이브러리를 포함한 개발에 용이하다’라고 할 수 있습니다.”

 

  • AGPL(Affero General Public License)

“AGPL은 GPL과 다르게 네트워크 동작에 대한 규정이 보완되어 만들어진 라이선스입니다. AGPL이 적용된 소프트웨어 또는 라이브러리를 네트워크를 통해 이용하고 있다면, 새로 만들어낸 소프트웨어 또는 라이브러리의 소스코드를 공개해야 한다는 조건이 추가되었습니다.”

 

  • BSD(Berkeley Software Distribution) License

“BSD 라이선스는 GPL이나 LGPL 보다 조건이 훨씬 덜 제한적이기 때문에 허용하는 범위가 훨씬 넓습니다. GPL, LGPL과 달리 소스코드를 공개하지 않아도 된다는 큰 이점을 가지고 있습니다. BSD 라이선스가 적용된 경우 사용 조건은 다음과 같습니다.”

– 소프트웨어를 배포하는 경우 저작권 표시, 보증 책임이 없다는 것을 명시한다.

“보시다시피 위 조건 하나만을 가지고 있습니다. BSD 라이선스 라이브러리는 일부가 수정된 경우에도, 배포된 프로그램의 소스코드를 공개하지 않아도 문제가 없기 때문에 상용 소프트웨어에서 무제한적으로 사용이 가능합니다. 따라서, 저작권 표시만 한다면 어떻게 사용을 해도 아무런 제한이 없는 라이선스라는 의미를 가지게 됩니다.

 

  • Apache License

“Apache 라이선스는 아파치 소프트웨어 재단에서 자체적으로 만든 라이선스 규정입니다. 아파치 재단에서 배포하는 모든 라이브러리, 소프트웨어에 적용되며 BSD 라이선스 계열이기 때문에 소스코드 공개 의무가 없습니다. Apache 라이선스가 적용된 경우 사용 조건은 다음과 같습니다.”

– 소프트웨어를 배포하는 경우 저작권 표시, 보증 책임이 없다는 것을 명시한다.

– ‘Apache’라는 이름에 대한 상표권을 침해하지 않아야 한다.

“위 사용 조건 중 ‘Apache’ 이름에 대한 상표권을 침해하지만 않는다면, 라이브러리를 수정 배포 또는 포함하여 배포할 시 소스코드를 공개하지 않아도 문제가 없다는 것을 알 수 있습니다. 따라서, BSD 라이선스와 같이 제한이 없는 라이선스를 의미합니다.

 

  • MIT License

“MIT 라이선스는 미국의 MIT에서 해당 대학 소프트웨어 공학도들을 위해 개발한 라이선스입니다. MIT 라이선스 역시 BSD 라이선스 계열로 소스코드 공개 의무가 없습니다. MIT 라이선스가 적용된 경우 사용 조건은 다음과 같습니다.”

– 소프트웨어를 배포하는 경우 저작권 표시, 보증 책임이 없다는 것을 명시한다.

“BSD 라이선스와 마찬가지로 저작권 표시 의무를 지킨다면 수정, 배포 시 아무런 제한을 받지 않는 라이선스입니다.”

 

  • MPL(Mozilla Public License)

“MPL은 모질라 재단에서 자체적으로 만든 라이선스입니다. MPL의 특징으로는 소스코드와 실행파일의 저작권이 분리되어 있다는 점입니다. Apache 라이선스와 비슷하기 때문에, 소스코드 공개 의무는 없습니다. MPL 라이선스가 적용된 경우 사용 조건은 다음과 같습니다.”

– 소프트웨어를 배포하는 경우 저작권 표시, 보증 책임이 없다는 것을 명시한다.

– 소스코드 수정 시 원저작자에게 수정한 부분에 대해 알려줘야 한다.

“MPL 라이브러리 또는 소프트웨어를 이용 시 배포할 때 라이선스를 명시하고, 라이브러리를 수정했을 경우 원저작자에게 알려줘야 한다는 제한 사항만 지킨다면 상용 소프트웨어로 사용해도 문제없는 라이선스입니다.”

 

  • Beerware

“beerware 라이선스는 여담으로 소개하겠습니다. 이 라이선스는 어떠한 라이선스 재단이나 관련 기관에서 인증을 받지 못한 비공식 라이선스입니다. 비공식적으로 사용되는 라이선스이기 때문에 각 저작권자들은 서로 사용 조건을 달리 요구하는 경우가 종종 있습니다. 대표적인 사용 조건은 다음과 같습니다.“

– You can do watever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.

“Beerware 라이선스는 위 조건 하나만을 가지고 있습니다. 라이선스 조건을 해석하면 ‘내 자료를 마음껏 사용하되, 내 자료가 가치 있다고 생각이 든다면 기억해두었다가 언젠가 나를 술집에서 만나게 되면 맥주를 사줘라’라고 명시되어 있습니다. 따라서 아무런 제한이 없는 라이선스로 독립, 상용 소프트웨어에서 사용이 가능합니다. 이 라이선스는 명시되어 있는 경우를 보기 힘들지만, Github에서 종종 보이곤 합니다.” 

 

이번 포스팅을 끝맺으며..

“흔히들 많이 사용하는 라이브러리는 각각 라이선스를 가지고 있습니다. 다만, 라이선스의 종류에 따라서 상용 소프트웨어에서 사용할 때 라이선스 규약을 어기게 되면 문제가 발생할 수 있어 이번 자료를 준비했습니다. 일부 개발자들이 오픈소스 라이브러리를 가져올 때, 어떤 라이선스가 적용되어 있는지 확인하지 않고 상용 소프트웨어에서 사용하는 것을 본 적 있습니다. 따라서, 이 자료가 추후 라이브러리 사용 시 참고가 되어 라이선스 확인 후 적절한 라이브러리를 활용했으면 하는 바람으로 자료를 준비하게 되었습니다.”

 

 

참고 자료

  • 위키백과 – 소프트웨어 사용권
  • HelloBlog.Net
  • 춘식이의 코드이야기
  • IT 정보기술 따라잡기!
  • steve-Lee’s Deep Insignt

 

관련 블로그 글