오늘 proxmox 구축을 하다가  헤놀로지 부트로더 개발자의 깃허브 저장소가 없어진것을 확인했습니다.

개발자가 저장소를 더 이상 제공하지 않기로 결정했다는데 자세한 내용은 아래 링크에 참고하실 수 있습니다.

https://www.2cpu.co.kr/nas/44055

이 글을 읽으면서 저도 오픈소스를 개발하고 배포하는 입장에서 여러가지 생각이 들어서 생각을 정리해봅니다.

 

 

Heartbleed 보안 취약점 사건에 대해서 들어보셨나요? 

이 사태는 2014년에 발생한 중요한 보안 취약점 사건입니다. OpenSSL 소프트웨어에서 발견된 이 취약점은 암호화된 통신 중에 사용자 데이터를 노출시킬 수 있는 위험이 있었습니다.  카드결제, SSL인증서 등에 사용되는 필수 라이브러리이기 때문에 이 사건은 많은 웹 사이트와 서버에 영향을 미쳤으며, 사용자 정보가 유출될 수 있는 위험을 야기했습니다.

이 개발팀의 내부를 들여다보면 얼마나 오픈소스 개발자들이 힘들게 희생하는지 알 수 있습니다. 

이 사고 이전까지 OpenSSL은 일년에 2,000달러(약 260만원)으로 유지되고 있다가, 문제가 생긴후 지금은 9,000달러(약 1100만원)의 기부금으로 운영되고 있습니다. OpenSSL 개발팀은 프로젝트 유지에 상시 개발자 6명 정도가 필요하지만, 프로젝트 지속할 비용을 충당하기 위해 다른 개발 계약을 계속하고 있다고 합니다.

아래 글에서는 오픈소스 개발자들이 자신의 소프트웨어가 수익성 있는 상업 제품에 사용되는 동안에도 아무런 보상없이 무료로 일하는 어려움을 다루고 있으니 한번 읽어보세요. 

https://techcrunch.com/2022/01/18/open-source-developers-who-work-for-free-are-discovering-they-have-power/

또 다른 예로 curl 명령을 자주 사용하실텐데, 이 명령어가 25년 동안 다니엘 스타인버그라는 개발자 한명에 의해 무료로 유지되고 있는것을 아시나요? 만약 cURL처럼 수백만 대의 기기에 라이브러리로 사용되는 프로젝트들이, 만약 개발자가 지원하는 것에 스트레스를 받아서 배포를 중단하기로 결정한다면 어떻게 될까요?

많은 사용자들과 기업들은 오픈소스를 자신의 제품이나 서비스에 많이 사용하지만, 오픈소스 소프트웨어가 무료로 제공되는 노력과 그 뒤에 있는 개발자들의 기여를 간과합니다. 

또한, 오픈소스 프로젝트는 종종 소수의 개발자들에 의해 유지되지만, 이들의 노력은 상업적인 가치와 비교할 때 충분히 인정받지 못합니다. 

오픈소스 공동체의 지속 가능성을 위해서는 오픈소스 사용자들이 이러한 개발자들에 대한 적절한 인정과 지원이 필요합니다. 

오픈소스 사용자는 공동체를 지속가능하게 하기 위해서 오픈소스 프로젝트에 대한 책임감 있는 태도를 가져야 합니다. 

책임감 있는 태도란 특정 프로젝트를 사용하고 있다면 프로젝트에 대한 적극적인 참여, 버그 리포트 및 피드백 제공, 커뮤니티 활동 참여, 후원 등을 포함합니다.

개발자들의 노력을 존중하고, 그들의 작업에 대한 가치를 인식함으로써, 오픈소스 생태계의 건강과 지속 가능성을 지원하는 것이 중요합니다. 

이러한 상호 존중과 협력은 오픈소스 커뮤니티의 성장과 발전에 필수적이라고 생각합니다.

결국 오픈소스 세계에서는 서로 돕고 존중하며 모두가 '함께' 즐길때 오픈소스 커뮤니티가 진정으로 번창할 수 있으니까요!

