CLA 전문
Docs/license before publish code for public
Updated Sep 27, 2024
들어가며
학교 축제 웹사이트와 같은 협업 프로젝트를 오픈소스로 공개할 때, 가장 중요한 고려사항 중 하나는 기여자들의 권리를 어떻게 보호하면서도 프로젝트의 법적 안정성을 확보할 것인가입니다. 특히 학생들이 주도하는 프로젝트의 경우, 향후 포트폴리오 활용이나 상업적 이용 가능성까지 고려해야 하기 때문입니다.
이번 포스트에서는 실제 학교 축제 웹사이트 제작 과정에서 설계된 독특한 기여자 라이선스 계약(CLA)을 분석해보고, 그 설계 철학과 실무적 의미를 살펴보겠습니다.
CLA 설계의 핵심 아이디어
시간 기준 구분: 초기 기여자 vs 이후 기여자
이 CLA의 가장 독특한 특징은 2024년 9월 26일을 기준으로 기여자를 두 그룹으로 나눈 점입니다. 이는 단순한 시간적 구분이 아니라, 프로젝트 초기 개발에 참여한 학생들에게 특별한 권리를 부여하기 위한 전략적 설계입니다.
초기 기여자의 특권
- 기여한 코드에 대한 완전하고 제한 없는 저작권 보유
- 타 프로젝트에서의 자유로운 재사용 및 상업화 권리
- 포트폴리오 활용에 대한 법적 보장
이후 기여자의 조건
- Mozilla Public License v.2.0(MPL 2.0) 하에서의 기여
- 상대적으로 제한적인 저작권 행사
프로젝트 안정성을 위한 영구적 라이선스
초기 기여자들이 자신의 저작권을 완전히 보유하면서도, 프로젝트에는 영구적이고 취소 불가능한(perpetual and irrevocable) 사용권을 부여합니다. 이는 다음과 같은 시나리오를 방지합니다:
"졸업 후 취업한 A 학생이 개인적 사정으로 인해 자신이 작성한 코드의 사용 중단을 요구하는 경우"
이런 상황에서도 프로젝트는 법적으로 안정적으로 운영될 수 있습니다.
기존 MPL 2.0만 사용할 경우의 한계점
일반적으로 많은 오픈소스 프로젝트는 단일 라이선스(예: MPL 2.0)를 사용합니다. 하지만 학교 프로젝트라는 특수한 상황에서는 다음과 같은 한계가 있었습니다:
포트폴리오 활용의 불명확성
MPL 2.0 하에서는 기여자가 자신의 코드를 포트폴리오나 다른 프로젝트에서 활용할 때 법적 모호함이 발생할 수 있습니다:
- 라이선스 호환성 문제: 다른 라이선스 프로젝트에 코드를 재사용할 때 복잡한 호환성 검토 필요
- 상업적 활용 시 제약: 향후 스타트업이나 개인 프로젝트에서 활용 시 MPL 2.0 조건 준수 의무
- 저작권 귀속 불명확성: 프로젝트 전체의 라이선스와 개별 기여자의 권리 사이의 경계 모호
학생 기여자의 동기 부족
단순히 MPL 2.0 하에서 기여할 경우:
- 자신의 기여가 향후 어떻게 활용될지에 대한 불확실성
- 포트폴리오 제작 시 법적 리스크에 대한 우려
- 오픈소스 기여 경험의 실질적 가치 인식 부족
프로젝트 지속성의 한계
MPL 2.0의 copyleft 특성상:
- 기업이나 상업적 활용에서 상대적으로 부담 증가
- 교육 목적 외의 다양한 활용 가능성 제한
- 장기적 프로젝트 발전 동력 부족
왜 이런 구조를 선택했을까?
교육적 목적과 실용성의 균형
위의 한계점들을 해결하기 위해 이 CLA는 초기 기여자들에게 완전한 저작권과 자유로운 재사용 권리를 명시적으로 보장합니다:
기존 MPL 2.0의 한계 극복:
- 포트폴리오 제작 시 법적 제약 완전 제거
- 향후 상업적 프로젝트에서도 해당 코드를 자유롭게 재사용할 수 있는 명확한 권리 확보
- 라이선스 호환성 문제 해결
학생 개발자의 동기 부여:
- 오픈소스 기여가 실질적인 경력 자산이 될 수 있다는 확신 제공
- 법적 불확실성 없이 안심하고 기여할 수 있는 환경 조성
MPL 2.0 선택의 전략적 의미
이후 기여자에게 적용되는 MPL 2.0은 매우 신중한 선택입니다:
- 파일 단위 copyleft: 전체 프로젝트가 아닌 수정된 파일만 공개 의무
- 상업적 활용 허용: 기업에서도 부담 없이 활용 가능
- 웹 프로젝트 적합성: 네트워크 사용에 대한 과도한 제약 없음
실무적 고려사항과 한계
명확한 증빙 체계의 필요성
"초기 기여자" 여부를 판단하는 객관적 기준이 필요합니다:
- Git 커밋 히스토리
- Pull Request 기록
- 프로젝트 참여 문서화
잠재적 복잡성
실제 운영에서는 다음과 같은 상황들이 발생할 수 있습니다:
- 초기 기여자와 이후 기여자가 동일 파일을 수정하는 경우
- 기여자의 소속 기관(대학, 연구실)과의 지적재산권 충돌
- 국제적 협업 시 각국 저작권법의 차이
다른 프로젝트에 주는 시사점
이 CLA 설계는 비슷한 성격의 프로젝트들에게 중요한 참고점을 제공합니다:
학생 주도 프로젝트
- 참여자의 학습 목적과 경력 개발 필요 고려
- 졸업 후에도 지속되는 프로젝트의 안정성 확보
커뮤니티 기반 프로젝트
- 초기 개발자들의 기여를 인정하고 보상하는 구조
- 신규 기여자들에게도 명확한 참여 조건 제시
교육 기관의 오픈소스 정책
- 학생들의 오픈소스 기여를 장려하면서도 법적 리스크 최소화
- 실무 경험과 법적 보호의 균형점 모색
마치며
이 CLA는 완벽한 해답이라기보다는 교육용 오픈소스 프로젝트가 직면하는 딜레마에 대한 하나의 창의적 접근법입니다. 초기 기여자의 권리 보호와 프로젝트의 지속가능성 사이에서 균형점을 찾으려는 시도는 분명 의미가 있습니다.
물론 실제 적용 과정에서는 더 많은 법적 검토와 실무적 보완이 필요할 것입니다. 하지만 학생들의 학습과 성장을 지원하면서도 오픈소스 생태계에 기여하려는 이런 노력들이 모여 더 나은 협업 문화를 만들어갈 수 있을 것이라 기대합니다.
이 분석은 해당 CLA 문서를 바탕으로 한 개인적 견해이며, 실제 법적 조언을 대체하지 않습니다. 중요한 프로젝트의 경우 전문 변호사와 상담하시기 바랍니다.