문서의 각 단락이 어느 리비전에서 마지막으로 수정되었는지 확인할 수 있습니다. 왼쪽의 정보 칩을 통해 작성자와 수정 시점을 파악하세요.

Apache 라이선스 | |
정의 | 아파치 소프트웨어 재단이 자체 소프트웨어에 적용하기 위해 만든 자유 소프트웨어 라이선스 |
최초 등장 | 1995년 |
개발자/발명자 | 아파치 소프트웨어 재단 |
주요 용도 | 아파치 HTTP 서버를 비롯한 아파치 소프트웨어 재단의 오픈 소스 프로젝트에 적용 |
관련 분야 | 오픈 소스 소프트웨어 라이선스 |
상세 정보 | |
라이선스 버전 | Apache 라이선스 1.0 Apache 라이선스 1.1 Apache 라이선스 2.0 |
라이선스 유형 | 퍼미시브 라이선스 |
주요 특징 | 저작권 고지사항과 보증 부인 고지를 포함해야 함 파생 저작물에 다른 라이선스를 적용 가능 특허권에 대한 명시적 허용 조항 포함 |
호환성 | GPL 버전 3과는 호환되지만, GPL 버전 2와는 호환되지 않음 |

아파치 소프트웨어 재단이 자체 소프트웨어에 적용하기 위해 만든 자유 소프트웨어 라이선스이다. 1995년에 최초로 등장하였으며, 아파치 HTTP 서버를 비롯한 아파치 소프트웨어 재단의 오픈 소스 프로젝트에 널리 적용된다.
이 라이선스는 퍼미시브 라이선스로 분류된다. 이는 사용자에게 소프트웨어를 사용, 복사, 수정, 배포하는 데 있어 매우 제한이 적은 자유를 부여한다는 특징이 있다. 특히 수정한 소스 코드를 공개하지 않고도 상용 소프트웨어에 자유롭게 포함시켜 재배포할 수 있는 점이 주요 장점이다.
Apache 라이선스는 오픈 소스 이니셔티브와 자유 소프트웨어 재단으로부터 모두 승인을 받은 라이선스이다. 이는 해당 라이선스가 각 기관이 정한 오픈 소스 정의와 자유 소프트웨어의 기준을 충족함을 의미한다. 따라서 이 라이선스로 배포되는 소프트웨어는 공식적으로 오픈 소스 소프트웨어이자 자유 소프트웨어로 인정받는다.
주요 용도는 아파치 재단의 프로젝트이지만, 그 명확하고 관대한 조건 덕분에 재단 외부의 수많은 오픈 소스 프로젝트와 상용 제품에서도 폭넓게 채택되고 있다. MIT 라이선스, BSD 라이선스와 함께 가장 인기 있는 퍼미시브 라이선스 중 하나로 꼽힌다.

아파치 소프트웨어 재단은 1995년, 당시 널리 사용되던 아파치 HTTP 서버를 포함한 자체 소프트웨어에 적용할 목적으로 아파치 라이선스 1.0 버전을 발표한다. 이는 자유 소프트웨어 및 오픈 소스 운동이 활발해지던 시기에, 특정 소프트웨어 라이선스에 종속되지 않고 자유롭게 사용·수정·배포할 수 있는 실용적인 라이선스의 필요성에서 비롯된 것이었다.
초기 아파치 라이선스는 아파치 HTTP 서버 프로젝트의 성장과 함께 진화했다. 2000년에는 사소한 문제를 수정한 1.1 버전이 등장했으며, 이후 더 많은 오픈 소스 프로젝트와 기업 환경에서 폭넓게 채택되면서 법적 명확성과 국제적 적용성을 강화한 2.0 버전이 2004년에 공개된다. 이 과정은 라이선스가 단일 프로젝트를 넘어 하나의 표준으로 자리 잡는 배경이 되었다.
이 라이선스의 발전은 아파치 소프트웨어 재단의 협업 중심 개발 모델인 "아파치 웨이"와 깊이 연관되어 있다. 재단은 자체 프로젝트에 이 라이선스를 의무화함으로써, 기여자와 사용자 모두에게 명확한 법적 틀을 제공하고, 소프트웨어의 상업적 활용을 장려하는 생태계를 조성하는 데 기여했다.

