[study] Apache, GPL, MIT 오픈소스 라이선스 비교 [개발자를 위한 오픈 소스 라이선스 가이드]

2024. 8. 16. 14:32·◈ Study/기초튼튼 개발지식🥔
728x90

- Apache, GPL, MIT 오픈소스 라이선스 비교

Apache License, GNU General Public License (GPL), 그리고 MIT License는 모두 널리 사용되는 오픈 소스 라이선스이지만, 각각의 라이선스는 다른 조건과 철학을 가지고 있다.

1. Apache License 2.0

  • 자유도: Apache License는 매우 자유로운 라이선스 중 하나이다. 코드를 사용, 수정, 배포할 수 있으며, 상업적 이용도 가능하다.
  • 조건: 수정된 코드나 재배포되는 소프트웨어에 원본 라이선스와 저작권 고지를 포함해야 한다. 또한, 수정된 파일에 변경 사항을 명시해야 한다.
  • 특허 보호: Apache License는 특허에 대한 명시적인 권리 부여 및 보호 조항을 포함한다. 즉, 소프트웨어를 사용한 사람이 특허 소송을 제기하면, 라이선스가 자동으로 종료된다.
  • 호환성: GPL과 호환되지 않지만, MIT 라이선스와 호환된다.

2. GNU General Public License (GPL)

  • 자유도: GPL은 강력한 카피레프트(Copyleft) 라이선스로, 소프트웨어를 사용, 수정, 배포할 수 있지만, 변경된 소프트웨어 역시 동일한 GPL로 배포해야 한다. 이는 자유 소프트웨어 철학에 기반한 라이선스이다.
  • 조건: 소스 코드를 반드시 공개해야 하며, 소프트웨어의 수정본이나 파생물도 동일한 GPL 라이선스를 따라야 한다. 상업적 이용은 가능하지만, 배포 시 소스 코드를 반드시 제공해야 한다.
  • 특허 보호: 특허에 대한 권리 보호 조항을 포함하지만, Apache License만큼 명확하지는 않다.
  • 호환성: 호환되지 않는 라이선스가 많다. 예를 들어, Apache License와는 호환되지 않는다.

3. MIT License

  • 자유도: MIT License는 매우 간단하고 자유로운 라이선스이다. 코드를 사용, 수정, 배포할 수 있으며, 상업적 이용도 자유롭다.
  • 조건: 소프트웨어의 원본 라이선스와 저작권 고지를 포함해야 한다. 그 외의 의무는 없다.
  • 특허 보호: MIT License는 특허에 대한 언급이 거의 없으므로, 특허 관련 보호가 없다.
  • 호환성: MIT 라이선스는 매우 호환성이 높으며, 다른 라이선스와 결합하기 쉽다. Apache License 및 GPL과도 호환된다.

- 요약 비교

  • 자유도: MIT > Apache > GPL
  • 조건: GPL (가장 엄격함) > Apache (중간) > MIT (가장 자유로움)
  • 특허 보호: Apache > GPL > MIT
  • 호환성: MIT > Apache > GPL
이 세 가지 라이선스 중 어떤 것을 선택할지는 프로젝트의 목표와 철학에 따라 달라진다.

예를 들어, 코드를 널리 사용하도록 하되, 소스 코드 공개를 강제하지 않으려면 MIT License나 Apache License가 적합할 수 있다. 반대로, 모든 파생물이 동일한 라이선스를 따르도록 하려면 GPL을 사용하는 것이 적합하다.

728x90
'◈ Study/기초튼튼 개발지식🥔' 카테고리의 다른 글
  • [study] URL 리라이트(URL Rewriting)란 무엇인가? [JSESSIONID를 URL에 포함하는 방식]
  • [study] JSESSIONID란? [Java EE 기반 웹 애플리케이션에서 세션을 식별하는 고유한 ID]
  • [study] 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링 [웹 애플리케이션 렌더링 방식(SSR, CSR)]
  • [study] 개발에서 반영과 배포의 차이 [소프트웨어 개발의 핵심 단계: 반영과 배포의 이해]
