STUDY

개발문화와 오픈소스

Lim임 2025. 12. 9. 17:38

 

왜 오픈소스를 "오픈"했을까?

 

react도 node도 오픈소스임!!

리액트 is licensed under the MIT License

MIT라이선스에서 저작자만 밝혀줘라

 

OSI Open Source 

 

 

GPL

:Free Software Foundation(자유 소프트웨어 제단)(시초,진심)-> GNU General Public License

:"어떤 목적으로, 형태로든 다~ 사용할 수는 있지만 사용할 때에는 코드를 모두 공개해야돼 강력한 조항

ex. Firefox, Linux, Git, MariaDB, WordPress

 

MIT

:license.txt

:소스코드에 대한 공개의무 등 의무사항 X

:아파치 라이센스, 버전 2.0, 저작권, copyright-> 소스코드 or notice.txt/copyright.txt

:bootstrap, react, angular, jQuery

ex. 안드로이드

 

BSD

:Barkeley Software Distribution(BSD)

:라이선스 및 저작권 표시 조건 => 인기가 많습니다.

 

오픈소스 라이선스의 핵심 특징 정리

오픈소스 라이선스는 크게 두 가지 축으로 나뉜다

  1. 자유도(허용 범위)
  2. 소스코드 공개 의무 여부

1. 퍼미시브(Permissive) 라이선스

규제가 가장 약함. 거의 “마음대로 써라” 타입.

대표 종류

  • MIT
  • Apache 2.0
  • BSD

공통 특징

  • 소스코드 공개 의무 없음
  • 수정 후 재배포 가능
  • 상업적 이용 가능
  • 라이선스 및 저작권 표시만 유지하면 됨
  • 다른 라이선스와의 호환성 높음

추가 특징

  • Apache 2.0은 특허(특허권 보호) 조항 존재
    → 기업에서 선호

2. 카피레프트(Copyleft) 라이선스

“내 코드 사용하려면 너도 소스를 공개해!” 타입.

대표 종류

  • GPL (v2, v3)
  • LGPL

① GPL (Strong Copyleft)

특징

  • 소스코드 공개 의무 매우 강함
  • GPL 기반으로 만든 프로그램은 전체를 GPL로 공개해야 함
  • 상업적 사용은 가능하지만 비공개 제품을 만들 수 없음

사용 시 주의

  • 기업에서 거의 사용하지 않으려 하는 이유
    → 제품 전체가 GPL에 물려버림

② LGPL (Weak Copyleft)

특징

  • 라이브러리용 라이선스
  • 동적 링크로 사용할 경우 내 코드 전체 공개는 필요 없음
  • 라이브러리 수정한 부분만 공개하면 됨

3. MPL / EPL (Weak Copyleft 계열)

GPL보다 약하지만 MIT보다는 규제가 있음.

공통 특징

  • 파일 단위로 소스 공개 요구
    (수정한 파일만 공개하면 됨)
  • 전체 프로젝트를 공개할 필요 없음

대표

  • Mozilla Public License (MPL)
  • Eclipse Public License (EPL)

정리 표

라이선스공개 의무상업적 이용특징
MIT 없음 가능 가장 유연, 최소 조건(저작권 표시)
Apache 2.0 없음 가능 특허 보호 제공
BSD 없음 가능 MIT과 유사
GPL 전체 공개 가능 강한 카피레프트, 전체 GPL 요구
LGPL 수정 파일만 공개 가능 라이브러리용, 링크는 자유
MPL 수정한 파일만 공개 가능 파일 단위 공개
EPL 수정한 파일만 공개 가능 기업·Eclipse 기반에서 사용