전통적으로 기술 혁신은 내부 연구개발(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 이상
 

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

최근 개방형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

 

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

최근 국가연구개발사업이 오픈R&D 형식으로 전환되는 움직임이 많아지면서 기존의 연구개발방식을 수행하던 사람들이 여러가지 질문을 하는데 그 중 자주 묻는 질문이 "오픈R&D를 하면 특허는 어떻게 하나요"라는 질문이다.

이 질문에 대한 결론부터 말하자면 "오픈소스로 배포하는 기술이라도 특허는 등록할 수 있다"이다.

이에 관련하여 공개SW역량프라자에서 얼마전 배포한 오픈소스 라이선스 해설서를 보면 다음과 같이 설명하고 있다.


우선 오픈소스 소프트웨어 진영에서는 모든 프로그램을 자유롭게 사용할 수 있도록 한다는 철학이기 때문에 특허를 반기지 않는다. 많은 오픈소스 커뮤니티는 소프트웨어의 일부 아이디어를 해당 특허로 등록한 후 특허 소송에 관여 시켜 소프트웨어 사용을 막아 수익을 올리려 하거나, 오픈소스 소프트웨어 개발을 법적으로 금하게 하는 특허, 오픈소스 개발자의 오픈소스 원칙을 약화 시키는 특허 등록에 대해서 걱정한다.

그러나 소프트웨어 특허에 대항하려는 오픈소스 소프트웨어 커뮤니티의 시도와 관계없이 소프트웨어 특허법은 존재하는 것이 현실이며 법을 준수하려면 특허 제약사항을 알고 대응해야 한다. 오픈소스 라이선스들은 이 필요성을 인식하고 존중하는 입장이며 오픈소스 라이선스들의 전문에는 특허조항이 권한부여 또는 권한취소에 대하여 여러 문장으로 표현되어 있다.

• 권한부여 라이선스(granting license)의 문맥에는 소프트웨어 일부분에 기여하고 배포하는 행위는 기여자, 배포자의 모든 특허가 전체 소프트웨어(다소 깊게 내포된 라이브러리를 포함) 사용에 필요한 “주어진 자유”라는 상황을 불명확하게 유발한다는 점을 고려해야 한다는 내용이 있다. 따라서 특허 포트폴리오의 핵심 특허 일부가 특허조항에 의해 피해를 받는지, 그리고 이에 따라 해당 오픈소스 소프트웨어 일부를 사용 또는 배포하지 말아야 하는지를 점검하고 싶다면 삽입된 라이브러리 역시 반드시 점검해야 한다.

• 권한부여 라이선스의 문맥에는 특허조항에 근거하여 ‘배포된 소프트웨어를 사용 가능하게 하기 위한 사용을 허용한다.’는 취지로 특허 사용만 허가되는지를 고려해야 한다. 특허조항은 일반적으로 특허를 양도하지 않는다. 이 때문에 오픈소스 소프트웨어에 의해 (고의적이지 않은) 특허 양도의 위협이 크지 않을 때(특허의 사용이 단지 소프트웨어의 결합에서만 부여되는 경우)도 있다. 특허 사용은 소프트웨어와 결합될 때만 권한이 주어진다. 한편 오픈소스 소프트웨어가 대규모의 프로세스에 내포 여부에 상관없이 오픈소스 소프트웨어를 사용하기 위해서는 특허 사용이 필요하기 때문에, 특허 사용 권한을 얻지 못하고는 오픈소스 소프트웨어를 사용하지 못할 수 있다. 반면 오픈소스 라이선스에 근거하여 허가된 오픈소스 소프트웨어가 없이 오픈소스 라이선스의 특허조항에 의해 양도된 특허를 사용할 수는 없다. 그 이유는 특허조항만이 오픈소스 소프트웨어 사용가능 여부를 나타내기 때문이다.

• 권한취소 라이선스에 의한 취소 형태는 어떤 경우에는 소프트웨어 사용 취소를, 또 어떤 경우에는 특허 사용 취소를 나타내는 것인지를 언급해야 한다. 그러나 자비로운 오픈소스 소프트웨어 사용자의 실용적 관점에서 볼 때 두 번째 경우의 특허 취소는 암묵적으로 소프트웨어 사용 권한을 해지한다고 판단할 수 있다. 특허 사용이 소프트웨어의 일부분을 법적으로 사용하기 위해 필요하다면 역시 특허 사용 권한을 갖지 않고 소프트웨어 사용이 허용될 수는 없다(그리고 특허 사용이 소프트웨어를 사용하는데 필요하지 않다면 이 특허는 특허조항이 적용되지 않는다). 따라서 이 유형의 특허조항은 소프트웨어 사용/배포 또는 수정하는 권한을 해지하는 것으로 보인다. 이런 이유로, 기업 또는 조직뿐만 아니라 단일 사용자들은 오픈소스 소프트웨어를 확실히 법률을 준수하면서 사용하고자 한다면 그런 특허조항을 중시해야 한다.

• 따라서 오픈소스 기여자와 배포자는 오픈소스 라이선스를 허가하는 것이 법적으로 소프트웨어를 사용하는데 필요한 모든 권한을 명시하지 않으면서도 저절로 허가하고 있는지, 권한취소 라이선스의 경우, 특허조항에 금지로 이해될 수 있는 부정적 조건이 있는지 고려해야 한다. 



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

개방형 데스크톱 OS 동향  (0) 2019.04.05
오픈소스 커뮤니티 구축  (0) 2018.05.12
공개SW R&D 추진전략  (0) 2017.03.22
해외 기업들의 오픈소스 활용 비즈니스 전략  (0) 2016.10.27
오픈소스 거버넌스  (0) 2016.09.29

4차산업혁명이라는 단어가 정치, 마케팅, 기술 등 분야를 가리지 않고 확산되면서 국가 전체의 화두가 되어있습니다. 그러다보니 여러부처의 지원사업들이 4차산업혁명을 동반하고 쏟아지고 있죠.


4차산업혁명에서 활용가눙한 공개SW 기술이 다양하게 존재하는 덕분에, 여러 지원사업에서 공개SW라는 단어를 종종 만나게 되고, 요몇일동안은 공개SW R&D 추진전략에 대한 의견을 전달하게 되었습니다. 


다들 연구개발 지원사업을 오랫동안 해 온 전문가들 이지만, 공개SW R&D의 유형은 일반적인 연구개발의 유형과는 다른 특징을 가지게 되고 준비해야하는 내용도 다를 수 밖에 없습니다. 이번에 의견을 전달하면서 달라진 연구개발의 요구사항에도 불구하고 사업계획을 준비할 수 있는 기초 정보가 부족해서 많은 분들이 어려움을 겪는 것을 알게 되었고 그 과정에서 자료를 좀 정리해야할 필요성을 느끼게 되어서 새 글을 작성합니다.



https://www.slideshare.net/AhmadRb/iem2014-foss


일단 정부의 지원사업에서 공개SW R&D를 한다는 취지를 생각해보면, 1) 사업을 수행하는 동안 기존의 인하우스 개발방식이 아닌 참여와 공유를 통한 공개SW 개발방식을 경험하면서 공개SW 기술의 역량이 축적되고 2) 열심히 노력한 사업의 결과물을 공개SW로 누구나 사용할 수 있게 배포함으로서 산업 활성화에 기여하는 것을 기대하는 것이라 생각합니다.


