[Open Source Software] - 오픈소스, 라이선스 (GNU, GPL, BSD 등)

서현이의 개발 기록장·2022년 10월 27일
1

Open Source Programming

목록 보기
1/5
post-thumbnail

오픈소스

사용자가 프로그램의 소스코드에 아무런 제약 없이 접근 할 수 있다.
- 수정 및 배포 가능하며, 사용 상의 제약이 없다.

  • 자유 배포 (Free Redistribution)
  • 소스코드 공개 (Source Code Open)
  • 2차적 저작물 (Derived Works) (허용)
  • 소스코드 수정 제한 (Integrity of The Author's Source Code)
  • 개인이나 단체에 대한 차별 금지 (No Discrimination Against Persons or Groups)
  • 사용 분야에 대한 제한 금지 (No Discrimination Against Fields of Endeavor)
  • 라이선스의 배포 (Distribution of License)
  • 라이선스 적용상의 동일성 유지 (License must not be specific to a product)
  • 다른 라이선스의 포괄적 수용 (License must not contaminate other software)
  • 라이선스의 기술적 중립성 (License must be Technology-Neutral)

오픈소스 커뮤니티의 성장 계기

  • Netscape 브라우저 소스를 공개 -> 이후 Firefox 프로젝트로 발전

오픈소스의 장점

  • 자유롭게 프로그램의 소스에 접근
  • 수정 및 재배포
  • 제조사에 의존적인 부분을 제거
  • 높은 수준의 협력

라이선스

소프트웨어를 사용할 수 있는 권한 또는 사용을 허가하는 것이다. (소프트웨어 사용권)


GNU (GNU is Not Unix)

GNU 4가지 강령

  • 누구나 어떤 목적으로든 프로그램을 실행할 자유를 가쟈야 한다.
  • 사용자의 요구에 맞게 프러그램을 수정할 수 있어야 한다.
  • 다른 사람들을 위해 재배포가 가능해야 한다.
  • 수정된 버전의 배포를 통해 해당 커뮤니티가 이득을 볼 수 있어야 한다.

GPL

특징

  • 수정한 소스코드 또는 GPL 소스코드를 활용한 소프트웨어는 모두 GPL로 공개
  • 개인적, 내부적 이용에 한해서는 소스코드를 공개하지 않아도 됨
  • 외부 배포시 해당 소프트웨어의 전체 소스코드를 공개해야 함

ex) FireFox (2.0), 리눅스 커널, 깃마리아 DB


LGPL

특징

  • 기존의 GPL의 높은 제약을 완화시키기 위해 탄생
  • 소스코드를 단순 라이브러리 이용 이외의 목적으로 사용 시 소스코드 공개

ex) FireFox (2.1)


BSD

특징

  • 소스코드의 공개 의무가 없고 제약 조건이 낮다.
  • 버클리 캘리포니아 대학에서 제정
  • BSD 자체가 공기관에서 만든 것이므로 공공 환원의 의도가 강함
  • 저작권 및 라이선스 명시 이외엔 아무 제약 없이 사용 가능한 자유로운 라이선스

ex) OpenCV


Apache 2.0

특징

  • BSD와 거의 비슷하며 BSD보다 좀 더 완화된 내용
  • Apache 1.0, 1.1은 OSI 인증 라이선스 제외 (OSI = Open Source Initiative)
  • 2차 라이선스 가능
    ex) 안드로이드, 하둡

MIT

특징

  • BSD 라이선스를 기초로 MIT 대학에서 제정
  • MIT 라이선스를 따르는 소프트웨어를 사용하여 만든 개발품을 꼭 오픈소스로 해야할 필요는 없으며, 소스코드 공개 의무도 없음
  • 2차 라이선스 가능

ex) X 윈도우 시스템, Jsoup


MPL

특징

  • 수정한 소스코드는 MPL 라이선스로 공개 (단순 이용 시에는 공개 의무 없음)
  • 소스코드와 실행 파일의 저작권 분리
  • MPL 라이선스의 소스코드를 사용하여 개발했을 시 수정한 소스코드를 MPL로 공개하고 원작자에게 수정한 부분에 대해 알려줘야 함
  • 실행 파일은 독점 라리선스로 배포 가능
  • 또한 MPL과 무관하게 작성된 소스코드는 공개할 필요가 없다.
  • 2차 라이선스 가능

ex) 파이어폭스 (1.1)


Eclipse

특징

  • 수정한 소스코드를 Eclipse 라이선스로 공개 (단순 이용 시에는 공개 의무 없음)
  • GPL을 대체하며, GPL보다 약한 수준으로 기업 친화적인 특징
  • 2차 라이선스 가능

ex) Eclipse

profile
HanYang ERICA Univ. Department of Artificial Intelligence

0개의 댓글