클로드가 대답한 GPL 2.0
GPL 2.0 을 설명해줘.
(생략.)
소스코드 공개의무를 자세히 설명해 줘.
GPL 2.0의 소스 코드 공개 의무에 대해 자세히 설명해드리겠습니다:
1. 공개 범위
- GPL 라이선스가 적용된 모든 소스 코드
- 수정/추가된 모든 코드
- 해당 프로그램을 빌드하는데 필요한 스크립트
- 프로그램의 실행에 필수적인 모듈/라이브러리
2. 공개 시기
- 바이너리 배포 시 동시에 소스 코드도 제공
- 또는 최소 3년간 소스 코드 제공을 보장하는 서면 약속 필요
3. 공개 방법
- 물리적 매체(CD, USB 등)로 제공
- 인터넷 다운로드 링크 제공
- 소스 코드 요청 시 제공 가능한 방법 명시
4. 필수 포함 사항
- 원본 소스 코드
- 모든 수정 사항과 추가 사항
- 설치 및 빌드 스크립트
- 라이선스 전문
- 수정 이력과 날짜
- 저작권 고지
5. 주요 예외사항
- 개인적 사용 목적의 수정은 공개 의무 없음
- 수정한 프로그램을 배포하지 않는 경우 공개 불필요
- 네트워크 서비스 제공만 하는 경우 공개 의무 없음 (AGPL과의 차이점)
6. 유의사항
- 바이너리만 제공하고 소스는 나중에 제공하는 것은 불가
- 컴파일에 필요한 모든 도구와 설명도 포함해야 함
- 의도적으로 복잡하게 만들거나 이해하기 어렵게 하면 안 됨
- 소스 코드 요청 시 별도 비용 청구 가능 (실비 수준)
7. 위반 시 대응
- 즉시 공개하거나 배포 중단
- 라이선스 위반 시정 시 권리 회복 가능
- 고의적 위반 시 법적 제재 가능
이러한 공개 의무는 소프트웨어의 자유로운 공유와 발전을 보장하기 위한 핵심 요소입니다. 추가로 궁금하신 점이 있으신가요?
누가 소스코드 요청할 수 있지?
GPL 2.0에 따른 소스 코드 요청 권한에 대해 설명드리겠습니다:
1. 요청 가능한 사람
- 프로그램의 바이너리/실행 파일을 받은 모든 사용자
- 제3자 포함, 직접 프로그램을 받지 않은 사람도 요청 가능
- 상업적/비상업적 사용자 모두 포함
- 프로그램의 최종 사용자라면 누구나 가능
2. 요청 조건
- 별도의 자격 조건이나 제한 없음
- 사용 목적을 밝힐 필요 없음
- 비밀유지계약(NDA) 등의 부가 조건을 요구할 수 없음
- 최소 3년간 요청 권한 보장
3. 요청 시 제공해야 할 정보
- 프로그램명과 버전
- 배포받은 날짜 (선택적)
- 연락처 정보
- 소스 코드 수령 방법 선택
4. 배포자의 의무
- 모든 요청에 응답해야 함
- 합리적인 비용만 청구 가능 (미디어, 운송비 등)
- 부당한 지연이나 거부 불가
- 차별 없이 동일한 조건으로 제공
5. 요청이 제한되는 경우
- 이미 공개된 소스 코드가 있는 경우 해당 링크 안내 가능
- 더 이상 해당 버전을 보유하고 있지 않은 경우
- 프로그램 배포가 중단된 지 3년 이상 경과한 경우
이처럼 GPL은 매우 개방적인 소스 코드 접근 권한을 보장하고 있습니다. 추가로 궁금하신 사항이 있으신가요?
회사 내부에서만 사용해도 공개해야 해?
GPL 2.0의 회사 내부 사용에 대해 설명드리겠습니다:
회사 내부 사용 시나리오별 공개 의무:
1. 내부 사용만 하는 경우 (공개 불필요)
- 회사 내부 시스템에서만 사용
- 수정하더라도 내부에서만 사용
- 직원들만 접근 가능한 경우
- 외부로 배포하지 않는 경우
2. 공개 의무가 발생하는 경우
- GPL 소프트웨어를 수정해서 외부 고객에게 배포할 때
- 자회사나 계열사에 배포할 때
- 납품/판매용 제품에 포함시킬 때
- 외부 다운로드를 허용할 때
3. 애매한 경우 (법률 검토 필요)
- 고객이 회사 내부에 상주하며 사용하는 경우
- 외주 개발사에 소스 제공하는 경우
- 클라우드 서비스로 제공하는 경우 (SaaS)
4. 주의사항
- 내부용이라도 추후 외부 배포 가능성 고려
- 내부 문서에 GPL 사용 여부 명시 권장
- 회사 정책으로 사용 가이드라인 수립 필요
결론적으로, 순수 내부 사용이라면 소스 코드를 공개할 필요가 없습니다. 하지만 배포가 발생하는 순간 공개 의무가 생깁니다.