먼저 지원사업을 발주하는 입장에서는 사업의 선정지표에 공개SW R&D에 대한 준비가 가능한 평가항목을 좀 더 구체화해야 할 것 같습니다. 단순히 '공개SW R&D에 대한 추진방안' 정도로 표현하면 공개SW R&D 사업의 경험이 없이 사업을 준비하는 입장에서는 의도를 파악하기가 어렵습니다. 따라서 어떤 지원자가 참여하면 좋을지 생각하고 있는 의도를 표현할 수 있도록 보다 구체적인 서술을 포함하는 것이 좋겠습니다. (공개SW에 대한 이해, 공개SW R&D 환경, 결과물의 공개SW 라이선스와 배포 방안, 공개SW R&D 관련 경험 등)


뿐만 아니라, 사업의 결과 평가 시점에서도 공개SW로 배포될 결과물에 대하여 평가할 항목을 선정하여 공개SW로 배포되는 사업결과물의 활용을 극대화 하려는 노력이 필요해 보입니다. 공개SW는 특성상 공개SW 커뮤니티를 통하여 배포되고 성장하기 때문에 다운로드수, 홈페이지 방문자수 같은 수치가 아닌 여러가지 공개SW 고유의 지표들을 이용할 수 있고, 공개SW 자체에 대한 성숙도 평가를 하고자 하는 시도 역시 Qualipso OMM, OpenBRR, QSOS, 공개SW 성숙도 및 적용성 평가지침 등이 존재합니다. 따라서 사업의 평가 시점에도 이를 반영하기 위한 노력이 필요하다고 생각됩니다.