Apache 라이선스의 허용 조항은 사용자에게 매우 넓은 권한을 부여한다. 이 라이선스 하의 소프트웨어는 누구나 자유롭게 사용, 복제, 수정, 배포할 수 있다. 또한 상업적 이용도 제한 없이 허용되며, 수정한 소스 코드를 공개하지 않고 프로프라이터리 소프트웨어에 통합하여 판매하는 것도 가능하다. 이는 카피레프트를 채택한 GPL과 대비되는 특징으로, 기업의 상용 제품 개발에 널리 채택되는 주요 이유가 된다.
사용자는 소프트웨어를 어떤 목적으로든 활용할 수 있으며, 배포 시 원본 소스 코드나 수정본을 반드시 동일한 라이선스로 공개해야 할 의무가 없다. 따라서 Apache 라이선스로 배포된 코드는 클로즈드 소스 프로젝트에 포함되거나, 다른 오픈 소스 라이선스(예: GPL, MIT 라이선스)를 적용한 프로젝트와 결합되어 재배포될 수 있다. 이러한 유연성은 오픈 소스 생태계 내에서의 광범위한 협업과 재사용을 촉진한다.
단, 소프트웨어를 재배포할 때는 Apache 라이선스 사본을 포함해야 하며, 수정한 파일에는 변경 사실을 명시해야 한다. 또한 라이선스에 포함된 특허 조항에 따라, Apache 라이선스를 적용한 특정 버전의 소프트웨어를 사용, 배포할 수 있는 특허 사용권이 기여자로부터 사용자에게 부여된다. 이는 소프트웨어 특허로 인한 소송 위험을 줄여주는 보호 장치 역할을 한다.
Apache 라이선스 2.0의 조건 조항은 사용자에게 부과되는 몇 가지 의무를 규정한다. 이 의무는 주로 저작권 표시와 변경 사항 고지에 관한 것으로, 라이선스의 핵심적인 요구사항을 구성한다.
첫째, 라이선스 사본을 배포해야 한다. Apache 라이선스가 적용된 소프트웨어를 재배포하거나 수정한 버전을 배포할 때는 반드시 Apache 라이선스 2.0 전문을 포함시켜야 한다. 이는 사용자에게 적용되는 라이선스 조건을 명확히 알리기 위한 것이다. 둘째, 저작권, 특허, 상표 및 부인 조항에 대한 고지를 보존해야 한다. 원본 소스 코드에 포함된 모든 저작권 고지, 특허 고지, 상표 고지 및 책임 부인(Disclaimer) 문구는 수정본을 배포할 때도 그대로 유지되어야 하며, 배포 시 제공하는 문서에도 명시되어야 한다.
마지막으로, 수정한 파일에 대한 고지를 의무화한다. Apache 라이선스 소프트웨어를 수정하여 배포하는 경우, 수정한 파일에는 파일을 변경했다는 사실과 변경 날짜를 명시하는 고지를 첨부해야 한다. 이는 원저작자와 후속 사용자에게 변경 이력을 투명하게 제공하기 위한 조치이다. 이러한 조건들은 비교적 간단하고 명확하여 라이선스 준수 부담을 줄여주며, 상용 소프트웨어에 포함시켜 배포하는 것을 허용하는 라이선스의 장점을 유지하는 데 기여한다.
Apache 라이선스 2.0 버전은 자유 소프트웨어 재단이 인정한 자유 소프트웨어 라이선스이며, GPL 버전 3과는 호환된다. 이는 Apache 라이선스 2.0으로 배포된 코드를 GPL 버전 3 프로젝트에 통합하거나 결합하여 배포하는 것이 가능함을 의미한다. 이 호환성은 소프트웨어 생태계에서 라이브러리와 구성 요소의 재사용성을 크게 높이는 중요한 요소로 작용한다.
그러나 Apache 라이선스 2.0은 GPL 버전 2와는 호환되지 않는다. 이는 두 라이선스 간에 서로 양립할 수 없는 특정 조항이 존재하기 때문이다. 예를 들어, Apache 라이선스의 특허 관련 조항과 GPL 버전 2의 조항이 충돌할 수 있다. 따라서 Apache 라이선스 2.0 하의 코드를 GPL 버전 2만을 사용하는 프로젝트에 포함시키는 것은 라이선스 위반이 될 수 있다.
이러한 호환성 문제는 소프트웨어 개발 시 라이선스 선택과 관리에 있어 세심한 주의를 요구한다. 프로젝트가 GPL 버전 2 코드를 사용하고 있다면, Apache 라이선스 2.0의 코드를 가져오기 전에 라이선스 호환성을 반드시 확인해야 한다. 많은 현대적인 오픈소스 프로젝트는 이러한 제약을 피하기 위해 GPL 버전 3 또는 Apache 라이선스 2.0과 같이 상호 호환되는 라이선스를 채택하는 경향이 있다.
결론적으로, Apache 라이선스는 GPL 버전 3 생태계와는 원활하게 공존할 수 있지만, 여전히 널리 사용되는 GPL 버전 2와의 관계에서는 주의가 필요하다. 이는 오픈소스 라이선스의 복잡성을 보여주는 대표적인 사례이다.

