본문 바로가기
카테고리 없음

[Github] 오픈 소스 라이센스란? 초보자를 위한 이해하기 쉬운 가이드

by Maccrey Coding 2024. 8. 19.
반응형

 

오픈 소스 소프트웨어(OSS)를 사용할 때, 오픈 소스 라이센스를 이해하는 것은 매우 중요합니다.

오픈 소스 라이센스는 소프트웨어를 어떻게 사용하고 배포할 수 있는지에 대한 규칙을 명시합니다.

이 블로그에서는 초보자도 쉽게 이해할 수 있도록 다양한 오픈 소스 라이센스의 종류와 주요 특징을 설명해 드리겠습니다.

1. 오픈 소스 라이센스란?

오픈 소스 소프트웨어는 누구나 자유롭게 사용할 수 있지만, 그 사용에는 일정한 조건과 제약이 따릅니다.

이러한 조건들은 오픈 소스 라이센스에 의해 정의되며, 각 소프트웨어는 자신만의 라이센스를 가지고 있습니다.

오픈 소스 라이센스는 주로 두 가지 범주로 나뉩니다:

  • 카피레프트(Copyleft) 라이센스: 소프트웨어를 수정하거나 재배포할 경우, 해당 소프트웨어와 동일한 라이센스를 적용해야 합니다.
  • 퍼미시브(Permissive) 라이센스: 소프트웨어를 수정하거나 재배포할 때, 꼭 동일한 라이센스를 적용하지 않아도 됩니다.

2. 주요 오픈 소스 라이센스 종류

A. GPL (General Public License)

GPL 라이센스카피레프트 라이센스의 대표적인 예입니다. 이 라이센스를 따르는 소프트웨어를 수정하거나 재배포할 경우, 동일한 GPL 라이센스를 적용해야 합니다. 즉, 파생물도 반드시 소스 코드를 공개해야 합니다.

  • 소스 코드 공개: 파생물도 오픈 소스로 공개해야 함.
  • 변경 허용: 누구나 수정 가능.
  • 배포 조건: 수정본 배포 시에도 동일한 라이센스 적용.

대표적인 예시: Linux 커널, WordPress

B. LGPL (Lesser General Public License)

LGPL 라이센스는 GPL의 변형으로, 주로 라이브러리에 사용됩니다. LGPL을 사용하는 라이브러리를 사용해 개발한 소프트웨어는 GPL과 달리 소스 코드를 공개하지 않아도 됩니다.

  • 소스 코드 공개: 라이브러리 자체 수정 시 공개해야 함.
  • 자유로운 사용: 소프트웨어는 비공개 가능.

대표적인 예시: FFmpeg, GNU C Library

C. MIT License

MIT 라이센스는 매우 퍼미시브한 라이센스 중 하나입니다. 간단한 조건만 지키면 거의 자유롭게 사용할 수 있습니다.

  • 자유로운 사용: 상업적 사용 및 비공개 가능.
  • 저작권 표기: 원작자에 대한 저작권 표기 필요.

대표적인 예시: React, Vue.js, jQuery

D. Apache License 2.0

Apache 라이센스퍼미시브 라이센스로, 사용자의 자유를 보장하면서도 특허 관련 조항이 포함되어 있습니다. 이 라이센스는 특허와 관련된 문제를 명확히 정의하여 소송을 방지합니다.

  • 특허 명시: 특허에 대한 권리 명시.
  • 저작권 표기: 원작자 표기 필요.

대표적인 예시: Apache Hadoop, TensorFlow

E. BSD License

BSD 라이센스MIT 라이센스와 비슷한 퍼미시브 라이센스로, 소프트웨어를 자유롭게 사용할 수 있습니다. BSD 라이센스에는 2-clause3-clause 버전이 있으며, 3-clause 버전에는 추가적인 광고 조항이 포함됩니다.

  • 자유로운 사용: 상업적 사용 및 비공개 가능.
  • 저작권 표기: 원작자 표기 필요.

대표적인 예시: FreeBSD, OpenSSL

F. MPL (Mozilla Public License)

MPL모질라 재단에서 만든 라이센스로, GPL과 퍼미시브 라이센스의 중간쯤에 위치합니다. 소스 코드를 수정하면 수정한 부분만 공개하면 되고, 나머지 코드는 비공개로 유지할 수 있습니다.

  • 소스 코드 공개: 수정한 파일만 공개하면 됨.
  • 자유로운 사용: 상업적 사용 가능.

대표적인 예시: Firefox, Thunderbird

G. EPL (Eclipse Public License)

EPLEclipse Foundation에서 만든 라이센스로, MPL과 유사하지만 기업들이 사용하기에 더 적합하도록 설계되었습니다. 수정된 코드만 공개하면 되고, 다른 부분은 비공개로 유지할 수 있습니다.

  • 소스 코드 공개: 수정한 파일만 공개.
  • 상업적 사용 가능: 일부 비공개 가능.

대표적인 예시: Eclipse IDE, Jetty

H. CDDL (Common Development and Distribution License)

CDDLSun Microsystems에서 만들어졌으며, 주로 Solaris와 같은 프로젝트에 사용됩니다. MPL과 유사하게 소스 코드를 수정한 부분만 공개하면 됩니다.

  • 소스 코드 공개: 수정된 부분만 공개.
  • 자유로운 사용: 상업적 사용 가능.

대표적인 예시: OpenSolaris, NetBeans

I. AGPL (Affero General Public License)

AGPLGPL의 변형으로, 클라우드 서비스에서의 소스 코드 사용을 규제합니다. AGPL을 사용하는 소프트웨어를 웹 서비스로 제공할 경우, 해당 소스 코드도 공개해야 합니다.

  • 소스 코드 공개: 웹 서비스에서도 코드 공개 필수.
  • 변경 허용: 누구나 수정 가능.

대표적인 예시: MongoDB (이전 버전), Nextcloud

3. 오픈 소스 라이센스 선택 시 주의사항

오픈 소스 소프트웨어를 사용하거나 개발할 때는 다음 사항을 꼭 기억하세요:

  1. 라이센스 조건 준수: 각 라이센스의 조건을 반드시 이해하고 준수해야 합니다.
  2. 상업적 사용: 상업적으로 소프트웨어를 사용하려면 라이센스가 허용하는지 확인하세요.
  3. 파생물 라이센스: 소프트웨어를 수정하거나 재배포할 때 동일한 라이센스를 적용해야 하는지 확인하세요.

 

오픈 소스 라이센스는 소프트웨어 사용에 대한 명확한 규칙을 제공합니다.

이를 잘 이해하면 오픈 소스를 안전하게 사용하고, 기여하며, 상업적으로 활용할 수 있습니다.

다양한 오픈 소스 라이센스를 통해 자신에게 맞는 소프트웨어를 선택하고, 프로젝트의 요구 사항에 맞게 사용할 수 있기를 바랍니다.

공감과 댓글은 저에게 큰 힘이 됩니다.

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

반응형