또한 사업을 지원하는 입장에서는 어떠한 공개SW R&D 방식을 사용할지, 개발환경은 어떻게 준비할지, 개발과정에서 외부의 참여를 받아들일 준비는 어떠한지, 커뮤니티화 운영을 할때 필요한 거버넌스는 준비되어 있는지, 배포할 결과물에 대한 라이선스 관리전략은 무엇인지 등의 고민을 사전에 해보고, 특허나 기술이전으로 실적을 이야기하던 방식에서 벗어나 공개SW의 특성을 반영한 활용방안과 비즈니스 가능성을 고민하여 제시하는 노력이 필요합니다.


공개SW산업에서 일을 하는 입장에서 보면, 기존의 정부지원사업에서 혁신을 가져온 공개SW R&D 방식 시행되는 것을 대단하게 생각하고 있습니다. 여러가지 부정적인 결과들을 예상할 수 도 있지만, 그 또한 변화의 긍정적인 신호라고 생각합니다. 어찌되었던 이런 좋은 의도의 지원사업을 통해 많은 사람들이 쉽게 기술에 접근해서 아이디어를 구현해보기 좋은 세상이 되었으면 좋겠네요.

최근 해외 기업들의 오픈소스 활용을 어떻게 하는지 살펴보면 모든 기업이 오픈소스 모델의 다양한 가치를 인식하고, 오픈소스 커뮤니티에 적극적으로 참여하고, 오픈소스 기반의 비즈니스 모델을 발견하려는 노력이 점차 강화되는 추세입니다. 이번에 자료를 정리하면서 여러 기업의 비즈니스 전략을 구분해 보았습니다.



기업들의 오픈소스 활용 전략들을 살펴보면 크게 4가지 유형으로 구분할 수 있습니다


1) 자사의 기술이나 서비스를 오픈소스 모델로 전환하여 타사와 경쟁할 수 있는 파괴적 전략으로 채택

2) 고객의 제품이나 서비스의 완성을 위한 전문성을 오픈소스 모델로 지원하는 전략

3) 오픈소스 개발, 배포모델을 기업 비즈니스 목표 달성을 위해 활용하는 전략

4) 오픈소스의 부가적인 가치를 기업 경영에 활용하는 전략


 

1) 전통적 SW개발 기업이 자사의 기술이나 서비스를 오픈소스 모델로 전환하여 타사와 경쟁.

 

- 듀얼 라이센싱 모델이나 코어 오픈모델을 사용하는 등 지적산출물에 대한 접근 통제를 가치로 파는 전략

- MySQL과 sleepycat(버클리 DB)가 듀얼 라이센싱으로 유명. 즉, GPL 버전은 무료로 쓰지만, non-GPL버전을 쓰려면 돈을 내야 한다. 소프트웨어를 Embed 해서 재판매 하려는 회사에 해당된다.

- Xen, SugarCRM 과 같은 회사에서는 코어 오픈모델을 사용. 즉, 코어는 공짜로 풀고 부가기능은 돈을 받고 파는 모델이다. 여기서 “판매가치”는 “특화 기능 (Differentiated Features)”들이 만들어 낸다.

- 보통 듀얼라이센싱을 하기 위해서는 오픈소스에 대한 판권을 가져야만 한다. 즉, 코어 개발자를 직접 고용해야 한다는 것을 의미한다. 즉, 개발력이 내재화되어 있으면, 코어를 오픈소스로 풀기도 하고 GPL버전을 만들어서 뿌리는 것도 자유롭다.

 

2) 전통적인 SW개발 모델이 아닌, 고객을 위한 분산된 컴포넌트의 통합을 교육훈련과 지술지원으로 돕는 오픈소스 전문 비즈니스 전략

 

