1. 조직

    먼저, 기업은 오픈소스 관리 업무를 담당할 조직을 구성해야 합니다.

    조직 구성 시 고려해야 할 내용은 다음과 같습니다:

    • 조직의 역할과 책임
    • 각 역할의 필요 역량
    • 각 역할을 담당할 조직/담당자

    1. 조직의 역할과 책임 정의

    ISO 표준은 공통적으로 다음과 같이 프로그램 내 여러 참여자의 역할과 책임을 기술한 문서를 요구합니다.

    오픈소스 프로그램 매니저

    오픈소스 관리 체계를 구축하기 위해서는 먼저 이를 책임지고 수행할 책임자가 필요합니다. 책임자는 오픈소스 프로그램 매니저 또는 오픈소스 컴플라이언스 담당자 등의 명칭으로 불리며, 여기서는 오픈소스 프로그램 매니저라는 용어를 사용합니다.

    오픈소스 프로그램 매니저는 기업의 오픈소스 프로그램 오피스를 담당합니다. 오픈소스 프로그램 오피스란 기업의 오픈소스 관리를 위한 조직을 의미하며, 오픈소스 사무국이라는 용어로도 사용됩니다.

    아래의 역량을 가지고 있다면 오픈소스 프로그램 매니저 역할에 적합하다고 할 수 있습니다.

    • 오픈소스 생태계에 대한 이해 및 개발 경험
    • 기업의 비즈니스에 대한 폭넓은 이해
    • 기업 구성원에게 효과적인 오픈소스 활용을 전파할 수 있는 열정과 커뮤니케이션 능력

    오픈소스 프로그램 매니저는 가능한 풀타임으로 역할을 수행할 수 있도록 보장되는 것이 좋습니다.

    글로벌 ICT 기업은 이와 같은 우수한 오픈소스 프로그램 매니저를 채용하기 위해 노력하고 있습니다. 다음 사이트에서 다양한 채용 공고를 확인할 수 있습니다. : https://github.com/todogroup/job-descriptions

    역할과 책임 문서화

    기업은 오픈소스 프로그램 오피스에 필요한 각 역할을 정의하고, 어떠한 책임을 부여해야 하는지를 판단해야 합니다.

    소규모 기업의 경우, 오픈소스 프로그램 매니저 혼자서 모든 역할을 수행하는 것도 가능합니다. 기업의 규모에 따라 오픈소스 도구를 운영하는 IT 담당자도 필요할 수 있으며, 전문적인 법무 자문을 제공하기 위한 법무 담당의 역할이 요구될 수도 있습니다.

    일반적으로 기업의 오픈소스 관리 체계 구축을 위해서는 아래의 역할이 필요합니다.

    • 법무 담당
    • IT 담당
    • 보안 담당
    • 개발 문화 담당

    Individuals and teams involved in ensuring open source compliance : https://www.linuxfoundation.org/wp-content/uploads/OpenSourceComplianceHandbook_2018_2ndEdition_DigitalEdition.pdf

    이를 위해 아래와 같이 오픈소스 프로그램 오피스를 구성하는 역할과 책임을 문서화해야 합니다.

    No역할책임
    1Open Source Program Manager회사의 오픈소스 프로그램에 대한 총괄 책임을 담당한다.
    2법무 담당오픈소스 라이선스와 의무를 해석한다. 이러한 의무를 실제 이행하는 등 오픈소스 활용을 위해 발생할 수 있는 법적 위험의 완화를 위한 자문을 제공한다.
    3IT 담당오픈소스 분석 도구를 운영하고 자동화하여 모든 배포용 소프트웨어에 대해 오픈소스 분석이 원활히 수행되도록 시스템을 구축한다.
    4보안 담당오픈소스 보안취약점 분석 도구를 운영하여 모든 배포용 소프트웨어에 대해 보안취약점 분석이 수행되도록 시스템을 구축하고 발견된 보안취약점이 기준에 맞게 보완되도록 조치한다.
    5개발 문화 담당사내 개발자들이 오픈소스를 적극적으로 활용하고 사내외 커뮤니티에 참여하여 선진 개발 문화를 습득할 수 있도록 지원한다.
    6사업 부서소프트웨어 개발/배포 조직은 올바른 오픈소스 활용을 위해 오픈소스 정책 및 프로세스를 준수한다.

    2. 필요 역량 정의

    각 역할과 그에 대한 책임을 정의하였다면, 그 역할을 수행할 인원이 갖춰야 할 필수 역량이 무엇인지 파악해야 합니다.

    ISO 표준은 공통적으로 다음과 같이 각 역할을 위해 필요한 역량을 기술한 문서를 요구합니다.

    이를 통해 역할별 담당자가 해당 역할을 수행할 수 있는 역량을 갖추었는지 평가하고, 필요시 교육을 제공해야 하기 때문입니다.

    이를 위해 기업은 아래와 같이 각 역할을 위해 필요한 역량을 기술하여 문서화해야 합니다.

    No역할필요 역량
    1Open Source Program Manager1. 소프트웨어 개발 프로세스 이해
    2. 저작권, 특허 등 오픈소스 라이선스와 관련한 지식재산 이해
    3. 오픈소스 컴플라이언스에 대한 전문 지식
    4. 오픈소스 개발 경험
    5. 커뮤니케이션 스킬
    2법무 담당1. 오픈소스 생태계에 대한 기본 지식
    2. 소프트웨어 저작권에 대한 전문 지식
    3. 오픈소스 라이선스에 대한 전문 지식
    3IT 담당1. 오픈소스 컴플라이언스 프로세스에 기본 지식
    2. 오픈소스 분석 도구에 대한 이해
    3. IT 인프라에 대한 전문 지식
    4보안 담당1. DevSecOps에 대한 폭넓은 이해
    2. 오픈소스 보안취약점 분석 도구에 대한 이해
    3. 오픈소스 보안취챡점에 대한 전문 지식
    43. 커뮤니케이션 스킬
    5개발 문화 담당1. 소프트웨어 개발 프로세스 이해
    2. 오픈소스 컴플라이언스에 대한 기본 지식
    3. 오픈소스 정책에 대한 이해
    6사업 부서1. 소프트웨어 개발 프로세스 이해
    2. 오픈소스 컴플라이언스에 대한 기본 지식
    3. 오픈소스 정책에 대한 이해
    4. 오픈소스 라이선스에 대한 기본 지식

    3. 담당자 지정

    오픈소스 프로그램 매니저는 관련 부서와 협의하여 각 역할을 위한 담당자를 지정하고 이를 문서화합니다. 물론 이를 위해서는 CEO 등 최고 의사결정권자에게 오픈소스 컴플라언스 체계 구축을 위한 목표와 방향을 보고하여 필요한 지원을 받아야 할 것입니다.

    오픈소스 관련 조직과 담당자는 반드시 풀타임으로 오픈소스 업무에 참여할 필요는 없습니다. OSRB (Open Source Review Board) 형태의 가상 조직을 구성하여 필요한 역할을 수행하는 것도 가능합니다.

    이를 위해 ISO 표준은 공통적으로 다음과 같이 프로그램 내 각 역할을 담당하는 인원, 그룹 또는 직무의 이름을 기재한 문서를 요구합니다.

    이를 위해 기업은 아래와 같이 프로그램 내 각 역할을 담당하는 인원, 그룹 또는 직무의 이름을 문서화해야 합니다.

    No역할담당 조직담당자
    1Open Source Program ManagerCTOOOO
    2법무 담당법무팀OOO
    3IT 담당IT 인프라팀OOO
    4보안 담당보안팀OOO
    5개발 문화 담당DROOO
    6사업 부서개발팀전원

    다음 페이지에서는 역할, 책임, 필요 역량 및 담당자 지정 등을 문서화한 샘플을 참고할 수 있습니다. [부록1]오픈소스 정책(샘플) - Appendix 1. 담당자 현황

    SK텔레콤은 OSRB를 구성하여 기업 내 오픈소스 정책과 프로세스를 만들고, 이슈 발생 시 협업하여 대응 방안을 마련하고 있습니다.

    https://sktelecom.github.io/about/osrb/

    Summary

    역할, 책임, 필요 역량 및 담당자 지정을 문서화한 샘플은 오픈소스 정책 템플릿 문서에서 확인할 수 있습니다. : Appendix 1. 담당자 현황

    기업은 이를 참고하여 기업의 상황에 맞게 오픈소스 관리 조직을 구성할 수 있습니다.

    이렇게 오픈소스 프로그램 오피스 조직을 지정하고 문서화하면, ISO 표준 규격 중 아래의 붉은색으로 표시된 요구사항을 충족하게 됩니다.

    사실, 문서화하는 것보다 실제 업무를 충실히 수행할 담당자를 지정하고, 담당자가 역량을 확보할 수 있도록 지원하는 것이 더 중요합니다.

    한국저작권위원회의 오픈소스 라이선스 전문 교육이나 NIPA의 공개소프트웨어 매니지먼트 아카데미에 참여하여 체계적인 교육을 수강하는 것도 매우 도움이 됩니다.