아파치 라이선스는 1995년 아파치 HTTP 서버 프로젝트를 위해 처음 도입된 이후, 주요한 세 가지 버전으로 발전해왔다. 각 버전은 이전 버전의 제약을 완화하거나 명확히 하며, 사용자와 기여자 모두에게 더 나은 법적 안정성과 유연성을 제공하는 방향으로 개정되었다.
초기 버전인 아파치 라이선스 1.0은 1995년에 공개되었다. 이 버전은 소프트웨어의 자유로운 사용, 수정, 배포를 허용했으나, 몇 가지 제한 사항을 포함하고 있었다. 특히, 파생 저작물에 대해 "아파치"라는 이름을 사용하거나 홍보하는 것을 명시적으로 금지했으며, 모든 수정 사항을 변경 로그에 기록하도록 요구하는 조항이 있었다. 또한, 저작권 고지와 보증 부인 조항을 모든 사본에 포함시켜야 했다.
1999년에 발표된 아파치 라이선스 1.1 버전은 1.0 버전의 몇 가지 제약을 완화했다. 가장 중요한 변경점은 파생 저작물에 "아파치"라는 이름을 사용할 수 없었던 제한을 삭제한 것이었다. 이로 인해 파생 제품의 명명에 대한 자유도가 높아졌다. 또한, 광고 자료에 기여자 목록을 표시해야 한다는 요구사항이 삭제되어 라이선스 준수 부담이 줄어들었다.
2004년 1월에 채택된 아파치 라이선스 2.0은 현재 가장 널리 사용되는 버전으로, 이전 버전에 비해 상당히 정교하고 포괄적인 내용을 담고 있다. 이 버전은 특허 라이선스 조항을 명시적으로 추가하여, 기여자가 특허권을 침해하지 않도록 보장하고 사용자에게 특허 소송으로부터 보호를 제공한다는 점에서 큰 진전을 이루었다. 또한, 라이선스 조항의 명확성을 높이고, GNU 일반 공중 사용 허가서 3.0 버전과의 양방향 호환성을 확보하며, 라이선스 텍스트 자체를 재사용할 수 있도록 허용하는 등 실용성을 크게 개선했다. 이로 인해 아파치 라이선스 2.0은 아파치 소프트웨어 재단의 프로젝트뿐만 아니라 안드로이드 운영체제, 스프링 프레임워크 등 수많은 기업과 커뮤니티의 주요 오픈 소스 프로젝트에서 표준 라이선스로 채택되고 있다.