예르미(yermi)
예르미(yermi)
끊임없이 제 자신을 계발하는 개발자입니다👨🏻‍💻
  • 예르미(yermi)
    예르미의 코딩노트
    예르미(yermi)
  • 전체
    오늘
    어제
    • 분류 전체보기 (937)
      • ◎ Java (133)
        • Java☕ (93)
        • JSP📋 (26)
        • Applet🧳 (6)
        • Interview👨🏻‍🏫 (8)
      • ◎ JavaScript (48)
        • JavaScript🦎 (25)
        • jQuery🌊 (8)
        • React🌐 (2)
        • Vue.js🔰 (6)
        • Node.js🫒 (3)
        • Google App Script🐑 (4)
      • ◎ HTML5+CSS3 (17)
        • HTML5📝 (8)
        • CSS3🎨 (9)
      • ──────────── (0)
      • ▣ Framework (67)
        • Spring🍃 (36)
        • Spring Boot🍀 (12)
        • Bootstrap💜 (3)
        • Selenium🌕 (6)
        • MyBatis🐣 (10)
      • ▣ Tools (47)
        • API🎯 (18)
        • Library🎲 (15)
        • JitPack🚀 (3)
        • Jenkins👨🏻 (7)
        • Thymeleaf🌿 (4)
      • ▣ Server (32)
        • Apache Tomcat🐱 (14)
        • Apache HTTP Server🛡️ (1)
        • Nginx🧶 (7)
        • OracleXE💿 (4)
        • VisualSVN📡 (4)
      • ▣ OS : 운영체제 (18)
        • cmd : 명령프롬프트💻 (10)
        • Linux🐧 (8)
      • ▣ SQL : Database (56)
        • Oracle SQL🏮 (26)
        • PL SQL💾 (9)
        • MySQL🐬 (6)
        • MariaDB🦦 (6)
        • H2 Database🔠 (3)
        • SQL 실전문제🐌 (6)
      • ────────── (0)
      • ◈ Human Project (86)
        • Mini : Library Service📚 (15)
        • 화면 설계 [HTML]🐯 (10)
        • 서버 프로그램 구현🦁 (15)
        • Team : 여수어때🛫 (19)
        • Custom : Student🏫 (9)
        • Custom : Board📖 (18)
      • ◈ Yermi Project (40)
        • 조사모아(Josa-moa)📬 (5)
        • Riddle-Game🧩 (6)
        • 맛있을 지도🍚 (2)
        • 어디 가! 박대리!🙋🏻‍♂️ (5)
        • 조크베어🐻‍❄️ (4)
        • Looks Like Thirty🦉 (2)
        • Toy Project💎 (12)
        • 오픈소스 파헤치기🪐 (4)
      • ◈ Refactoring (15)
        • Mini : Library Service📚 (8)
        • 서버 프로그램 구현🦁 (1)
        • Team : 여수어때🛫 (0)
        • 쿼리 튜닝일지🔧 (6)
      • ◈ Coding Test (89)
        • 백준(BOJ)👨🏻‍💻 (70)
        • 프로그래머스😎 (2)
        • 코드트리🌳 (7)
        • 알고리즘(Algorithm)🎡 (10)
      • ◈ Study (102)
        • 기초튼튼 개발지식🥔 (25)
        • HTTP 웹 지식💡 (4)
        • 클린코드(Clean Code)🩺 (1)
        • 디자인패턴(GoF)🥞 (12)
        • 다이어그램(Diagram)📈 (4)
        • 파이썬(Python)🐍 (16)
        • 에러노트(Error Note)🧱 (34)
        • 웹 보안(Web Security)🔐 (6)
      • ◈ 공부모임 (39)
        • 혼공학습단⏰ (18)
        • 코드트리 챌린지👊🏻 (2)
        • 개발도서 100독👟 (8)
        • 나는 리뷰어다🌾 (11)
      • ◈ 자격증 공부 (37)
        • 정보처리기사🔱 (16)
        • 정보처리산업기사🔅 (9)
        • 컴퓨터활용능력 1급📼 (12)
      • ─────────── (0)
      • ◐ 기타 (113)
        • 알아두면 좋은 팁(tip)✨ (46)
        • 개발자의 일상🎈 (44)
        • 개발도서 서평🔍 (10)
        • 개발관련 세미나🎤 (2)
        • 블로그 꾸미기🎀 (9)
        • 사도신경 프로젝트🎚️ (2)
  • 인기 글

  • 최근 댓글

  • 태그

    백준
    일상
    프로그래밍
    백준 티어
    Java
    자바스크립트
    CSS
    Project
    spring
    jsp
    Error Note
    html
    코딩
    javascript
    꿀팁
    SQL
    Oracle
    Database
    코딩 테스트
    BOJ
  • 250x250
  • hELLO· Designed By정상우.v4.10.3
예르미(yermi)
[study] Apache, GPL, MIT 오픈소스 라이선스 비교 [개발자를 위한 오픈 소스 라이선스 가이드]
상단으로

티스토리툴바