전통적으로 기술 혁신은 내부 연구개발(R&D) 투입, 규모의 경제, 자체 내부의 우수 인적자원의 확보 및 효율적 활용 등으로 이루어져 왔습니다. 이말은 아이디어의 발굴에서 기초 연구, 제품 개발, 사업화에 이르는 모든 기술 혁신 과정을 기업 내부에서 독자적으로 수행하는 것을 의미하는 것입니다.

하지만 기술의 복잡성 증대, 경제의 글로벌화, 제품 수요의 다양화 등 국내·외 경제 환경의 급격한 변화는 기업의 기술 혁신 활동에 상당한 변화를 요구하고 있으며 이러한 기술 혁신의 패러다임 변화와 맞물려, 기술 혁신 과정에서 외부의 혁신 주체들과 협력하는 방식이 확대됨에 따라, 전 세계적으로 개방형 혁신 활동이 급속히 확산되고 있습니다.

이처럼 개방형 혁신 활동의 필요성이 증가하고 국내에서도 정부지원금을 제공받는 다양한 연구개발 사업에서 오픈소스SW 개발방식의 과제 수행을 요구하는 경우가 많아지고 있지만, 개방형 혁신 연구개발(이하 오픈 R&D)을 수행하려는 수행 기관들은 자신에게 필요한 오픈 R&D 평가 지표와 체계적인 관리 모델들의 부재로 인한 혼란이 가중되고 있습니다.

한국정보통신기술협회의 공개소프트웨어 프로젝트 그룹에서는 조직이 오픈 R&D를 수행하는 수행 기관이 외부의 참여자와 함께 개방형 혁신 활동의 관리를 할 수 있는 연구개발 능력 부문에서 현재의 역량 상태를 평가하고, 목표 수준을 설정하여 개선의 우선순위를 설정하기 위한 기준을 제시하고 있으므로 이 모델을 활용하면 오픈 R&D를 수행하는 조직이 다른 조직과의 오픈 R&D 수행 역량 성숙도 수준을 비교할 수 있습니다.

개방형 혁신 연구개발 역량 성숙도 모델

PDF 다운로드 : ::: TTA표준화 위원회 :::

오픈소스 연구개발 역량 성숙도 모델

이 표준은 오픈 R&D를 수행하는 수행 기관이 외부의 참여자와 개방형 혁신 활동의 관리를 할 수 있는 연구개발 능력 수준을 개선하기 위해 필요한 성숙도 모델을 위해 7개의 도메인(비즈니스 전략, 정책 및 조직, 프로젝트 평가, 공급망 관리, 커뮤니티, 개발 환경, 성과 관리) 관점에서 5 등급의 역량 성숙도 등급으로 측정할 수 있는 기준을 제공합니다.

오픈 R&D를 수행하는 수행 기관이 외부의 참여자와 개방형 혁신 활동의 관리를 할 수 있는 연구개발 능력 수준을 개선하기 위해 필요한 성숙도 모델을 정의하고, 역량 성숙도 등급(Capability Maturity Level), 성숙도 모델 프로세스가 적용되는 도메인(Domain), 도메인별 세부 등급 기준으로 구성되어 있습니다.

평가 수준은 획일적으로 적용하는 것이 아니라 조직의 정책에 의해 적합하게 결정될 수 있으며, 이 표준에서는 5 등급의 성숙도 등급을 제시합니다.

평가 모델은 다음과 같이 7개의 평가 도메인으로 구성되며 각 도메인은 개방형 혁신 연구개발 활동들로 구성된 논리적 그룹, 조직의 성숙도를 평가하기 위해 서로 독립적인 활동 등 관행의 집합이며 각 관행은 조직이 오픈 R&D를 수행하기 위한 활동을 의미합니다.

도메인 설명
비즈니스 전략 오픈소스SW 기반의 비즈니스 전략
정책 및 조직 오픈 R&D 거버넌스 정책과 조직의 구성
프로젝트 평가 오픈소스SW 프로젝트의 성숙도 평가
공급망 관리 오픈소스SW가 포함되는 소프트웨어 공급망 관리
커뮤니티 오픈소스SW 커뮤니티 거버넌스
개발 환경 오픈소스SW 개발을 위한 개발 환경
성과 관리 오픈 R&D에 적합한 성과 지표
 

조직은 평가를 위한 도메인을 결정하고 선정한 도메인에 대하여 다음과 같은 5 등급의 성숙도 수준을 평가하게 되는데, 개방형 혁신 연구개발 역량 성숙도 평가를 위하여 단일 도메인을 평가하는 공식은 평가 도메인 내 오픈 R&D를 수행하기 위한 활동들에 대하여 조직이 설정한 중요도(가중치)를 할당하여 가중 산술 평균값을 합산하여 등급 기준에 따라 평가합니다.

 
 
 

평가를 위하여 다수의 도메인을 평가하는 공식은 다음과 같이 평가 도메인들에 대하여 조직이 설정한 중요도(가중치)를 할당하여 가중 산술 평균값을 합산하여 최종 등급 기준을 평가할 수 있습니다.

 

기본적으로 평가대상 도메인들에 대한 가중 산술 평균값을 5 단계 척도로 구분하여 식별하여 적용할 수 있습니다.

(1단계) 초기 (2단계) 정의 (3단계) 관리 (4단계) 확산 (5단계) 최적화
20 이하 21~40 41~60 61~80 81 이상
 

각 도메인의 세부 평가 기준은 별도 문서를 참고하시기 바랍니다.

개요

작년 미국의 국가 사이버 보안 강화 지침(2021년 5월)이 배포된 이후, 소프트웨어 산업의 다양한 채널에서 SBOM과 관련한 자문이나 회의가 생기고 있는 상황입니다. 

최근의 보안 위협은 공급망, 구축도구, 구축환경, 레파지토리등을 공격하는 추세가 많아지고 있는데 이 지침에서는 미국 연방정부가 사용하는 소프트웨어 공급망의 보안과 무결성을 개선하기 위한 조치를 지시하고 있습니다.

지침이 배포된 이후 미국 정부의 요청으로 미국의 90여개 소프트웨어 기업, 오픈소스 커뮤니티가 자문에 참여하여 의견을 제시히고, CISA, NTIA 에서는 이를 정리하여 SBOM 과 관련한 가이드라인 및 FAQ를 공개하였습니다.

 

SOFTWARE BILL OF MATERIALS | National Telecommunications and Information Administration

A “Software Bill of Materials” (SBOM) is a nested inventory for software, a list of ingredients that make up software components. The following documents were drafted by stakeholders in an open and transparent process to address transparency around sof

www.ntia.gov

 

SBOM 이란?

SBOM 은 SOFTWARE BILL OF MATERIALS 의 약자로 소프트웨어의 구성 요소를 나타내는 메타데이터를 의미하는데 이를 보다 쉽게 설명하자면 우리가 흔히 볼 수 있는 다음과 같은 제품의 성분표기를 떠올리면 됩니다.

성분표기를 통해서 알러지가 있는 사람은 해당 식품을 피하기도 하고, 공급자는 제품의 우수성을 홍보하기도 하고, 크게 성분에 신경쓰지 않고 그냥 사용하는 사용자도 있을 수 있죠.

이와 유사하게, SBOM은 공급되는 소프트웨어의 구성 목록을 잘 표시해서 공급자와 사용자가 이를 기반으로 의사결정에 활용할 수 있는 환경을 조성하는 것을 목표로 하고 있습니다.

NTIA 에서 발표한 SBOM의 필수 구성요소는 다음과 같이 구성되어 있습니다.

 

  • Supplier name
  • Component name
  • Version of the component
  • Cryptograph hash of the component
  • Any other unique identifier
  • Dependency relationship
  • Author of the SBOM data

 

이를 기반으로 작성한다면 다음과 같은 개념도로 표시할 수 있습니다.

National Telecommunications and Information Administration (NTIA) 에서는 오픈소스 소프트웨어나 상용 소프트웨어로 구분하지 않고 모든 공급되는 소프트웨어를 대상으로 광범위하게 적용할 수 있는 SBOM 적용을 위해 산업계의 여러 기업과 커뮤니티에 의견을 청취하고 이를 토대로 SBOM의 이해를 돕는 자료와 적용방법에 대하여 다양한 문서를 배포하고 있으니 아래 문서들을 참고하시기 바랍니다.

 

SPDX, OpenChain