Apache 라이선스는 아파치 소프트웨어 재단이 관리하는 수많은 프로젝트의 기본 라이선스로 사용된다. 대표적으로 아파치 HTTP 서버, 아파치 카프카, 아파치 하둡, 아파치 스파크 등이 이 라이선스 하에 배포된다. 이 라이선스는 재단 외부에서도 매우 광범위하게 채택되어, 구글, 페이스북, 아마존과 같은 주요 기술 기업들이 자사의 오픈소스 프로젝트에 자주 적용한다.
특히 안드로이드 운영체제의 핵심 구성 요소와 라이브러리 상당수가 Apache 라이선스 2.0을 따르고 있으며, 이는 라이선스의 허용적 성격이 모바일 플랫폼과 같은 복잡한 상용 제품 통합에 적합하기 때문이다. 또한 클라우드 컴퓨팅, 빅데이터, 인공지능 분야의 많은 인기 오픈소스 도구들도 이 라이선스를 선택한다.
Apache 라이선스의 높은 채택률은 그 유연성에서 기인한다. 이 라이선스는 소스 코드 공개의무를 부과하지 않으며, 수정본을 배포할 때 반드시 동일 라이선스를 적용해야 할 의무도 없다. 이러한 조건은 기업들이 자유롭게 소프트웨어를 사용, 수정, 사유화하여 재배포할 수 있게 하여, 상업적 이용을 장려하는 결과를 낳았다.
따라서 Apache 라이선스는 순수 자유 소프트웨어 운동보다는 실용적인 오픈소스 협업 모델을 지향하는 프로젝트와 기업들 사이에서 사실상의 표준 허용적 라이선스로 자리 잡았다. 이는 GNU 일반 공중 사용권 계열의 카피레프트 라이선스와 뚜렷한 대비를 이루는 지점이다.

Apache 라이선스는 자유 소프트웨어 및 오픈 소스 라이선스 중 하나로, 특히 퍼미시브 라이선스의 대표적인 사례이다. 이는 GPL 계열의 카피레프트 라이선스와는 근본적인 철학과 조건에서 차이를 보인다. Apache 라이선스는 사용자에게 소프트웨어를 사용, 수정, 배포할 수 있는 매우 넓은 권한을 부여하며, 수정본을 사유 소프트웨어로 배포하는 것도 허용한다. 반면 GPL은 파생 저작물도 동일한 GPL 조건 하에 공개되어야 한다는 강력한 카피레프트 조항을 포함하고 있어, 두 라이선스는 상용화와 소스 코드 공개의무 측면에서 대비된다.
주요 라이선스들과의 구체적인 비교는 다음과 같다.
비교 항목 | Apache 라이선스 2.0 | MIT 라이선스 | GNU GPL v3 | BSD 라이선스 (3항) |
|---|---|---|---|---|
카피레프트 | 아니오 (퍼미시브) | 아니오 (퍼미시브) | 예 (강함) | 아니오 (퍼미시브) |
특허 허여 | 명시적 조항 포함 | 없음 | 명시적 조항 포함 | 없음 |
상용 재배포 | 허용 | 허용 | 허용 (단, 전체가 GPL 적용) | 허용 |
저작권 고지 의무 | 유지 필요 | 유지 필요 | 유지 필요 | 유지 필요 |
파생 저작물 라이선스 | Apache 2.0일 필요 없음 | MIT일 필요 없음 | 반드시 GPL v3 적용 | BSD일 필요 없음 |
MIT 라이선스 및 BSD 라이선스와 같이 Apache 라이선스도 퍼미시브 라이선스에 속하지만, Apache 2.0은 이들보다 더 포괄적인 법적 보호 장치를 제공한다는 점이 특징이다. Apache 라이선스 2.0에는 기여자로부터 명시적인 특허 사용 허가를 부여받고, 특허 소송을 제기한 사용자에 대한 특허 허여가 종료된다는 조항이 포함되어 있다. 이는 순수한 저작권만을 다루는 MIT나 BSD 라이선스와 구분되는 지점이다.
따라서 Apache 라이선스는 기업 친화적인 오픈소스 라이선스로 평가받으며, AWS, 구글, 마이크로소프트와 같은 대기업들도 자사 프로젝트에 적극 채택하고 있다. 소스 코드 공개의무가 없는 만큼 상용 제품에 포함시키기 용이하며, 강력한 카피레프트를 원하지 않는 개발자나 조직에게 적합한 선택지가 된다. 반면, 오픈소스 생태계의 공유와 확산을 최우선으로 하는 프로젝트는 LGPL이나 GPL을 선호하는 경향이 있다.

