[공개SW 거버넌스 구축 사례/삼성전자] 삼성전자 오픈소스 관리체계- 오픈체인 국제표준 규격 요구사항을 중심으로
삼성전자 오픈소스 관리체계
- 오픈체인 국제표준 규격 요구사항을 중심으로 -
삼성전자 오픈소스그룹 정윤환 변호사
리눅스 재단(Linux Foundation)이 운영하는 오픈체인 프로젝트는 소프트웨어 공급망 내에서 신뢰할 수 있는 오픈소스 컴플라이언스를 보장하기 위한 핵심 요구사항을 정의한다. 2020년, “오픈체인 2.0”은 오픈소스 컴플라이언스 관리 절차를 정의한 최초의 국제 표준으로 승인되었다(ISO/IEC 5230:2020).
오픈체인 프로젝트는 정의된 요구사항을 모두 충족한 기업을 대상으로 인증을 부여한다. 삼성전자는 거대한 오픈소스 사용자이자 기여자로서 내부 오픈소스 관리체계를 구축한 후 오랜 기간 꾸준히 발전시켜 왔고, 2021년 7월 오픈체인 인증을 획득하였다. 아래에서는 오픈체인 규격이 규정한 주요 항목을 중심으로 삼성전자의 오픈소스 관리체계를 소개하고자 한다.
1. 조직 (담당자)
오픈체인 규격은 기업 내에서 오픈소스 담당자를 지정하고, 담당자의 역할과 책임, 그리고 각 역할을 위해 필요한 역량을 기술한 문서를 요구한다.
삼성전자는 2012년에 오픈소스 전담 조직인 “오픈소스사무국”을 설립하였다. 오픈소스사무국은 이전까지 파편화 되어 있던 오픈소스 관련 업무를 통합하고, 2013년 실리콘밸리 연구소를 시작으로 전세계 해외연구소에도 오픈소스 조직 및 담당자를 지정하여 글로벌 관리 체계를 구축하였다. 오픈소스사무국은 2016년에 오픈소스그룹으로 격상되어 현재까지 삼성전자의 오픈소스 컨트롤타워 역할을 수행하고 있다.
오픈소스그룹은 각 사업부의 오픈소스 관련 임원과 실무 담당자로 구성된 오픈소스협의체를 운영함으로써 관련 이슈를 전사에 공유하고 의사결정을 수행한다. 오픈소스협의체에는 법무(IP), 인사, 보안 등 관련 조직도 참여한다. 각 관련 조직의 담당자는 오픈소스 관련 정책 및 프로세스의 규정에 따라 필요한 절차 내에서 맡은 역할을 수행한다. 예를 들어 사내 개발자가 오픈소스 기여 프로세스를 진행하는 경우, 별도의 요청 없이 IP센터에 소속된 해당 기술 분야의 특허 전문가가 특허 검증에 참여하게 된다.
2. 정책 (프로세스)
오픈체인 규격은 오픈소스의 사용과 기여에 대해 문서화 된 정책을 요구한다. 오픈소스 사용과 관련해서는 컴플라이언스에 대한 내부 책임이 할당되고, 문제가 있는 경우 이를 해결하는 절차가 필요하며, 외부에서 문의할 수 있는 공개된 채널도 요구한다. 이러한 정책들은 기업 내부 조직 및 제품의 특성 등을 고려하여 세부 내용과 적용 범위를 달리하여 여러 개로 존재할 수 있다.
2020년, 삼성전자는 기존에 다양한 명칭과 형태로 존재했던 오픈소스 관련 정책 및 가이드를 통합하여 “오픈소스 S/W 정책 v.2.0”을 배포하였다. 여기에서는 크게 (1)오픈소스 사용 (2)오픈소스 기여 (3)오픈소스 검증 도구의 세가지 내용을 규정한다. “오픈소스 사용” 에서는 오픈소스 라이선스 기본 정보와 의무사항 준수 절차를 규정하고 있으며, 오픈소스 및 오픈소스 라이선스의 사내 사용 가능 여부에 대한 정보를 제공한다. “오픈소스 기여” 에서는 소스코드를 배포하기 전에 필요한 라이선스/특허 검증 절차와 소스코드 공개 여부에 대한 의사결정을 받을 수 있는 결재 절차를 규정하고 있다. 마지막으로 “오픈소스 검증 도구” 에서는 삼성전자에서 공식적으로 활용하는 도구를 지정하고, 이에 대한 사용 가이드를 제공한다.
2021년, 삼성전자는 오픈소스 사용과 관련하여 새로운 정책을 추가하였다. 기존에는 일반적인 방식대로 S/W 개발 이후 검증 도구를 통해 오픈소스 라이선스 검증을 수행해 왔으나(사후 검증), 이 경우 검증 과정에서 이슈가 발생하면 전면 재개발을 해야 하는 등 많은 비용과 시간이 소요되는 문제가 있었다. 이를 해결하기 위해 사내 오픈소스 DB를 구축하여 사용하기 전에 사용 가능 여부와 주의사항을 미리 확인하는 절차를 추가하였다(사전 검증). 또한, S/W 개발을 진행하면서 라이선스/보안 이슈를 자동으로 검증하는 도구를 도입하여(실시간 검증), 개발 全 과정에서의 컴플라이언스 체계를 구축하였다.
삼성전자의 “오픈소스 S/W 정책” 은 해외를 포함한 전사에 공통적으로 적용되며, 각 사업부는 이를 기반으로 사업부 특성에 맞는 별도의 세부 지침을 수립하여 운영하고 있다.
3. 도구 (시스템)
오픈체인 규격은 오픈소스 컴플라이언스를 수행한 결과물의 보관을 요구할 뿐, 특정 검증 도구의 사용을 요구하지는 않는다. 그러나 많은 기업이 보다 빠르고 효율적인 컴플라이언스 수행을 위해 다양한 도구를 사용하고 있다.
삼성전자 “오픈소스 S/W 정책”은 오픈소스 컴플라이언스를 위해 필수적으로 사용해야 하는 도구를 규정하고 있다. 가장 대표적인 예는 소스코드/바이너리 단위에서 오픈소스 라이선스를 식별하는 스캔 도구이다. 현재 소스코드 검증은 세계적으로 널리 사용되고 있는 상용 도구를 활용하고 있으며, 바이너리 검증은 자체 개발한 도구를 활용 중이다. 이러한 필수 검증 도구는 일정 기간마다 유사한 경쟁 도구들에 대한 비교·평가를 통해 선정된다.
삼성전자의 각 조직은 이러한 필수 검증 도구를 기반으로, 각자 자신들이 필요한 방식으로 다양한 오픈소스 검증/관리 도구를 개발하여 활용해 왔다. 이는 삼성전자의 규모를 생각하면 당연한 결과일 수 있으나, 유사한 기능의 도구를 다른 조직에서 별도로 개발해 사용하고, 그 결과물이 서로 호환되지 않는 등의 문제도 발생하였다. 이에 삼성전자 오픈소스그룹은 각 조직의 기존 방식을 존중하면서도 필요한 부분의 통합을 진행하였다. 그 결과 2018년 전사 통합 오픈소스 포털인 “SOSHUB (Samsung Open Source HUB)”를 런칭하였고, 모든 임직원은 소속에 관계 없이 SOSHUB를 통해 다양한 검증 도구를 활용할 수 있게 되었다.
SUSHUB는 검증 도구 외에도 오픈소스에 대한 다양한 정보를 제공하고 있다. 우선, 사내 오픈소스 DB를 구축하고 이를 사내 정책에 따라 분류해서 개발자가 오픈소스의 사용 가능 여부와 라이선스 주의사항을 직관적으로 확인할 수 있도록 하였다. 예를 들어 SOSHUB의 검색 창에 특정 오픈소스 프로젝트나 라이선스 명칭을 입력하면, 사내 사용 가능 여부가 신호등 색상으로 표시되고, 사내에서 해당 오픈소스를 사용한 과제 이력, 검증 결과, 사내 주요 개발자 등의 정보도 함께 확인할 수 있다.
또한, SOSHUB는 오픈소스와 관련된 검증 및 의사결정 프로세스의 자동화를 통해 개발자의 부담을 최소화 하기 위해 노력하고 있다. 예를 들어 오픈소스 기여를 원하는 개발자는 SOSHUB에 접속하여 “오픈소스 기여 프로세스”에 필요한 정보만 등록하면, 보안/라이선스/특허 등 관련 부서 담당자가 자동으로 지정되어 검토 후 승인까지 이루어 진다.
삼성전자는 사내 오픈소스 포털 구축과 함께 대외 오픈소스 사이트도 개편하였다. 기존에 오픈소스 라이선스의 의무사항에 따라 소스코드를 공개하기 위한 목적으로 운영되던 사이트를 확대하여, 삼성전자가 주도하는 오픈소스 프로젝트와 커뮤니티 프로그램 등 다양한 정보를 함께 제공하고 있다.
4. 교육 (평가)
오픈체인 규격은 오픈소스 정책의 존재를 사내 구성원에게 알리는 절차를 요구한다. 또한, 오픈소스 담당자를 지정하고, 그 담당자가 필요한 역량을 보유할 수 있도록 적절한 교육을 제공하고 평가를 수행해야 한다.
삼성전자는 임직원을 위한 다양한 오픈소스 교육 프로그램을 운영하고 있다. 신규 입사자의 필수 교육 프로그램에 “오픈소스의 이해” 과목을 추가하여 오픈소스 기본지식과 위험성, 사내 정책과 프로세스를 전달하고 있다. 또한, “오픈소스 개요·사용·이해”의 세 편으로 구성된 교육 영상을 제작, 한국어와 영어 버전으로 배포하여 누구나 언제든지 볼 수 있게 하였다.
[“오픈소스의 이해” 동영상 교육]
필수 교육 과정 외에 신청자를 위한 별도의 교육 과정도 운영하고 있다. 오픈소스에 대한 기본적인 내용에서부터 특정 오픈소스 프로젝트의 리더가 되고자 하는 개발자를 위한 고급 과정까지 다양한 커리큘럼의 교육 과정을 제공한다. 이는 사내 공식 교육 과정으로 등록되어 이수 현황 및 학습 이력이 시스템을 통해 관리된다.
또한, 삼성전자는 SOSHUB를 통해 다양한 정보와 가이드 문서를 제공하고 있다. 오픈소스 정책 및 프로세스를 공개하고 있으며, Q&A 게시판을 통해 문의사항에 대해 실시간으로 답변을 제공한다. 또한 교육 요청 게시판을 통해 특정 주제에 대한 교육을 요청하면, 해당 분야 전문가가 맞춤형 교육/세미나를 제공하고 있다.
맺음말
기업 내에서 오픈소스 컴플라이언스 체계를 갖추는 것은 쉬운 일이 아니다. 우선오픈소스와 관련된 법률적 리스크를 이해하는 것부터 쉽지 않을 뿐 아니라, 기술적으로 이를 찾아내어 방지하는 것은 더욱 어려운 일이다. 또한, 설사 그 방법을 찾아내더라도 리스크 대비 너무 많은 비용이 소요되는 경우도 있을 수 있다. 결국, 오픈소스 컴플라이언스는 불명확한 리스크를 예측하고, 적정한 수준의 비용을 투입해 이를 방지할 수 있는 방안을 찾아야 하는 일이다.
오픈체인 규격은 이처럼 어려운 일을 해 나가는데 있어 하나의 명확한 기준이 된다. 오랜 기간, 다양한 시행착오를 겪으며 그 방안을 찾기 위해 노력해 온 많은 전문가들의 경험과 노하우가 모여 만들어진 “국제 표준”이기 때문이다. 기업의 규모와 관계 없이 주어진 환경에 맞추어 오픈체인 규격을 하나씩 따르다 보면, 어느새 높은 수준의 컴플라이언스 체계를 갖출 수 있을 것이다. 그리고 이는 직접적인 법적 위험을 방지함과 동시에 자사 소프트웨어의 신뢰도를 높이는 큰 성과로 돌아올 것이다.
삼성전자를 포함한 몇몇 국내 대기업들이 오픈체인 인증을 획득하였다. 더 많은 기업들이 동참하여 소프트웨어 공급망 전체의 신뢰도가 향상될 수 있기를 기대한다.
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
331 | [공개SW 활용사례/미라콤아이앤씨] 스마트 팩토리 오픈소스와 식음료 산업 적용사례 | 3402 | 2022-06-28 |
330 | [공개SW활용기업/테바소프트] "코로나19로 급증한 심리상담, AI로 부담 던다" file | 2531 | 2022-05-24 |
329 | [공개SW 개발자 인터뷰/강대명 CTO]커미터가 말하는 오픈소스 프로젝트 쉽게 참가하는 법 file | 6251 | 2022-04-26 |
328 | [공개SW 개발자 인터뷰/임완섭 개발자]“오픈소스는 권리 나누는 일종의 기부 운동…이더리움, 리눅스 이후 가장 성공적” file | 2690 | 2022-03-28 |
327 | [공개SW 거버넌스 구축 사례/카카오뱅크]카카오뱅크 "체계적 오픈소스 관리로 공급망 공격 방지" file | 2623 | 2022-02-22 |
326 | [공개SW 개발자 인터뷰/최영락 개발자]"다른 개발자 소스코드 보며 배우고 소통하는 게 오픈소스 매력이죠" file | 2716 | 2022-02-21 |
325 | [공개SW 개발자 인터뷰/유태희 개발자]"오픈소스 개발자, 커뮤니티 활성화로 성장 기회 넓혀야" file | 2429 | 2022-01-25 |
324 | [공개SW 개발자 인터뷰/김남형 개발자] “오픈소스 활동 덕에 구글도 입사했죠" file | 2453 | 2021-12-20 |
323 | [공개SW 활용사례/당근마켓] 오픈소스 공개까지…개발자 모이는 당근마켓 비결은 | 3561 | 2021-11-23 |
322 | [공개SW 거버넌스 구축 사례/삼성전자] 삼성전자 오픈소스 관리체계- 오픈체인 국제표준 규격 요구사항을 중심으로 | 2538 | 2021-10-25 |
0개 댓글