본문 바로가기
Programming

오픈 소스 라이선스

by Skogkatt의 개인 블로그 2019. 7. 9.
반응형
GNU (GNU's Not UNIX!)
FSF에서 진행하고 유지중인 OS 프로젝트

GNU는 "GNU's Not Unix!"라는 뜻의 재귀적 약자이며 1984년, 리처드 스톨먼에 의해 시작되었다.

유닉스와 완전히 호환 되면서 더욱 강력한 OS를 만드는 것을 목표로 한다.


FSF(Free Software Foundation)
자유 소프트웨어의 생산과 보급을 장려하기 위해 리처드 스톨만이 세운 재단

1985년 리처드 스톨만이 설립한 재단이다.

FSF는 대개 자유 소프트웨어 운동과 자유 소프트웨어 커뮤니티를 위한 법적, 구조적 문제에 대한 작업을 처리한다.


GNU GPL(General Public License)
Free Software를 위한 대표적인 copyleft 라이선스

FSF에서 Free Software를 위해 만든 라이선스로 1989년에GPLv1, 1991년에GPLv2, 2007년에GPLv3가 발표되었다.

GNU GPL의 다섯가지 주요 조항

  1. 컴퓨터 프로그램을 어떠한 목적으로든지 사용할 수 있다. 다만 법으로 제한하는 행위는 할 수 없다.
  2. 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드와 함께 판매하거나 소스 코드를 무료로 배포해야 한다.
  3. 컴퓨터 프로그램의 소스 코드를 용도에 따라 변경할 수 있다.
  4. 변경된 컴퓨터 프로그램 역시 프로그램의 소스 코드를 반드시 공개 배포해야 한다.
  5. 변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이선스를 취해야 한다. 즉 GPL 라이선스를 적용해야 한다.[각주:1]

GNU LGPL(Lesser General Public License)
GPL보다 훨씬 완화된 조건의 라이선스

기본적으로 GNU GPL과 비슷하지만, GNU GPL이 라이브러리의 라이선스로 쓰일 경우에 발생하는 문제점을 해결할 수 있도록 만들어져 있다.

LGPL이 적용된 라이브러리를 이용하여 개발했을 경우 LGPL코드를 사용했음을 명시만 하고 소스 코드는 공개하지 않아도 된다.

다만, LGPL 코드를 단순이 이용한 것이 아니라 이를 수정 또는 파생된 라이브러리를 개발하여 배포하는 경우엔 전체 코드를 공개해야 한다.
GNU Lesser General Public License Link


BSD(Berkeley Software Distribution)License
공공에서 만든 것은 공공에 돌려주자는 취지의 라이선스

소프트웨어 라이선스라고도 할 수 없을 만큼 미약해서 BSD License가 적용된 소프트웨어는 아무나 개작할 수 있고, 수정한 것을 제한 없이 배포할 수 있다.

또한 소스 코드 공개 의무가 없으며 상업적 소프트웨어에서도 무제한 사용 가능하다.[각주:2]

국가 재정지원을 받아서 개발된 소프트웨어를 공공에게 돌려준다는 의도로, 최소한의 규정(저작권자 표기)만으로 자유로운 이용을 보장하자는 취지이다.


MPL(Mozilla Public License)
BSD License와 GNU GPL의 혼합적 성격을 띄고있는 오픈 소스ㆍ자유 소프트웨어 라이선스

모질라 재단에서 개발된 모질라 소프트웨어들에게 적용되었다.

수정한 2차 소스코드는 MPL로 공개해야하고, 원 저작자에게 수정한 부분에 대해선 알려야 하지만, 실행 파일은 독점 라이선스로 배포할 수 있게 하여 소스 코드와 실행파일의 저작권을 분리했다. [각주:3]


MIT(Massachusetts Institute of Technology) License
BSD 라이선스 기반의 GNU GPL의 엄격함을 피한 라이선스 

미국 매사추세츠 대학교에서 본교의 소프트웨어 공학도를 돕기 위해 개발되었다.

BSD 라이선스를 기초로 작성되었고, 반드시 소스 코드 공개의 의무가 없기 때문에 GNU GPL와 같은 copyleft 라이선스가 가진 엄격함을 꺼리는 사용자층에게 널리 쓰인다.[각주:4] MIT License를 따르는 대표적 소프트웨어로 X11가 있다.


Apache License
누구나 해당 소프트웨어에서 파생된 프로그램을 제작할 수 있으며 저작권을 양도 및 전송할 수 있다.

아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어에 대한 라이선스 규정이다.
아파치 라이선스가 적용된 코드는 누구든 부분 혹은 전체를 개인적 혹은 상업적 목적으로 이용할 수 있다.

재배포시에는 아파치 라이선스 버전 2.0을 포함시켜야 하고, 아파치 소프트웨어 재단에 개발된 소프트웨어라는 것을 명확하게 밝혀야 한다.[각주:5]

 

 

  1. 만일 배포하고자 하는 프로그램의 특정 부분이 GPL코드로부터 파생된 것이 아닌 독립적인 저작물일 경우에는 독립 저작물 모듈의 개별적인 배포에는 GPL이 적용되지 않는다(소스를 공개할 필요가 없다.) 하지만 프로그램을 전체적으로(전체모듈 + 독립 저작권 모듈)배포할 때에는 GPL을 따라야 한다. [본문으로]
  2. 이것이 GNU GPL과의 가장 큰 차이점인데, GPL은 파생된 소프트웨어도 GPL과 같은 라이선스를 갖도록 의무화하고 있다.

    즉 파생물의 경우에도 소스 코드가 반드시 배포되도록 하는 것인데, 이것은 GPL을 만들어낸 리처드 스톨먼의 의지에 따른 결과이다.

    BSD 라이선스의 경우에는 BSD 자체가 공공기관에서 만들어낸 것이므로 공공의 몫으로 돌려주자는 의미가 강하므로 라이선스 자체에는 아무런 제한 없이 누구나 자신의 용도로 사용할 수 있도록 한 것이고, GPL의 경우에는 자유 소프트웨어의 철학을 실천하고자 하는 의도가 반영되어 있다고 할 수 있다. [출처:wikipedia - BSD 허가서] [본문으로]

  3. 사용한 MPL 소프트웨어와 수정한 MPL 소프트웨어에 대한 공개 의무만 가지며, 별도의 소스 코드와 실행 파일은 독점 라이선스를 가질 수 있다. [본문으로]
  4. MIT License는 copyleft가 아니다. [본문으로]
  5. 원본 소스 코드 또는 수정한 소스 코드를 포함시키지 않는 점이 다른 라이선스와의 가장 큰 차이점 [본문으로]
반응형

댓글