이러한 소프트웨어 구성 목록을 기반으로 공급망의 투명성을 확보해야 한다는 필요성은 오픈소스 커뮤니티에서 10여년 전부터 논의되어 왔으며, 이를 해결하기 위해 실제 산업에서 SPDX와 OpenChain 이 많이 사용되고 있습니다.

  • SPDX는 라이선스 컴플라이언스, 보안 등과 같은 문제를 다루면서 진화해서 현재는 시장에서 가장 성숙한 SBOM으로 자리잡고 있습니다. (https://www.linuxfoundation.org/blog/what-is-an-sbom/)
  • 또한 오픈소스 라이선스 준수를 위한 ISO 국제표준(https://www.iso.org/standard/81039.html) 으로 오픈체인이 있으며, 이는 소프트웨어 공급망의 투명성을 강화하기 위하여 오픈소스 커뮤니티에서 고민하던 결과물입니다.

SBOM이 소프트웨어 보안의 모든 문제를 해결할 수는 없지만 보다 안전한 소프트웨어 사용에 필요한 기본을 제공하는 것은 분명히 필요한 일이며, 다양한 산업계의 의견을 토대로 만들어진 SBOM을 기반으로 소프트웨어 공급망의 투명성을 강화할 수 있는 미국의 이번 정책은 향후 IT 산업과 디지털 인프라의 소프트웨어 관리에 있어서 매우 중요하다고 생각됩니다.

최근 개방형OS 키워드로 여러가지 보고서 작성이나 교육 또는 컨설팅을 하는 일이 종종 생기면서 국내의 개방형OS 생태계에 대한 생각을 여러번 하게 되었습니다. 이런 과정에서 국내의 경우 해외의 개방형OS 생태계와 차이점이 있는 상황이기 때문에 이 부분을 이해하고 적합한 행동을 해야 한다는 생각이 들었고 국내의 개방형OS 생태계를 도식화 하면서 작성한 내용을 공유합니다.

개방형OS 소프트웨어 아키텍처

개방형OS는 어떤 소프트웨어 아키텍처로 구성되는지 생각해보면, 기존의 비공개OS(Windows, MacOS)들은 특정 기업이 독자적으로 모든 소프트웨어 구성요소를 개발하여 배포하는 방식이지만, 개방형OS는 개별 오픈소스 프로젝트들을 컴포넌트로 사용하는 아키텍처로 구성됩니다.

개방형OS의 거버넌스 구조

이처럼 다양한 오픈소스 프로젝트들의 집합인 개방형 OS 생태계의 이해를 위해서는 우선 오픈소스 커뮤니티의 개발 방식과 오픈소스 커뮤니티의 참여자들이 어떻게 구성되는지 식별할 필요가 있습니다.

오픈소스 커뮤니티 개발 방식

개방형 OS와 같이 커뮤니티를 기반으로 형성되는 소프트웨어 개발에는 소프트웨어 릴리즈를 위한 활동을 중심으로 형성되는 개발자(오픈소스 프로젝트) 커뮤니티와 공개된 소프트웨어에 대한 테스트, 버그에 대한 피드백, 신규요구사항, 의견제시 등을 중심으로 형성되는 사용자 커뮤니티가 존재하며, 이 두 커뮤니티의 상호 작용으로 지속적인 발전을 도모할 수 있는 구조입니다.

오픈소스 커뮤니티 개발 방식

오픈소스 커뮤니티의 구성원

일반적으로 오픈소스 프로젝트의 커뮤니티 내 역할 카테고리를 설명하는 데 사용하는 모델은 월트 스카치(Walt Scacchi)와 예·K, 키시다의 양파 모델이 사용 되는데 이 모델은 커뮤니티에 투자를 많이 하고 가장 적극적인 역할은 가운데 있고, 양파 껍질 바깥쪽에서 일할수록 활동과 투자 수준이 줄어드는 특징이 있습니다.

오픈소스 커뮤니티 구성원의 역할

  • 가장 중심에 있는 핵심 개발자는 프로젝트의 창시자 또는 핵심 개발자로 프로젝트의 최종 결정권을 보유합니다. 이 사람들은 대개 프로젝트에서 가장 경험이 많은 실력자이며 수는 많지 않지만, 이들은 모든 커뮤니티 멤버를 지도하거나 멘토링을 하는 사람들이며 이 사람들은 커뮤니티의 소스코드 주 저장소에 외부 참여자의 기여 결과물을 병합하도록 승인하는 커밋 비트 권한을 가지고 있으며 가장 큰 책임을 맡고 있습니다. 
  • 커뮤니티 관리자는 커뮤니티가 외부 커뮤니티 또는 기업과 협력이 필요한 경우 핵심 개발자와 협의를 거쳐 필요한 의사결정과 실행을 담당합니다. 이 사람들은 프로젝트의 지속성을 담보하는 파트너들을 발굴하고 프로젝트가 다양한 분야에서 활용될 수 있도록 프로모션을 하는 등 비즈니스 관점에서 매우 중요한 역할을 합니다.
  • 프로젝트 관리자는 커뮤니티 내부에 다수의 프로젝트가 있는 경우 각각의 프로젝트를 집중적으로 관리하는 사람들입니다. 리눅스 재단, 오픈스택재단, 아파치 재단 등 단일 프로젝트가 아닌 다수의 프로젝트가 활성화된 대규모의 오픈소스 커뮤니티는 개별 프로젝트의 관리를 집중할 수 있는 프로젝트 관리자를 통해 커뮤니티 참여자들과 소통하고 있습니다.
  • 개발자는 일반적인 기여자로써 이 사람들은 프로젝트에 어느 정도 정기적인 기여를 제공하고 대부분의 토론에 꽤 활발하게 참여합니다. 다른 사람들이 한 기여를 검토하는 데 협력하기도 하며 신입 기여자들에게 멘토링을 제공하기도 합니다.
  • 능동적 사용자는 프로젝트의 적극적 사용자들로 신입 기여자의 후보가 되는 그룹을 의미합니다. 프로젝트의 결과물을 주변에 적극적으로 홍보하며 자신도 항상 프로젝트 결과물을 사용하면서 발견한 버그를 공유하고, 이 중 일부는 일정한 시간과 연습을 거친 후 프로젝트의 신입 기여자가 됩니다. 일반 사용자의 질문에 대한 답변을 적극적으로 하며 사람들이 커뮤니티에 잘 정착할 수 있도록 지원하는 중요한 역할을 하게되며 이 사람들은 프로젝트에 도움이 되는 귀중한 피드백, 버그 보고, 기능에 대한 아이디어를 계속 제공하며 프로젝트를 지탱하는 가장 중요한 원동력입니다.
  • 가장 바깥쪽의 계층은 수동적 사용자들로써 개발자나 사용자의 입장으로 적극적 참여는 하지 않지만, 프로젝트를 관심 있게 지켜보고 응원하는 사람들로 비정기적인 피드백을 제공하는 역할을 합니다.

개방형OS 생태계의 이해관계자

’글로벌 상용 소프트웨어 백서‘(과학기술정보통신부, 2017)에서는 국내 소프트웨어 산업 중 PC 운영체제의 생태계를 하드웨어 업체, PC운영체제, 애플리케이션, 클라우드 사업자, 소비자, 공개소프트웨어 커뮤니티의 구성요소로 제시한 바 있으며 공개소프트웨어 커뮤니티는 하드웨어 업체를 포함하여 모든 구성요소와 공헌 및 협업 관계를 유지하는 것으로 표현하고 있습니다. 이 구성을 최근 국내 개방형 OS 생태계에서 실제 참여하고 있는 구성원들을 중심으로 재구성하면 다음과 같이 구성할 수 있습니다.

국내 개방형OS 생태계

이 구성을 오픈소스 커뮤니티를 중심으로 개방형 OS 산업의 이해관계자 그룹으로 재구성하면 생산자 그룹, 공급자 그룹, 소비자 그룹으로 다음과 같이 간략하게 도식화할 수 있습니다.

개방형OS 생태계 이해관계자

  • 생산자 그룹은 오픈소스 활동을 적극적으로 하는 오픈소스 기여자와 기여자가 속한 커뮤니티 또는 재단으로 자발적 기여자들과 해당 커뮤니티에 속한 기업의 재정적 지원을 통해 유지됩니다.
  • 공급자 그룹은 해당 프로젝트를 중심으로 비즈니스 생태계를 조성하고 프로젝트 관련 제품개발, 교육이나 컨설팅 서비스, 기술지원 서비스 등을 공급하여 매출을 달성하고, 해당 커뮤니티와 협력관계를 유지하며 기술인력의 수급, 재정적 지원 등을 통해 참여합니다.
  • 소비자 그룹은 무료로 배포되는 개방형 OS를 사용하는 일반 사용자와 커뮤니티 기반의 지식 채널을 이용하는 방식보다 향상된 지원을 받기 위해 유로 지원 서비스를 구독하는 개방형 OS 활용 조직으로 구성됩니다.

개방형OS 생태계의 시사점

(해외) 개방형 OS 부문에서 대표적인 우분투, 수세, 페도라 등 사용자들의 인지도가 높은 글로벌 개방형 OS의 생태계는 오픈소스 커뮤니티를 중심으로 다음과 같이 오픈소스 프로젝트의 커뮤니티가 구심점이 되어서 다양한 분야의 기업들이 참여하여 생태계를 이루고 있습니다.

해외 오픈소스 생태계의 구성

  • 해외의 개방형 OS의 경우 가장 핵심이 되는 오픈소스 프로젝트의 커뮤니티를 중심으로 프로젝트를 이용하여 제품을 공급하는 공급사와 공급사의 하드웨어, 소프트웨어, 공급망, 기술지원 파트너사들이 참여하는 구조의 생태계를 구성하고 있습니다.
  • 개방형OS 프로젝트의 활성화를 지원하는 프로젝트 파트너사와 다수의 개방형 OS 공급기업, 개방형 OS 기술지원기업이 참여하는 생태계를 구성하여 최종 사용자에게 커뮤니티 기반의 기술지원과 기업의 서브스크립션 기반의 기술지원이 제공되는 구조

(국내) 국내의 개방형OS 생태계는 오픈소스 커뮤니티가 중심이 된 구조가 아니라 개방형OS 공급사가 중심이 되어 사용자 커뮤니티가 최종 사용자의 기술지원 요구사항을 지원하는 구조로 지속성을 담보하는 주체가 커뮤니티가 아니라 개방형OS 공급사에 의존적인 구조입니다.

국내 개방형OS 생태계의 구성

  • 물론 국내에도 개방형 OS 공급사의 파트너사와 프로젝트 파트너사도 존재하지만, 하드웨어, 교육, 기술지원 등의 파트너사의 수가 매우 적어서 해외 개방형 OS 프로젝트의 파트너사를 통한 지원의 수준과는 큰 차이가 있는 상황이며, 이처럼 개방형 OS 사용자가 증가할수록 특정 기업이 기술지원을 모두 해소해야 하는 전통적인 방식으로는 개방형 OS 산업에 적합하지 않은 생태계의 구조입니다.
  • 이처럼 국내의 개방형 OS 생태계는 개방형 OS 프로젝트의 커뮤니티 중심이 아닌 개방형 OS 공급 기업을 중심으로 형성된 생태계이기 때문에 공급 기업의 오픈소스 커뮤니티 활성화 노력이 해외의 개방형 OS 공급사보다 더 많이 요구되는 상황입니다. 하지만 그럼에도 불구하고 실제 개방형 OS 커뮤니티를 활성화하기 위한 개방형 OS 관련 기업들의 인적, 물적 지원이 미비한 상황으로 안타까운 현실입니다.
  • 또한 국내 개방형 OS 산업이 양질의 품질을 지속하기 위해서는, 현재 개방형 OS 소비자로서 강한 권리를 가진 공공 정보화 사업에서 발주자의 역할이 매우 중요한 영향을 미치게 됩니다.
  • 따라서 정보화 사업 담당자는 개방형 OS 도입 사업의 사업자 평가 기준에 사업자의 개방형 OS 커뮤니티 참여 현황과 개방형 OS 프로젝트의 성숙도를 포함하여 평가하는 제도가 필요하며, 이러한 접근을 통해서 개방형 OS 생태계의 관련 기업들이 사업 수주를 위해서는 개방형 OS 커뮤니티의 참여를 유도하게 될 것이며, 그 결과 개방형 OS 프로젝트의 커뮤니티를 중심으로 개방형 OS 생태계를 조성하는 초석이 될 수 있을것입니다.

 

이번주에 지인분이 카카오톡으로 기사를 하나 보내왔습니다.
안드로이드와 데비안 리눅스가 윈도우 보다 보안에 더 취약하다는 기사였죠. 
결론부터 말씀드리면 이 기사는 잘못된 내용입니다.


http://www.ddaily.co.kr/news/article/?no=192840

 

보안성 높다는 오픈소스 OS, 취약점 1·2위··· 개방형 OS 괜찮나?

[디지털데일리 이종현기자] 지난 1월14일 마이크로소프트(OS)의 운영체제(OS) 윈도7의 기술지원서비스가 종료(EOS)됐다. 추후 정기적인 보안패치나 업데이트 등의 지원을 받지 못하게 됨에 따라 보안 공백이 우려됐다. 이에 정부는

www.ddaily.co.kr

오픈소스를 생업으로 하는 입장에서 작성된 이 기사를 보고 궁금해서 원문을 한번 찾아봤습니다.

이 기사에서 사용된 이미지의 원문은 아래 링크입니다.

https://thebestvpn.com/vulnerability-alerts/

 

Vulnerability Alerts | TheBestVPN.com

As we begin the new decade, you should be mindful that your online activity is being monitored. While federal agencies may claim to do it to protect Americans, big-name companies like Google, Apple, and Facebook financially benefit from putting consumer da

thebestvpn.com

이 인포그래픽의 문제는 제품군의 분류에 있습니다.

만약 안드로이드, 데비안, 우분투, 페도라 등을 하나의 제품으로 봤다면 비교의 대상은 전체 MS윈도우 군이어야 합니다.

Windows 3.1, Windows XP, Windows Vista, Windows 7, Windows 8.1, Windows RT 8.1, Windosw 10, Windows Server 2008, Windows Server 2011, Windows Server 2016, Windows Server 2019 등으로 구분한 이 제품들은 리눅스에서 보면 지난 20년간 릴리즈를 지속해 온 데비안 리눅스 전체와 비교되는 것이 맞습니다.

따라서 지난 20년간 데비안 리눅스가 3,067개의 취약점이 발견되었고, MS윈도우는 4,865개의 취약점이 발견된 것이죠. 
(그리고 MS윈도우의 4,865개 취약점이라는 숫자는 윈도우 3.1, XP 등의 보고서에 표기되지 않은 다른 버전을 제외한 수치입니다)

2019년 한 해동안의 취약점을 보면 안드로이드 414 건, 데비안 리눅스 360 건, MS윈도우 2286건, 우분투 190건, 페도라 184 건이 되겠네요.

Linux는 오픈 소스이지만 침입하기가 매우 어렵 기 때문에 다른 운영 체제와 비교할 때 매우 안전한 OS입니다.

Linux는 오픈 소스이며 강력한 사용자 커뮤니티를 가지고 있습니다. 전체 사용자 기반이 소스 코드에 액세스 할 수 있으므로 문제를 모니터링 할 수 있으며 해커가 대상보다 먼저 취약성을 발견 할 가능성이 높습니다. 하지만 Linux 사용자는 공개 소스이므로 문제를 조사하고 수정합니다. 이런 식으로 Linux는 개발자 커뮤니티로부터 상당한 수준의 유지 보수를받습니다.

이와 반대로 Windows 사용자는 소스 코드를 수정할 권한이 없으므로 스스로 문제를 해결할 수 없습니다. 시스템에서 취약점을 발견하면 Microsoft에보고 한 후 수정 될 때까지 기다려야합니다.

Windows에서 사용자는 계정에 대한 모든 관리자 액세스 권한을 갖습니다. 따라서 바이러스가 시스템을 공격하면 전체 시스템이 빠르게 손상됩니다. 따라서 Windows의 경우 모든 것이 위험합니다.

반면에 Linux는 사용자에게 제한된 액세스 권한이 부여되는 계정을 제공하므로 바이러스 공격의 경우 시스템의 일부만 손상됩니다. Linux는 기본적으로 루트로 실행되지 않으므로 바이러스가 전체 시스템에 영향을 미치지 않습니다.

Windows에는 액세스 권한을 제어하기위한 UAC (사용자 계정 컨트롤) 메커니즘이 있지만 Linux만큼 강력하지는 않습니다.

Linux는 IP 테이블을 사용하여 시스템의 보안을 강화합니다. IPtable은 Linux 커널 방화벽을 통해 시행되는 특정 규칙을 구성하여 네트워크 트래픽을 제어하는 ​​데 도움이됩니다. 이를 통해 명령을 실행하거나 네트워크에 액세스 할 수있는보다 안전한 환경을 만들 수 있습니다.

리눅스는 바이러스 공격으로부터 시스템을 보호하는 작업 환경을 세분화했습니다. 그러나 Windows OS는 세그먼트가 많지 않으므로 위협에 더 취약합니다.

아래의 관련 글들을 참고하세요.

https://www.softwaretestinghelp.com/linux-vs-windows/

 

Linux vs Windows Difference: Which Is The Best Operating System?

Difference Between Linux and Windows Operating Systems In Terms of Architecture, Performance, And Security: Both Linux and Windows are the well known operating systems. When we talk about comparing these two, we should first understand what an operating sy

www.softwaretestinghelp.com

 

https://hackr.io/blog/windows-vs-linux

 

Windows vs Linux: Which Operating System is The Best For You?

Windows vs Linux: While we discuss the pros and cons of both systems, we hope to deliver a fair review on specific criteria.

hackr.io

https://www.computerworld.com/article/3252823/why-linux-is-better-than-windows-or-macos-for-security.html

 

Why Linux is better than Windows or macOS for security

Decisions made years ago about which operating system to roll out can affect corporate security today. Of the big three in widespread use, one can credibly be called the most secure.

www.computerworld.com

 

4차 산업혁명 시대의 주도권 확보를 위한 교두보는 에듀테크 산업

에듀테크 분야는 전 세계 시장의 45%를 차지하는 세계 1위 산업 시장
- 미국 시장조사 업체 글로벌인더스트리애널리스츠(GIA)도 전 세계 에듀테크 시장 규모를 2017년 2200억달러(약 246조원)에서 2020년에는 4300억달러(약 481조원)까지 성장할 것으로 전망.
- 글로벌 선두 IT 기업은 에듀테크 산업의 주도권 확보 노력 중

이러한 추세를 입증하듯 글로벌 경쟁 국가들의 과감한 교육 혁신 도전이 이루어 지고 있습니다.

과거 1차, 2차 산업혁명을 통해 국가의 번영 경험이 있는 영국, 프랑스 미국 등의 국가들은 창의적 인재 육성을 위해 과감하고 다양한 교수학습 혁신 실험을 오래전부터 시도하고 있고, 작지만 우수한 성적을 보이고 있는 싱가포르, 에스토니아, 핀란드 등의 국가들 역시 미래 역량에 대한 사회적 공감대와 리더십을 기반으로 숨가쁘게 교육 혁신의 성공사례를 만들어내고 있습니다.

- 1987년 설립된 교육자치 실천 사례인 영국 샌즈스쿨, IT 기술 기반의 몬테소리 교육 형식을 도입한 네덜란드 스티브잡스 스쿨, 칸아카데미 플랫폼 기반 하에 운영 중인 실험 학교 칸랩스쿨, 기업가 정신 중심으로 교육과정을 운영하는 몬드라곤 대학, 토론 중심의 온라인 학습과 글로벌 7개국을 기반으로 실세계 프로젝트를 경험하는 미네르바 대학 등 혁신교육 등 다양한 사례가 있고 학교 밖에서도 학교 혁신을 지원하기 위해 프로젝트 학습 사례를 모으고 학교의 혁신을 지원하는 비아이이(BIE), 사회정서 학습 기반의 학교혁신을 지원하는 카셀(CASEL), 킥보드(Kickboard), 꺼꾸로 학습 모형을 확산하는 에프엘글로벌(Flglobal) 등의 비영리 조직들이 운영되고 있습니다.

빠르게 달라지는 교육 환경

한국의 미래교육에 대해 고민하는 여러분들과 의견을 나눌 기회가 있었습니다. 그 때 논의한 여러가지 에듀테크 시장과 관련한 변화를 알 수 있는 키워드를 한번 정리해보았습니다. 

세대 교체 - Generation Z

- 시각적 커뮤니케이션, 능동적 문제해결, 공유와 협업이 생활, 자기주도 학습, 글로벌 친화, e포트폴리오

IT기술을 융합하는 교수학습 설계모형 - Flipped Learning, Adaptive Learning

- 지식을 일방적으로 전달하는 방식이 아니라 자기 주도적 문제해결 능력을 강화할 수 있도록 교육 

수업이 게임이 되다 – Gamification

- 게임속에 있는 스토리, 다양한 미션, 재미 요소 등을 교육에 접목, 플레이어들 간에 자유로운 소통을 돕는 다양한 장치를 이용하여 학생과 교수 간 학습과정에서 서로의 생각을 나누며 성장시키는 과정이 있는 교육 가능

궁금하면 직접 하버드, MIT, 스탠퍼드 강의로 공부한다 – MOOC

- 온라인 공개 수업 수강생 간의 피드백, 상호 채점, 협동과제 - 온라인 퀴즈와 시험의 자동화된 채점 방식

에듀테크 산업의 플랫폼 전쟁

기술이 교육을 돕는 여러 분야 중 가장 두드러지는 현상은 학습자의 데이터를 기반으로 인공지능 기술을 적용하는 서비스가 급증하고 있으며 글로벌 Top3 공룡기업들은 모두 에듀테크 산업을 주도하기 위해 노력하고 있습니다.

우리나라의 경우 과거 이러닝 산업을 선도했으나 현재는 에듀테크 세계시장의 5% 미만 수준에 그치고 있는 현실이기에 향후 에듀테크 산업의 발전을 위해 다양한 노력이 중요하다고 생각됩니다. 우리나라가 에듀테크 산업을 선도하기 위해서는 기술을 활용하는 사람에 대한 부분도 필요하겠지만 기술을 사용할 수 있는 환경을 준비하는 것도 필수적이며 이를 위해서는 네트워크, 디바이스, 애플리케이션, 교육서비스플랫폼이 각각 준비되어야 합니다.

부문별 필요한 내용을 생각나는 대로 정리해보면 다음과 같습니다.

교육용 디바이스 부문

- 갤럭시탭, 아이패드, 노트북, 크롬북 등 다양한 디바이스가 존재하지만 점차 사용과 관리가 편한 기기로 시장이 집중되는 경향
- 가상 키보드 보다는 물리적 키보드가 있는 것이 다양한 활용 가능
- 클라우드 기반의 계정관리를 통한 사용자 데이터 복원
- 모든 데이터는 삭제하지 않는 한 보관이 영구적이며, 데이터 제한이 없는 저장소
- 화면잠금장치(Lock in mode)를 통해 현장 온라인 시험을 볼 수 있는 기능 
- 개별 학생의 앱(Applications)을 통제할 수 있는 교사의 통제권 
- 프로그램들은 더 이상 오프라인 기반 하드드라이브에 저장되는 것이 아닌 클라우드 링크로 바로 돌아가는 시스템. 

애플리케이션 및 소프트웨어 부문

- 클라우드 기반의 소프트웨어 제공이 쉬운 환경 조성
- 교육서비스를 제공하는 애플리케이션들이 디지털 교수도구들과 상호호환성을 보장해야 함
- 누구나 교육에 필요한 콘텐츠를 제작하고 관리할 수 있는 콘텐츠 관리도구의 공급 
- 블록체인 기술을 활용한 과정과 결과를 보존하는 e포트폴리오의 신뢰성 강화
- 인공지능 기술을 쉽게 활용할 수 있는 클라우드 기반의 SDK 또는 OPEN API
- 교사의 업무를 자동화 기술로 지원하는 소프트웨어 또는 서비스
- Edge AI 기술적용이 가능한 애플리케이션

교육 서비스 플랫폼 부문

- 누구나 참여할 수 있는 개방형 교육 플랫폼 생태계 필요
- 애플, 마이크로소프트 등 메이저 회사부터 중소 에듀테크 앱까지 자체 생태계로 영역을 확장·지속하려 해 왔으며 지나치게 폐쇄적인 생태계와 디지털 독과점을 자행
- 클라우드 시대에서 더 이상의 시장 확장과 지속성 유지를 힘들게 하고 있음
- 종국에는 사용자들 스스로 기존의 오프라인 툴과 연계성이 너무나 불편하다는 것을 자연스레 알게 되어 기기 뿐만 아니라 플랫폼까지도 갈아타는 중.
- UI(사용자환경) 측면에서 동시성과 연계성을 지녀야 그 범용성은 인정되고 편리한 사용 가능
- 인공지능이 활약하기 위해서는 더욱 편리하고 쉽게 빅데이터를 가용할 수 있는 플랫폼의 주도가 필요

모임에서 사용한 발표자료에 보다 상세한 내용이 있으니 아래 링크를 참고하세요

https://www.slideshare.net/chaeya/os-187603296

 

오픈소스 프로젝트는 이제 더 이상 취미생활로 하던 수준이 아니고 기업에서 목적을 가지고 운영하는 것이 대세입니다.

하지만 기업의 입장에서 보면 오픈소스 커뮤니티의 관리가 생소하고 이 때문에 프로젝트 수행 조직은 오픈소스 커뮤니티의 구축 및 성장을 어떻게 관리해야 하는지 경험이 부족해서 어려움이 많은 현실입니다.

얼마전 공개소프트웨어 연구개발 프로젝트의 관리에 대한 강의를 할 일이 있어서 강의 자료를 작성했는데 그 내용중 오픈소스 커뮤니티의 운영에서 생각해볼 만한 점을 공유합니다.

 

프로젝트의 메인테이너의 필요한 활동

• 프로세스 문서화 - 사용자, 기여자, 개발자를 위한 최신의 문서를 제공

• 공평하게 작성되고 집행되는 규칙 준비 – 프로젝트의 유지관리 상태를 투명하게 공유

• 커뮤니케이션 공개 – 가능한 모든 커뮤니케이션을 공개

• 멘토링 수용 – 품질이 낮은 기여를 제출하는 경우 인내심을 가지고 기여할 수 있도록 지원

• 커뮤니티의 기여자 활용 – 공개적으로 필요한 요청을 제시하고 반복적인 기여자에게 더 많은 책임을 부여

• 다른 사람이 필요한 솔루션 구축을 지원 (API)

• 자동화 도구를 적극 활용 – 모든 제출에 대해 최소 품질 표준을 설정하고 코드 품질 향상을 위한 테스트를 자동화

 

오픈소스 커뮤니티 매니저의 필요한 활동

• 커뮤니케이션이 공개되고 접근 가능한 경우 누구나 과거의 게시물을 읽고 참여 가능한 장소 제공 (커뮤니티 사이트, 포럼, 메일링리스트)

• 개인적인 대화를 공개 채널로 안내해서 전환하도록 유도

• 커뮤니티의 이슈에 대한 빠른 대응 - 48시간 내에 코드 검토를 받은 기여자들은 매우 높은 충성도(모질라 재단 연구)

• 인터넷 상의 다른 곳(Stack Overflow, Twitter, Reddit, Google)에서 프로젝트가 언급될 수 있기 때문에 알림을 받을 수 있도록 설정

• 공개 커뮤니케이션에 대한 보안 문제, 민감한 행동 규범 위반 등의 예외적 상황을 커뮤니티 구성원이 개인적으로 보고할 수 있는 방법 제공

• 행동 규범을 준비하여 나쁜 영향을 미치는 커뮤니티 구성원을 최소화 – 문제가 지속되면 떠나도록 요청해야 할 수 도 있음.

• 커뮤니티 내부에서 기여자를 발굴하기

• CONTRIBUTING.md 파일에서 새 기여자에게 시작하는 방법을 제시

• 기여자를 환경하는 특별한 페이지 준비

• 이슈에 다양한 유형의 제공자에서 적합한 레이블 사용 – good first issue, help wanted

• 친절한 문서를 사용해서 사람들이 모든 단계에서 환영 받는 느낌을 받도록 제공

• 커뮤니티와 최대한 소유권을 공유할 수 있는 방법을 준비 - 사람들은 소유권을 느낄 때 기쁘게 기여합니다.

• 갈등 해결 – 커뮤니케이션에 대한 기준을 설정해서 구성원간 강한 의견이 있는 경우 참여하기 보다는 중재자의 입장을 취할 것

• 투표를 통한 주요 결정을 내리기 보다는 대화를 듣고 토론을 먼저 하기 - 답변 보다는 과정에 집중하는 것이 커뮤니티를 건강하게 만듭니다.

• 커뮤니티 구성원들이 충분히 들을 수 있을 때까지 주요 관심사에 대해 논의합니다.

• 조용한 커뮤니티 사용자를 고려하는 것을 잊지 않아야 합니다.

• 커뮤니티에서 행동의 우선 순위를 식별 – 순위 결정은 최후의 수단으로 사용해야 함, 이 때는 GOVERNANCE 파일에서 순위 결정 및 관련 프로세스를 식별 한 후에 사용

• 커뮤니티 거버넌스 모델은 프로젝트 참여자가 수행할 수 있는 역할과 프로젝트 내 의사결정 프로세스를 설명하고 프로젝트 참여 및 프로젝트 팀 및 커뮤니티 내 의사소통 및 공유 프로세스에 대한 기본규칙을 설명. 

 

오픈소스 프로젝트 관리자의 커뮤니티 관리에 필요한 활동

• 사용자들이 우리 프로젝트를 잘 찾을 수 있는가? 

• 총 페이지 조회수 : 프로젝트를 조회 한 횟수를 알려 줍니다

• 총 순 방문자수 : 얼마나 많은 사람들이 프로젝트를 보았는지 알려줍니다

• 추천 사이트 : 방문자가 어디에서 왔는지 알려줍니 다. 이 측정 항목은 잠재 고객에게 도달 할 수 있는 위치와 프로모션 노력이 효과가 있는지 파악하는 데 도움이 됩니다.

• 인기있는 콘텐츠 : 방문자가 프로젝트에서 방문한 위치를 페이지 뷰와 순 방문자수로 나눕니다.

• 기여자 당 총 기여 수 및 커밋 수  - 기여자 수와 활동중인 사람 수를 알려줍니다. 

• 처음 기여자, 일시적이거나 반복적인 기여자 - 새로운 기여자를 받고 있는지 여부와 그들이 다시 왔는지 여부를 추적 할 수 있습니다. 새로운 기여자가 없으면 프로젝트 커뮤니티가 정체 될 수 있습니다. 

• 이슈 및 요청 수 - 이 수치가 너무 높으면 문제 심사 및 코드 검토에 도움이 필요할 수 있습니다. 

• 컨트리뷰션 유형 : 예를 들어 커밋, 오타 또는 버그 수정 또는 문제에 대한 의견

• 미해결 이슈 및 풀리퀘스트 요청 수 - 누군가 프로젝트를 이슈를 관리해야 한다는 것을 의미합니다. 시간이 지남에 따라 그 수가 증가하면 사람들이 프로젝트에 관심이 있음을 나타냅니다. 

• 이슈 또는 풀 요청이든 관계없이 기여자 (또는 다른 관리자)가 기여에 응답하는 데 걸리는 시간을 추적

 

아래 화면은 오픈소스 프로젝트 하모니카의 모니터링 시스템입니다.

강의자료

https://www.slideshare.net/chaeya/ss-183109697

듀얼 모니터를 사용하는데 각각의 화면 해상도가 적절하게 나타나지 않는 경우가 있는데

이 경우는 아래의 방법으로 수동으로 설정이 가능합니다. (시나몬을 사용하는 하모니카, 우분투, 리눅스민트에서 동일하게 적용됩니다.)

사용중인 해상도를 확인

먼저 자신의 컴퓨터에서 사용중인 해상도를 확인하기 위해서는 xrandr -q 명령을 터미널에서 입력해서 알 수 있습니다.

여러개의 모니터를 사용 중이라면 다음과 같이 명령해서 사용하는 모니터가 모두 표시할 수 있습니다.

xrandr -q | grep -i connected

 

현재 사용중인 모니터의 이름이 제일 앞에 있는 필드이며, 1920x1080 이라고 표기된 부분이 해상도를 나타내는 부분입니다.

만약 정상적인 해상도로 나타나지 않는다면 이 정보를 수동으로 설정하여 제대로된 해상도를 표시할 수 있습니다.

 

모니터 해상도 변경

모니터의 해상도를 변경하기 위해서 다음과 같이 먼저 수동으로 해상도의 변경 가능을 테스트 합니다.

$  xrandr --output HDMI-1 --mode 1920x1080  --primary 

 

정상적으로 변경이 되는 것을 확인하면 이 명령을 윈도우 시작시 구동될 수 있도록 등록해줍니다.

시작프로그램으로 등록하기 위해서 프로그램> 시작 애플리케이션을 실행합니다.

시작프로그램을 다음과 같이 설정해 줍니다.

명령 : xrandr --output <모니터명> --mode <해상도>  --primary

이제 시스템을 재 시작하면 해당 명령어가 구동되어 설정한 해상도로 변경됩니다.

 

Windows 7 지원 종료 알림

 

윈도우 7을 사용하는 많은 분들은 오늘 PC에서 이런 화면을 보셨을겁니다. 윈도우 XP 기술지원이 종료되던 2014년에도 IT업계 뿐만 아니라 타산업에 미치는 영향이 심각해서 이슈가 되었던 기억이 납니다.

2014년 MBC 방송자료

이번에도 기술지원 종료에 대한 대처법들이 나오고 이슈가 당분간 되겠죠.

소비자가 PC를 구매하면 사용할 수 있는 환경이 다양하게 제공되지 않는 이유때문에 일반적으로 PC에 사용가능한 운영체제는 윈도우를 떠올리고 있지만 전 세계에는 다양한 PC 운영체제가 있습니다.  오늘은 무료로 사용할 수 있는 데스크톱 OS는 어떤것들이 있는지 소개해보도록 하겠습니다.

 

 

 

 

 

 

더 많은 이런 PC 운영체제를 검색할 수 있을까요?

-> DistroWatch는 수백개의 데스크톱 OS를 무료로 다운로드 받아 사용할 수 있게 소개하고 있습니다.

 

국내 개방형 데스크톱 OS 사용자를 위한 커뮤니티 하모니카에서 많은 사람들이 이런 이야기를 나누고 있으니 윈도우가 아닌 다른 운영체제를 사용하고 싶은 분들은 참고하세요.

https://hamonikr.org/

 

 

개방형 OS의 정의

윈도우 XP의 기술지원 종료 시점에 IT 업계에서 대체 가능한 OS를 찾아야 한다고 한참 시끄러웠는데 내년 1월 윈도우 7의 기술지원이 종료되는 시점이 다가오면서 또 한번 이슈가 되고 있습니다.

윈도우, MacOS, 티맥스OS 처럼 개발업체에서 OS를 완전히 소유하고 있는 형태를 폐쇄형 OS라고 할 수 있는데 이 경우는 제조사의 기술지원이 종료되는 시점에 매번 윈도우 기술지원 종료와 같은 사태가 벌어지게 될 수 밖에 없습니다. 이 때문에 각 국가들은 특정 기업에 종속되지 않는 독자적인 운영체제를 개발하고자 많은 노력을 기울이고 있지만 운영체제 개발은 많은 예산을 투입하고 오랫동안 지속해야 하는 기술이므로 쉽지 않은 분야입니다.

개방형 OS란 누구든지 소스를 받아 자유롭게 수정 및 배포가 가능한 운영체제를 의미합니다. 때문에 많은 나라들이 독자적인 기술개발 보다는 개방형 OS를 개발하는 방식을 선택하고 있는데 OS의 모든 부분을 독자적으로 개발하는 것이 아니라 오픈소스로 공개된 영역들은 재사용하고 자신의 환경에 적합한 기술들은 개발하여 각 국가에 적합한 개방형 OS를 제작하고 있습니다.

국가별 개방형 OS 배포 현황

개방형 OS는 국가가 주도하고 있는 배포판들 이외에도 글로벌 커뮤니티에서 주도하는 다양한 종류의 배포판이 존재하는데 http://distrowatch.com 에 방문하면 현재 인기있는 다양한 개방형 OS 관련 정보를 확인할 수 있습니다.  또한 distrowatch 는 수백개의 리눅스 배포판에 대한 최신정보를 제공하고 있으며 다양한 조건으로 검색을 제공하므로 원하는 개방형 OS를 검색하기에 용이합니다.

distrowatch.com 검색화면

개방형 OS는 단일 기업에서 제조되는 OS와 다르게 운영체제를 구성하는 기술 레이어별로 각각 다른 지배구조를 가지고 있기 때문에 응용프로그램 자체의 기술 개발보다는 각기 다른 지배구조를 가진 커뮤니티의 배포 요구사항을 식별하고 관리하는 활동이 중요합니다.

개방형 데스크톱 OS 의 지배구조

윈도우나 맥의 경우에는 데스크톱을 사용하는 환경이 제조사에서 결정한 그대로 고정되어 배포되지만, 개방형 OS는 사용자가 원하는 데스크톱 환경(Gnome, KDE, Cinamon, MATe, Unity 등)을 다양하게 선택할 수 있습니다. 개방형 OS는 사용자에게 원하는 방식을 선택할 수 있는 자유로움을 제공하는것을 기본으로 하고 있기에 윈도우나 맥을 계속 사용해온 처음 사용자들은 기존의 환경과 다른 데스크톱 환경에 혼란스러움을 느낄수도 있습니다.

하지만 개방형 OS는 보안 위협이 발생하면 장시간 걸리는 제조사의 업데이트를 기다리지 않아도 전 세계 개발자들에 의해서 패치가 신속하게 이루어지고 있으며, 최신 기술을 선도하며 사용자에게 좋은 프로그램을 꾸준히 제공하여 현재 전 세계의 많은 사람들이 개방형 OS를 사용하고 있는 상황입니다.

https://en.wikipedia.org/wiki/Comparison_of_Linux_distributions

다양한 개방형 OS 의 비교

현재 국내에서 사용가능한 개방형 OS는 글로벌 커뮤니티에서 제공되는 배포판과 하모니카 OS가 있습니다. 우분투, 페도라 같은 배포판을 직접 다운로드 받아서 커뮤니티에 지원을 받으면서 사용하는 방법도 있지만 국내 기업이 기술지원을 하고 있는 하모니카 OS의 경우 2016년부터 국내 공공기관 및 학교, 병무청, 경찰청 등에서 사용하고 있으며 하모니카 사용자를 위한 한국어 커뮤니티 하모니카(https://hamonikr.org/)에서 사용시 궁금한 점을 함께 이야기 하고 있습니다.

하모니카 OS 프로젝트의 구성

정부 주도로 시작한 프로젝트가 종료되어 장시간 정체되어 있던 하모니카는 인베슘이 주도하여 2018년 하모니카 ME 버전을 출시하였으며, 현재 인베슘(https://www.invesume.com/)에서 하모니카 OS의 기술지원을 제공하고, 개방형 OS의 이용환경을 개선하기 위해서 지속적으로 노력하고 있습니다. 

 

참고. 개방형 데스크톱 OS 동향 : https://www.slideshare.net/chaeya/os-139524487

'오픈소스SW' 카테고리의 다른 글

오픈소스 OS 가 윈도우보다 보안에 취약하다? 진짜?  (0) 2020.03.14
무료 데스크톱 OS들  (1) 2019.04.18
오픈소스 커뮤니티 구축  (0) 2018.05.12
오픈소스와 특허  (0) 2017.07.10
공개SW R&D 추진전략  (0) 2017.03.22

오픈소스 소프트웨어는 인공지능(AI), 사물인터넷(IoT), 클라우드 빅데이터 등 다양한 분야에서 4차 산업혁명과 지능정보사회의 핵심 기술로 부상하고 있습니다. 글로벌 시장에서는 구글, 페이스북 같은 글로벌 대기업도 개방형 혁신활동을 중요하게 여기며 이를 위하여 자사의 기술을 외부에 공개하고 오픈소스 커뮤니티를 중심으로 핵심기술을 주도하려는 노력을 하고 있습니다.

전통적으로 기술혁신은 자체적인 우수 인적자원의 확보 및 효율적 내부자원의 활용을 중심으로 조직 내부의 연구개발을 통해 이루어져 왔습니다. 이러한 방식은 아이디어의 발굴에서 기초연구, 제품개발, 사업화에 이르는 모든 기술혁신의 과정을 기업 내부에서 독자적으로 수행하는 것을 의미합니다. 

그러나 기술의 복잡성이 증대하고 제품 수요가 다양해지고 시장경제의 글로벌화가 가속되며 기술혁신의 비용은 급증하는 상황을 맞이하여 조직의 연구개발 생산성을 제고하기 위해 기술혁신 과정에서 외부와 협력하는 현상이 확대되고 있는데 UC버클리 대학의 Chesbrough 교수가 주창한 개방형 혁신(open innovation) 이론에 따르면 개방형 혁신의 개념을 다음과 같이 요약하고 있습니다.

“개방형 혁신은 기업이 안으로의 지식 흐름(inflow)과 밖으로의 지식 흐름(outflow)을 적절히 활용하여 내부의 혁신을 가속화하고 혁신의 외부 활용 시장을 확대하는 것이다. 개방형 혁신은 기업들이 내부 아이디어뿐 아니라 외부 아이디어도 활용할 수 있고, 또 활용해야 하며, 자사의 기술을 상업화하여 시장에 진출할 때 내부뿐 아니라 외부 경로도 사용할 수 있고, 또 사용해야 함을 전제하는 혁신 패러다임이다. 개방형 혁신과정은 내부와 외부 아이디어를 결합하여 아키텍처와 시스템을 구현한다. 이 아키텍처와 시스템에 대한 요구 사항은 비즈니스 모델을 통해 정의된다. 비즈니스 모델은 내부와 외부 아이디어를 활용하여 가치를 창출하고 그 창출된 가치의 일부를 자사의 몫으로 전유하기 위한 내부 메커니즘을 정의한다. 개방형 혁신은 부가가치를 창출하기 위해 내부 아이디어가 외부 경로, 즉 기업의 기존 비즈니스 모델 밖에 있는 채널을 통해 시장으로 나갈 수 있음을 전제한다 (Chesbrough 2006b: 1)” 

이론에 따르면 개방형 혁신은 연구, 개발, 상업화에 이르는 일련의 기술혁신 과정에서 조직 내부와 외부 사이에 일어나는 모든 형태의 지식 교류 활동을 의미하며, 집단 지성을 활용한 지속적인 개선과 사용자 피드백을 반영한 기술혁신이 이루어지는 오픈소스 커뮤니티는 개방형 혁신 활동의 대표적인 예로 볼 수 있습니다.

우리나라도 최근 이런 흐름을 반영해서 전통적인 연구개발을 오픈소스 개발방식으로 진행하려는 오픈R&D에 대한 학교와 기업의 흐름이 증가하고 있죠. 

저는 리눅스 커뮤니티 하모니카(http://hamonikr.org)를 운영하고 있는데 최근에 활발하게 커뮤니티가 성장하고 있으며 현재 하모니카 커뮤니티는 월평균 만명정도의 방문자가 있습니다. [참고] 웹로그 분석 : http://hamonikr.org/board_aMBI05/49687

때문에 저 자신도 오픈소스 커뮤니티 운영에 고민이 있고 그러다 보니 오픈소스 커뮤니티의 구축과 운영을 어떻게 하면 좋을지에 대한 현장의 고민을 자주 듣습니다. 

오늘은 오픈소스 커뮤니티를 구축하고 운영하는데 무엇이 필요할지 정리해 보겠습니다.


오픈소스 커뮤니티 현황 

오픈소스 커뮤니티[5]란 누구에게나 프로그램의 소스코드에 대한 동등한 접근을 보장하고 책임과 권한을 공유하며 지속적인 개발자와 사용자의 기여에 의해서 프로젝트가 변하는 커뮤니티를 의미하며, 오픈소스 커뮤니티를 기반으로 형성되는 소프트웨어 개발 모델은 소프트웨어 릴리스를 위한 활동을 중심으로 형성되는 개발자 커뮤니티와 공개된 소프트웨어에 대한 테스트, 버그 제출, 의견 제시 등을 중심으로 형성되는 사용자 커뮤니티가 존재합니다.


그림 1 Open Source Development Model


정보통신산업진흥원의 최근 조사 자료에 의하면 전 세계 대표적인 오픈소스 소프트웨어의 소스코드 저장소인 깃허브(Github)에서는 약 38만 건의 프로젝트 개발이 활발히 진행 중이며, 약 2,000만 명이 약 16만 개의 오픈소스 커뮤니티에서 소프트웨어 개발 및 프로젝트 기여를 위해 사용자․개발자로 참여하고 있다고 합니다. 이에 비해 국내의 경우 총 248개의 오픈소스 커뮤니티가 운영중인 것으로 파악되어 글로벌 대비 0.1% 수준의 규모이며 그 중에서도 사용자 커뮤니티 214개(86%), 개발자 커뮤니티 34 개(14%)로 국내 오픈소스 커뮤니티의 다수는 오픈소스의 사용자 커뮤니티로 조사되었습니다. 


조사 결과에 따르면 해외에서는 여러 재단을 중심으로 커뮤니티에서 오픈소스 프로젝트의 개발 참여와 기여가 활발하지만 국내에서는 개발에 참여보다는 오픈소스 커뮤니티가 제공하는 결과물을 활용하거나 사용법을 묻는 것이 대부분으로 나타났으며 또한 국내 오픈소스 커뮤니티 중 해외 오픈소스 커뮤니티와 프로젝트를 공유하거나 국제 행사 참가를 통해 교류중인 커뮤니티는 14개로 파악되었습니다. 국내의 오픈소스 생태계는 생산자 관점의 오픈소스 커뮤니티 활용이 매우 저조한 실정임을 알 수 있습니다. 따라서 향후 국내 기업의 오픈소스 커뮤니티 기반 개방형 혁신을 확산하기 위해서는 현재의 사용자 커뮤니티 중심의 국내 오픈소스 커뮤니티를 글로벌 개발자 커뮤니티와 상호 협력할 수 있도록 지원하는 노력이 필요하다고 생각합니다.


오픈소스 커뮤니티의 구축 


직접 오픈소스 커뮤니티를 구축하기 전에 먼저 원하는 공개하려는 소프트웨어와 유사한 관심사에 대한 커뮤니티가 국내·외에 이미 존재하는지 검색하는 것이 중요합니다. 

만약 동일한 관심사의 커뮤니티가 이미 존재하는데 새로운 커뮤니티를 형성하려고 하면 참여자들의 커뮤니티의 신규 생성에 대한 당위성을 설득하기 어려우며 기존의 다른 오픈소스 커뮤니티의 지지를 얻기 힘들기 때문입니다. 따라서 만약 유사한 관심사를 다루는 오픈소스 커뮤니티가 이미 존재한다면 별도의 커뮤니티를 생성하여 새로운 기반을 형성하는 것 보다는 해당 커뮤니티에 참여하여 협업하는 것이 가장 좋습니다.

이 경우에는 이미 오픈소스 커뮤니티 활성화의 기반이 존재하기 때문에 공개하려는 소프트웨어를 해당 커뮤니티의 사용자들이 사용할 수 있도록 해당 기능을 추가로 제안하여 기존 공개된 소프트웨어의 기능을 강화하는  방식의 접근이 필요합니다.

기존의 커뮤니티 중 공개하려는 소프트웨어와 유사한 관심사를 가진 커뮤니티가 없는 경우 새로운 오픈소스 커뮤니티는 생성하게 되는데, 이렇게 생성되는 오픈소스 커뮤니티의 성장 단계는 Tech-nical Stage, Open Source Stage, Ecosystem Stage의 세 가지 단계로 구분할 수 있습니다.


그림 2 오픈소스 커뮤니티 성장단계


Technical Stage

Technical Stage는 오픈소스 커뮤니티의 참여자들 중 개발자들 보다는 사용자들을 대상으로 공개한 소프트웨어의 바른 사용 방법과 권한을 제공하는 것에 중점을 두는 단계이며 이 단계에서는 공개한 소프트웨어의 라이선스를 컴포넌트 별로 식별한 소프트웨어 라이선스 프레임워크를 통해 프로젝트의 라이선스 정책을 사용자들에게 배포하고 공개한 소프트웨어의 기능을 확인할 수 있는 프로그램 데모를 제공하는 것이 필요합니다. 프로젝트를 소개할 수 있는 웹사이트, 제공하는 소스코드를 다운로드 할 수 있는 공개된 저장소, 의사 소통을 위한 메일링 리스트와 커뮤니케이션 채널, 프로그램의 버그를 추적관리 할 수 있는 버그 트래킹 도구, 각종 문서를 쉽게 작성해 공유할 수 있는 문서화 도구 등이 필요하게 되며 사용자들이 공개된 소프트웨어를 활용할 수 있는 범위와 사용에 따르는 책임을 명확하게 인지할 수 있도록 준비해야 합니다.


Open Source Stage

Open Source Stage는 오픈소스 커뮤니티에 참여하는 사용자와 개발자를 대상으로 잘 구성된 오픈소스 커뮤니티 거버넌스 모델을 구축하는 데 중점을 두는 단계이며 이 단계에서는 커뮤니티 참여자들에게 프로젝트의 구조를 쉽게 설명하는 문서를 준비하고, 프로젝트의 로드맵을 제시하게 됩니다. 또한 커뮤니티 참여자가 어떻게 참여할 수 있는지를 개발자와 사용자로 구분하여 자세히 알려주고, 커뮤니티 내 분쟁이 일어나거나 의사결정이 필요할 때 어떤 방식의 의사결정과정을 따르게 되는지를 투명하게 공개해야 합니다.

오픈소스 커뮤니티의 전략적 방향에 따라 수많은 유형의 거버넌스 문서가 필요할 수 있으나 일반적인 오픈소스 커뮤니티 거버넌스 문서에 포함되어야 하는 공통적인 요소는 다음과 같습니다.

    • 개요 (overview)

    • 역할과 책임 (roles and responsibili-ties)

    • 지원 (support)

    • 기여 과정 (contribution process)

    • 의사결정 과정 (decision making pro-cess)


Open Source Stage 단계에서는 커뮤니티 참여자들의 역할과 책임에 따른 운영 조직이 구성되고 커뮤니티 운영 조직과 커뮤니티 참여자 간 투명한 합의를 기반으로 커뮤니티 운영이 이루어져야 합니다. 이를 위해서 프로젝트 마일스톤과 릴리스를 관리할 수 있는 프로젝트 관리도구, 개발자 및 사용자를 위한 포럼, 이슈관리, 자동화 빌드, 소프트웨어 품질 가시화, 문서 협업 도구 등이 필요하며 외부의 참여자들이 프로젝트에 어떻게 기여할 수 있는지 자세히 안내하는 문서를 준비하고, 커뮤니티의 참여자들과 지속적으로 소통을 유지하는 것이 중요합니다 


Ecosystem Stage

공개한 소프트웨어의 사용자의 수가 늘어나고 오픈소스 커뮤니티가 성장하면서 커뮤니티 참여자들에 의한 사용자 지원으로는 기업 사용자들이 요구하는 서비스 수준을 제공하지 못하는 문제가 발생하게 되는데 Ecosystem Stage는 오픈소스 커뮤니티의 확산과 지속가능성을 보장하기 위하여 공개한 소프트웨어를 이용하여 비즈니스에 활용하는 기업 멤버들과 다른 오픈소스 커뮤니티와 함께 상생협력을 중점으로 운영하는 단계입니다. 따라서 이 단계에서는 프로젝트를 지원할 수 있는 기업들로 구성된 비즈니스 협의체가 조직되고 공식 기술지원 파트너 기업이 커뮤니티에서 홍보되어 기업에서 공개된 소프트웨어를 사용하기 위한 신뢰성을 제공할 수 있도록 커뮤니티에 참여하는 기업들을 중심으로 긴밀한 관리가 필요합니다.

이클립스 재단의 경우 다음과 같이 사용하는 프로젝트의 파트너 기업들이 제공하는 제품을 소개하는 마켓플레이스를 직접 운영하며, 활용 사례를 소개하고, 공식적인 기술지원이 가능함을 홍보하여 프로젝트의 신뢰성을 확보하고 있습니다.


그림 3 Eclipse Foundation Marketplace


이처럼 오픈소스 커뮤니티가 원활한 지속적 운영을 보장하기 위해서는 공개한 소프트웨어를 기반으로 기술지원을 제공하는 파트너 기업을 발굴하고 기업 멤버를 커뮤니티에 흡수하여 커뮤니티의 발전방향이 커뮤니티 참여 기업의 비즈니스 전략에 영향을 미치는 관계가 형성되어야 자연스럽게 커뮤니티 지속을 위한 재원 확보가 이루어지고 향후 공개한 오픈소스 프로젝트를 중심으로 성공한 재단의 형태로 성장하는 것을 기대할 수 있습니다.


오픈소스 커뮤니티의 운영 


오픈소스 소프트웨어 프로젝트 및 커뮤니티 운영이 성공하기 위하여 가장 중요한 요소는 투명성과 문서화를 꼽을 수 있습니다. 

투명성은 프로젝트 관련하여 참여하는 사람들과 외부 참여자들에 대한 프로젝트 관련 도메인 및 기능을 어떻게 유지할 것 인가에 대한 명시를 의미하는데 오픈소스 소프트웨어의 특성상 투명성의 유지는 대단히 중요할 뿐 만 아니라, 기업에 의해서 주도되는 오픈소스 소프트웨어라면 투명성의 확보는 해당 오픈소스 소프트웨어 커뮤니티의 운명을 쥐고 있는 열쇠라고 해도 과언이 아닙니다. 

어떤 오픈소스 소프트웨어 개발자들도 보이지 않는 장막 뒤에서 펼쳐지는 오픈소스 소프트웨어에 참여하고 싶은 사람은 없으며 특히 기업이 오픈소스 소프트웨어 전환을 시도할 경우, 그 동안 기업 내부의 습관에 의해 투명성을 소홀히 하고 내부 프로세스를 공개하지 않는 경우가 있는데, 그런 경우 커뮤니티를 활성화하기란 매우 어려우며 오픈소스 소프트웨어 커뮤니티로의 전환의 실패로 이어질 확률 또한 매우 높습니다.

오픈소스 커뮤니티에 투명성이 필요한 요소는 공개한 소프트웨어의 비전, 로드맵, 릴리스 계획, 형상관리 계획, 커미터 자격 조건, 새 기능 추가 또는 소프트웨어 패치의 제출 과정 등이 대상입니다. 

오픈소스 커뮤니티 운영의 다른 한가지 중요한 요소는 문서화입니다. 실제로 오픈소스 소프트웨어는 자발적으로 참여하는 사람들이고 개발자 위주로 돌아가는 생태계이기 때문에, 문서화에 소홀하게 되는 경우가 많습니다. 

커뮤니티의 운영을 위해서 공개한 소프트웨어 자체에 대한 문서화와 오픈소스 커뮤니티의 구조 및 프로세스에 대한 문서화도 포함하여 작성해야 합니다. 문서를 통해서 커뮤니티 거버넌스 모델 명시, 커뮤니티 구조 및 프로세스 명시뿐만 아니라, 해당 소스코드에 대한 문서화도 명확하게 해두어야 많은 사람들이 참여하여 오픈소스 소프트웨어 커뮤니티를 활성화 시키게 되기 때문에 커뮤니티에 참여하는 개발자 및 사용자들이 쉽게 이해하고 도움을 받을 수 있으며, 참여자들이 쉽게 편집할 수 있는 수준의 문서화를 제공하는 노력이 중요합니다.


마치며


해외의 경우 Apache, Eclipse, Openstack, Linux 등 다양한 오픈소스 재단이 설립되어 클라우드, 빅데이터, 인공지능 등 분야에서 핵심 기술을 주도하고 있는데 비해 국내에서는 공개된 소프트웨어를 가져다 쓰는 사용자 커뮤니티를 중심으로 오픈소스 커뮤니티가 형성되어 있으며 글로벌에 영향력이 있는 개발자 커뮤니티는 찾아보기 힘든 실정입니다.

최근 우리 정부는 국가의 ICT R&D 경쟁력 강화를 위한 지속적인 정책적 노력과 집중 투자에도 불구하고, 창의적․선도적 혁신역량 제고와 성과확산에 한계를 인식하고 개방형 혁신의 장점을 반영한 핵심 원천기술의 오픈R&D를 추진하여 미래 유망기술을 글로벌 시장에서 선도하고 연구개발 결과물의 활용도를 제고하기 위하여 노력하고 있으나 외부의 참여자들과 협력하는 오픈소스 커뮤니티 기반의 개방형 혁신에 익숙하지 않은 연구기관들은 체계적인 관리모델의 부재로 인한 혼란이 가중되고 있습니다. 

오픈소스 커뮤니티를 중심으로 세계시장 기술 경쟁력 기반확보를 위해서 정부에서는 오픈소스 생태계를 이해하고 소프트웨어 기술 연구개발을 오픈소스 프로젝트를 방식으로 전환하고 오픈소스 커뮤니티를 통한 사용자 저변이 확산될 수 있도록 지속적인 노력을 기울여야 하며 기업의 경우 오픈소스 커뮤니티에 참여하는 내부 개발자에 대하여 비판적인 시각에서 벗어나 글로벌 오픈소스 프로젝트의 참여와 기여는 기업의 우수한 기술력을 홍보하는 효과적 수단임을 인식하고 내부 개발자의 오픈소스 커뮤니티 참여 활동을 적극 권장하고 기업의 비즈니스 전략에 오픈소스 커뮤니티와 연계한 개방형 혁신을 위한 노력이 필요합니다.


참고문헌

  • 김석관 : Chesbrough의 개방형 혁신 이론. 과학기술정책, 2008 

  • OW2 : open source software the governance makes the difference. https://www.slideshare.net/OW2/open-source-software-the-governance-makes-the-difference, 2015

  • 조재홍 : 공개SW 소비국을 넘어 기여국으로 성장을 위한 제언. NIPA, 2018









'오픈소스SW' 카테고리의 다른 글

무료 데스크톱 OS들  (1) 2019.04.18
개방형 데스크톱 OS 동향  (0) 2019.04.05
오픈소스와 특허  (0) 2017.07.10
공개SW R&D 추진전략  (0) 2017.03.22
해외 기업들의 오픈소스 활용 비즈니스 전략  (0) 2016.10.27

+ Recent posts