Apache 라이선스를 소프트웨어에 적용하고자 하는 저작권자는, 라이선스의 조건을 충족시키기 위해 몇 가지 간단한 절차를 따라야 한다. 먼저, 소프트웨어의 소스 코드 배포본에 Apache 라이선스 전문을 포함시켜야 한다. 일반적으로 이는 프로젝트 루트 디렉토리에 LICENSE라는 이름의 텍스트 파일로 첨부된다. 또한, 라이선스 적용을 명시적으로 알리기 위해 소스 코드의 주요 파일(주로 각 소스 파일의 헤더 부분)에 저작권 고지와 라이선스에 대한 간략한 참조 문구를 포함하는 것이 관례이다.
라이선스를 준수하는 사용자(재배포자 또는 수정자)의 경우, 몇 가지 의무 사항이 있다. Apache 라이선스 2.0을 따르는 소프트웨어를 수정하여 재배포할 때는 변경된 파일에 대해 변경 사실을 명시하는 고지문을 추가해야 한다. 소프트웨어를 배포(수정 여부와 관계없이)할 때는 반드시 원본에 포함된 모든 저작권, 특허, 상표, 귀속 고지를 그대로 유지하고 복제해야 한다. 또한, 배포하는 형태(소스 코드 형태 또는 바이너리 형태)에 따라 라이선스 사본을 제공해야 한다. 바이너리 형태로 배포할 경우, 바이너리 패키지 내에 라이선스 사본을 포함하거나, 최소한 배포물과 함께 라이선스 텍스트를 얻을 수 있는 안내를 제공해야 한다.
특히 Apache 라이선스 2.0은 특허에 대한 명시적인 허용을 포함하고 있어 주의가 필요하다. 라이선스에 기여한 저작권자는 해당 기여와 관련된 특허를 구현하는 사용자에게 로열티 없는 허용 라이선스를 부여한다고 간주된다. 따라서 사용자는 이러한 특허 조항을 위반하지 않도록 주의해야 하며, 만약 소송을 제기하여 라이선스의 특허 허용 조항을 무효화하게 되면, 해당 라이선스에 의해 부여된 모든 권리는 자동으로 종료된다.
라이선스 준수 과정에서 불확실한 점이 있다면, 프로젝트에 첨부된 NOTICE 파일을 주의 깊게 확인해야 한다. 이 파일에는 추가적인 귀속 또는 고지 사항이 포함될 수 있다. 최종적으로는 배포물이 라이선스의 핵심 원칙인 퍼미시브 라이선스의 특성, 즉 상업적 이용, 수정, 배포, 서브라이선싱의 자유를 제한하지 않으면서도 필수적인 고지 사항을 충실히 이행했는지 점검하는 것이 중요하다. 복잡한 라이선스 호환성 문제나 상용 제품에의 통합과 관련된 문제는 법률 전문가의 조언을 구하는 것이 바람직하다.