- 소프트웨어 회사들은 자사의 개발과 산출물들이 조직 밖으로 나와도, 여전히 회사가치가 남아 있는가에 대한 불안이 존재한다. 하지만 Dixon, Pentaho, RedHat, OpenGeo 등의 회사들은 오픈소스 커뮤니티가 만들어내는 소프트웨어를 팔릴만한 물건으로 만들기 위해 가치를 더해줌으로써 선순환 구조를 완성시킨다. 그리고 그 이익으로 다시 개발자와 스태프를 고용하고 오픈소스 커뮤니티가 새로운 가치를 계속 만들어내도록 지원한다.

- 이런 기업들은 실질적인 코어 개발자들을 물리적으로 보유함으로써 지적 자산을 보호해준다.

 

3) 오픈소스 개발, 배포모델을 기업 비즈니스 목표달성을 위해 활용

 

- 기업의 이익을 위해 선별적으로 오픈소스 소프트웨어를 선택하는 이른바 체리 피킹(cherry-picking:선별적 경쟁) 전략을 의미.

- 근간 기능(Commodity Features)은 소프트웨어의 프레임워크으로 뼈대를 형성하는 것이므로 전체 소프트웨어의 중요 부분을 차지하는 경우가 많다. 일반적으로 근간 기능(Commodity Features)은 비용과 시간 절감 및 OSS 사용층 유입의 장점이 있기 때문에 OSS로 구현되는 경우가 많다. (예) 빅데이터 플랫폼 Apache Hadoop)

 

4) 오픈소스의 부가적인 가치를 기업 경영에 활용

 

4-1) 오픈소스에 대한 공유와 협업으로 기업 이미지 마케팅 가시성 확보

 

- 최대 규모의 사유 소프트웨어 기업인 MS조차도 다양한 오픈소스 기여 활발하게 진행 중


아직 관련 매출을 발표한 적이 없음에도 불구하고 오픈소스 계획을 발표한 후로는 1억 달러로 우리가 얻을 수 있었던 것보다 더 많은 마케팅 가시성을 확보하게 됐다. - 아이오나 CEO 피터 조토(Peter Zotto)

 

4-2) 기업 내 조직운용의 실용성을 오픈소스를 통해 확보.

 

- 중소 벤처기업 아라스(Aras)는 MS기술로만 작성된 자사의 PLM(Product Lifecycle Management)기술을 오픈소스화 한 이후 영업직을 없애고 그 자리에 고객의 중요한 요구사항에 대한 서비스를 제공할 애플리케이션 엔지니어들을 추가했다.

 

4-3) 오픈소스를 활용한 소프트웨어 개발의 변화

 

- 오픈소스는 소프트웨어 산업에서 오랜 시간 논의 되었던 재사용, 재공학 등의 문제를 신뢰도 높은 소프트웨어의 재활용, 개발자의 전문성 강화, 오픈소스 개발프로세스의 활용 등 상당 부분 해결해주고 있다.

- 기업들은 공유와 협업이라는 오픈소스 문화의 적극적 도입으로 소프트웨어 개발 문화도 애자일, 린 개발법 등 다양하게 변화되고 있다.

 

최근의 기업 동향을 살펴보다 느끼는 점인데 예전과는 참 많이 달라진 모습이더군요. 저는 오픈소스가 시장에서 점점 더 많은 역할을 할 것을 기대하는 쪽이라 이런저런 재미있는 생각을 많이 하고 있습니다. 개발자에서 출발해서 지금은 개발보다는 다른 일을 더 많이 하는 자리가 되었지만 초심을 잃지 말고 제 나름대로의 방식으로 보다 좋은 세상을 위해서 기여하며 살고 싶다고 생각해봅니다.


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

오픈소스와 특허  (0) 2017.07.10
공개SW R&D 추진전략  (0) 2017.03.22
오픈소스 거버넌스  (0) 2016.09.29
공개SW 개발자대회 멘토링 이야기  (0) 2014.08.03
Vagrant 이용한 LAMP+Tomcat 개발환경구축  (0) 2013.11.04

+ Recent posts