허용·조건·제한 한눈에 보기
조건
- 소스 공개배포할 때 소스 코드를 제공해야 한다.
- 저작권·라이선스 고지배포할 때 라이선스 사본과 저작권 표시를 함께 넣어야 한다.
- 동일 라이선스수정본·파생물을 배포할 때 같은(또는 호환되는) 라이선스를 써야 한다.
제한
- 책임 제한손해에 대한 책임을 지지 않는다고 명시한다.
- 보증 없음어떤 보증도 하지 않는다고 명시한다.
권한·조건·제한 분류 출처: choosealicense.com (GitHub, MIT 라이선스) 데이터.
어떤 라이선스인가
EPL 2.0 은 Eclipse 재단이 2017년 8월에 발표했습니다. Eclipse IDE, Jakarta EE, 여러 Eclipse 재단 프로젝트가 씁니다. EPL 이 적용된 프로그램과 그 수정분('Contribution')을 배포하면 소스를 공개해야 하지만, 별도 모듈로 분리되어 EPL 코드에서 파생되지 않은 코드는 다른 라이선스(상용 포함)로 배포할 수 있습니다. 명시적 특허 허락과, 프로그램이 특허를 침해한다며 소송을 제기하면 그 사람의 특허 허락이 종료되는 조항이 있습니다.
EPL-1.0 과 달라진 점
- 뉴욕주 법 준거 조항이 빠졌습니다.
- '파생 저작물'의 정의를 저작권법 개념에 맞게 정리했습니다.
- Secondary License(Exhibit A) 제도가 생겨, 원저작자가 지정하면 GPL-2.0 등과 결합한 결과물을 그 라이선스로 배포할 수 있습니다.
배포할 때 지켜야 할 것
- 소스 형태로 배포할 때는 EPL-2.0 조건으로 배포하고 라이선스 사본을 넣습니다.
- 목적 코드(바이너리)로 배포할 때는 소스를 합리적인 방법으로 받을 수 있게 알리고, 자신의 라이선스 조건이 EPL 수신자의 권리를 제한하지 않게 합니다.
- 저작권 고지를 유지합니다.
- 상업 배포자는 다른 기여자에게 책임이 가지 않도록 방어·면책 의무를 집니다(4조).
자주 하는 오해
- "EPL 은 GPL 과 호환된다" — 기본값으로는 호환되지 않습니다. 원저작자가 Exhibit A 로 Secondary License 를 지정한 코드에만 해당합니다.
- "EPL 플러그인은 모두 EPL 이어야 한다" — 별도 모듈로 동작하고 EPL 코드에서 파생되지 않았다면 다른 라이선스로 둘 수 있습니다. 파생 여부는 저작권법 기준으로 판단합니다.
- "수정하지 않고 쓰기만 해도 소스를 공개해야 한다" — 공개 의무는 EPL 코드(와 수정분)에 대한 것입니다. 수정하지 않았다면 원래 코드의 소스 입수 방법을 알리면 됩니다.
적용 방법
원문을 LICENSE 에 두고, 필요하면 파일마다 Exhibit A 형식의 Secondary License 고지를 추가합니다. EPL 에는 GNU·Apache 처럼 정해진 파일 헤더 문구가 없으므로 SPDX 식별자 EPL-2.0 헤더를 권장합니다(Secondary License 로 GPL-2.0 을 지정한 경우 SPDX 표현식은 EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0 처럼 적기도 합니다).
이런 경우에 어울린다
플랫폼·프레임워크의 핵심은 공개 상태로 유지하면서, 그 위의 확장 모듈은 상용으로 판매할 수 있게 하려는 기업 주도 생태계에 맞습니다. 파일 단위로 더 단순한 대안은 MPL-2.0 입니다.
EPL-2.0 코드를 다른 프로젝트에 넣을 수 있을까?
이 라이선스로 공개된 코드를 가져와 아래 라이선스의 프로젝트에 합쳐 배포할 때의 일반적인 판정입니다. 호환성 검사기에서 다른 조합 보기 →
| 넣으려는 프로젝트 | 판정 | 메모 |
|---|---|---|
| 비공개(상용) 소프트웨어 | 조건부 가능 | EPL 코드와 그 수정분은 EPL-2.0 으로 유지하고 소스를 제공해야 합니다. 별도 모듈로 분리된 내 코드는 다른 라이선스로 둘 수 있습니다. |
| MIT | 조건부 가능 | EPL 코드와 그 수정분은 EPL-2.0 으로 유지하고 소스를 제공해야 합니다. 별도 모듈로 분리된 내 코드는 다른 라이선스로 둘 수 있습니다. |
| Apache-2.0 | 조건부 가능 | EPL 코드와 그 수정분은 EPL-2.0 으로 유지하고 소스를 제공해야 합니다. 별도 모듈로 분리된 내 코드는 다른 라이선스로 둘 수 있습니다. |
| MPL-2.0 | 조건부 가능 | EPL 코드와 그 수정분은 EPL-2.0 으로 유지하고 소스를 제공해야 합니다. 별도 모듈로 분리된 내 코드는 다른 라이선스로 둘 수 있습니다. |
| LGPL-2.1 | 조건부 가능 | 원저작자가 Exhibit A 로 GPL 등을 Secondary License 로 지정한 경우에만 결합해 GNU 라이선스로 배포할 수 있습니다. 지정이 없으면 호환되지 않습니다. |
| LGPL-3.0 | 조건부 가능 | 원저작자가 Exhibit A 로 GPL 등을 Secondary License 로 지정한 경우에만 결합해 GNU 라이선스로 배포할 수 있습니다. 지정이 없으면 호환되지 않습니다. |
| GPL-2.0 | 조건부 가능 | 원저작자가 Exhibit A 로 GPL 등을 Secondary License 로 지정한 경우에만 결합해 GNU 라이선스로 배포할 수 있습니다. 지정이 없으면 호환되지 않습니다. |
| GPL-3.0 | 조건부 가능 | 원저작자가 Exhibit A 로 GPL 등을 Secondary License 로 지정한 경우에만 결합해 GNU 라이선스로 배포할 수 있습니다. 지정이 없으면 호환되지 않습니다. |
| AGPL-3.0 | 조건부 가능 | 원저작자가 Exhibit A 로 GPL 등을 Secondary License 로 지정한 경우에만 결합해 GNU 라이선스로 배포할 수 있습니다. 지정이 없으면 호환되지 않습니다. |
이 사이트의 내용은 일반 정보이며 법률 자문이 아닙니다. 실제 배포·계약·분쟁 판단은 변호사 등 전문가와 상의하세요.