Chapter 11. 권장하는 컴플라이언스 관련 개발 관행

컴플라이언스 문제를 줄이는 개발 관행과, 반드시 피해야 할 실수를 정리합니다.

오픈소스 라이선스 컴플라이언스(compliance) 활동을 뒷받침하는 개발 관행을 어떻게 마련할지에 관해서는 이미 여러 문헌에서 상세한 권고가 나와 있습니다. 이 장에서는 그 가운데 가장 중요한 관행을 간략히 짚습니다. 이를 지키면 흔히 발생하는 컴플라이언스 문제의 상당수를 없앨 수 있습니다.

11.1 권장하는 관행

  • 코드를 제품 저장소에 커밋하기 전에 오픈소스 소프트웨어 사용 승인을 요청하십시오.
  • 독점 코드를 오픈소스 라이브러리에 연결하거나 그 반대로 연결하기 전에 승인을 요청하십시오. 단, 해당 라이브러리 코드의 라이선스가 회사 정책에 따라 이미 사전 승인된 경우는 예외입니다.
  • 수정하는 모든 파일에 대해 변경 일자, 작성자, 적용한 변경 내용을 한 줄로 설명한 변경 이력(changelog)을 갱신하십시오.
  • 직접 작성하는 코드와 오픈소스 소프트웨어 사이의 인터페이스를 문서화하십시오. 그러면 다른 사람이 상호작용을 이해하고 컴플라이언스 관련 우려를 명확히 하는 데 도움이 됩니다.
  • 소스 코드 패키지의 라이선스를 설명하는 웹 페이지를 PDF로 저장하여, 내려받은 시점의 프로젝트 상태를 기록해 두십시오.
  • 패키지를 변경하지 않은 사본을 라이선스 정보와 함께 백업 위치에 보관하십시오.
  • 오픈소스 소프트웨어 구성 요소를 업그레이드할 때는 라이선스가 그대로인지 확인하십시오. 버전 간에 라이선스가 바뀔 수 있습니다.
  • 소스 코드 패키지의 라이선스가 프로젝트 웹사이트에 설명된 내용과 일치하는지 확인하십시오. 불일치가 있으면 명확히 하기 위해 해당 프로젝트에 문의하십시오.

11.2 피해야 할 실수

  • 기존 라이선스 정보나 저작권 정보를 제거하거나 훼손하지 마십시오. 이러한 정보는 모두 온전하게 유지되어야 합니다.
  • 오픈소스 구성 요소의 이름을 바꾸지 마십시오.
  • 사전 승인 없이 오픈소스 코드를 독점 코드나 제3자 소스 코드에 복사 붙여넣기 하거나 그 반대로 하지 마십시오.
  • 사전 승인 없이 오픈소스 또는 제3자 소스 코드를 내부 제품 소스 트리에 커밋하지 마십시오.
  • 적절한 승인 없이 서로 다른 라이선스로 들어온 소스 코드를 병합하거나 섞지 마십시오.
  • 회사 외부의 개인과 컴플라이언스 관행을 논의하지 마십시오.