이 문서는 최근 대두되는 개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축하기 위하여 필요한 요소를 알아봅니다. 다양한 핵심 산업에서 사실상의 표준으로 자리잡은 많은 오픈소스 프로젝트들을 중심으로 성공적인 오픈소스 프로젝트로 가능 여정에 어떤것이 필요한지 이야기합니다.
2. CONTENTS
• 개방형 혁신 연구개발
• 개방형 혁신 연구개발 프로젝트 로드맵
• 오픈소스 연계 표준화 동향
• 오픈소스 프로젝트 거버넌스 구축을 위한 라이브러리
2
3. 소개
현) 개방형 OS 하모니카 프로젝트 리더 / ㈜인베슘 대표이사
- 한국정보통신기술협회(TTA) 공개소프트웨어 표준화 분과위원
- 한중일 오픈소스활성화 포럼 표준화분과 한국위원
• 공개SW 분류 체계 및 프로파일: TTAK.KO-11.0110
• 공개SW 성숙도 및 적용성 평가 지침: TTAK.KO-11.0133/R1
• 공개SW 거버넌스 프레임워크: TTAK.KO-11.0176
• 오픈소스 소프트웨어 활성화를 위한 성숙도 및 적용성 평가모델의 설계 및 구현에 관한 연구
• 공개SW Governance
• 공개SW 정보화전략계획(o-ISP)
김 형 채
hckim@invesume.com
오픈소스 프로젝트 하모니카로 국민 누구나 사용할 수 있는 공개소프트웨어 운영체제를 무료로 공급하고 있으며,
국내 공공기관 및 기업의 개방형 OS 도입을 지원하여 공개소프트웨어 확산을 위하여 노력하고 있습니다.
3
4. 하모니카 프로젝트
4
하모니카는 2014년 미래창조과학부의 "공개SW 활성화 계
획"의 일환으로 시작된 개방형 OS 프로젝트로 누구나 무료
로 다운로드 받아서 사용할 수 있으며, 현재는 국내 유일의
개방형OS 커뮤니티 하모니카를 중심으로 배포되는 개방형
데스크톱 운영체제 하모니카, 다국어 입력기, 원격PC관리
솔루션, 클라우드 검색엔진 등 다수의 오픈소스 프로젝트 공
개 중.
지난 5년간 국방부, 과기부 등 26개 공공기관에 공급되었고
커뮤니티 버전은 14만건 이상 다운로드. 월간 활성 사용자
20만명이 사용중인 국내 최대의 개방형OS 프로젝트.
6. 하모니카 OS의 특장점
6
하모니카OS에서 제공되는 보안기술은 커널 보안, 응용프로그램 보안, 사용자 보안의 레이어로 구분됩니다. OS의
각 단계별, 영역별 보안을 적용하여 OS를 보호하고 사용자의 신뢰성을 향상 시킵니다.
시스템 바이오스(BIOS)
커널모듈
시큐어 체인
서명검증
보안체인
형성
시스템 바이오스에서 시작되어 커널 모듈까지
이어지는 과정에서 보안 체인을 형성.
인가되지 않는 불법적인SW 사용을 차단하는
커널 시큐어 체이닝 기술 적용
응용프로그램의 경우 커널의 리눅스 보안
모듈(LSM : Linux security Modules)
인터페이스를 이용하여 관리자가 프로그램별
사용권한을 제한할 수 있게 합니다.
User-space
applications
User-space
Policy
utilities
GNU C library
Kernel-space
User-space
applications
User-space
applications
Security
policy
Security
module
Response
Request
암호화된 저장공간, USB 보안 프로그램,
개인방화벽, 바이러스 백신을 제공하고 있으며,
업데이트 서버는 공개키 기반의 암호화와
TLS를 이용하여 데이터를 제공합니다.
바이러스
백신
암호화된
저장공간
USB
보안프로그램
개인방화벽
사용자
7. 하모니카 OS의 특장점
7
하모니카OS는 비대면 업무환경에 요구되는 핵심 프로그램을 모두 포함하여 제공되는 개방형OS 입니다.
사용자를 위한 유용한 오픈소스 SW 제공
네이버 웨일 웹브라우저 텔레그램 메신저 ZOOM 클라이언트
Kdenlive(동영상 편집툴) 동영상 플레이어 동영상 녹화
오피스 프로그램
카카오톡
8. 하모니카 OS의 특장점
8
국내의 금융 사이트 이용을 위해 공인인증서 인식과 호환성 패키지를 지원하며 정부 민원 업무 서비스, 백신, 보안
SW 등 호환성 향상을 위해 지속적인 업데이트와 기술지원을 제공합니다.
금융 사이트의 공인인증서 및 호환성 패키지 지원
정부24 민원업무(등본출력)
홈텍스(연말정산)
9. 하모니카 OS의 특장점
9
원격지 PC에서 발생한 문제해결을 위해서 직접 방문할 필요없이 원격으로 PC를 관리. PC의 전원이 꺼진 상태에
서도 부팅 및 재설치를 진행할 수 있습니다.
하모니카OS
Intel vPro 지원 PC
Hamonize Agent 설치
원격지 PC
백업 / 복구 설정
보안 설정
사용 정보 로그 수집
PC 장애발생, 부팅 불가
Hamonize Center
관리PC를 통한 원격접속
Hamonize Console
로그 수집
정책 배포
사용통제
- 원격접속
- 상태 확인
- 재부팅 시도
- 백업본으로 재
설치 진행
10. 하모니카 분야별 다양한 적용 사례
10
하모니카OS는 데스크탑, 서버, IT융합 제품, 클라우드 서비스, IOT 디바이스 등 에 사용 중
iwinv Cloud VDI 서비스
대학교, 기업, 공공기관 등 WEB/DB서버
휴대용 스틱PC Single Board Computer
대만 Touch Cloud AI 영상분석 디바이스 HamoniKR OS 사용
11. 국내 개방형OS 생태계
11
개방형 OS
응용프로그램 서비스 기업
개방형OS 관련 오픈소스 커뮤니티 및 재단
하드웨어
PC 제조기업 소비자
서비스 이용
구매/
이용
구매/
이용
기여/협업
기여/협업
기여/협업
하드웨어 공급
부품/주변기기
공급
설치
15. 개방형 혁신 연구개발의 개념
15
연구, 개발, 상업화에 이르는 일련의 혁신 과정을 개방하여 외부자원을 활용함으로써 혁신비용을 절감하고 성공가
능성을 제고하며 부가가치 창출을 극대화하는 혁신 방법론을 의미.
Chesbrough, 2003
16. 개방형 혁신 연구개발을 수용하는 글로벌 트랜드
16
지난 10년간 글로벌 Top 10 기업의 변화를 보면 전통산업에서 소프트웨어 기업들로 모두 자리가 바뀌고 있으며,
새롭게 왕자를 차지한 기업들은 모두 오픈소스를 활용한 개방형 혁신을 통해 성공하는 중.
2008 2018
Ranking of GitHub contributors
17. 개방형 혁신 연구개발을 수용하는 글로벌 트랜드
17
2018년 발표된 깃허브 보고서에 따르면 컨트리뷰션 성장세로 보면 홍콩, 싱가폴, 이집트, 나이지리아, 방글라데시
등의 국가들이 빠르게 오픈소스 활용이 증가하는 추세.
18. 국내 개방형 혁신 연구개발 동향
18
국내에서는 2014년부터 SW연구과제 대상 오픈R&D 방식 적용 중이며, 2020년 소프트웨어진흥법이 개정되어
향후 모든 국가연구개발과제가 오픈R&D 방식으로 진행될 예정.
▲국가연구개발사업 결과물 공개(3장25조2항): SW 연구
및 기술개발 촉진을 위해 국가 연구개발 사업의 결과물을
공개SW로 배포하게 했다. 공개SW는 저작권자가 원시코드
를 공개해 활용, 복제, 수정, 재배포가 자유로운 소프트웨어
를 말한다.
• 스타랩 과제
• SW기초연구센터 과제
• 차세대정보통신기술개발 과제
• 인공지능 국가프로젝트
• 공개SW 요소기술개발 지원사업
• 개방형OS 환경개발 및 보급확산 사업
19. 개방형 혁신 연구개발 모델의 사례 - 리눅스
19
1991년 공개된 커널 프로젝트. 이전에는 오픈소스 이더
라도 핵심 개발자 집단이 개발 과정을 독점하고 완성도가
있다고 판단된 후에 소스를 공개하는 방식을 사용했지만,
리눅스는 누구나 소스를 읽은 후 수정한 코드를 보낼 수
있도록 하고 수정한 코드가 받아들여지면 그 사람은 기여
자(Contributor)가 되어 다음 버전에 이름이 기재되어 배
포되었다.
28년이 지난 지금 리눅스는 서버와 모바일에서 가장 많이
쓰이는 운영체제가 되었다. (안드로이드OS는 리눅스 커
널, 전세계 슈퍼컴퓨터 500개의 90%는 리눅스 기반)
20. 개방형 혁신 연구개발 모델의 사례 - 안드로이드
20
안드로이드(Android)는 리눅스 커널을 기반으로 구글에
서 제작한 스마트폰과 같은 플랫폼의 모바일 운영 체제와
미들웨어 및 중요 애플리케이션이 포함된 소프트웨어.
안드로이드는 2008년 공개되어 현재 세계에서 가장 대
표적인 오픈 소스 플랫폼이며 세계 최다 사용자를 보유한
운영 체제다. 모바일 OS 시장은 안드로이드와 iOS로 양
분되었으며 아이폰을 제외한 시장에 출시된 모든 스마트
폰에 탑재되어 있는 OS이다.
21. 개방형 혁신 연구개발 모델의 사례 - 오픈스택
21
오픈스택은 일반적인 서버에서 클라우드 컴퓨팅 서비스를
생성하고 실행할 수 있도록 해주는 기술로 2010년 7월
랙스페이스(Rackspace)사와 미국 항공우주국이 오픈스
택 프로젝트를 시작.
2012년 창설된 비영리 단체인 OpenStack Foundation
에서 유지, 보수하고 있으며 아파치 라이선스하에 배포된
다. 현재 AMD, 인텔, 캐노니컬, 수세 리눅스, 레드햇, 시
스코 시스템즈, 델, HP, IBM, NEC, VM웨어, 야후 등
150개 이상의 회사가 이 프로젝트에 참가하고 있으며, 주
로 리눅스 기반으로 운용과 개발이 이루어진다.
22. 개방형 혁신 연구개발 모델의 사례 - 쿠버네티스
22
쿠버네티스는 프로덕션 워크로드를 대규모로 운영하는
15년 이상의 구글 경험과 커뮤니티의 최고의 아이디어와
적용 사례가 결합되어 있는 기술로 구글이 2014년에 쿠
버네티스 프로젝트를 오픈소스로 공개했다.
쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하
기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼으로
선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티
스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버
네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용
할 수 있다.
23. MEC 해외 오픈소스 프로젝트들
• ETSI : MEC (https://www.etsi.org/technologies/multi-access-edge-computing)
• Linux Foundation : Akraino Edge Stack (https://www.lfedge.org/projects/akraino/)
• Linux Foundation : EdgeX Foundry (https://www.edgexfoundry.org/)
• Linux Foundation : Project EVE (https://www.lfedge.org/projects/eve/)
• OpenStack Foundation(Edge Computing Group) : StarlingX (https://www.starlingx.io/)
• Eclipse Foundation : ioFog : (https://iofog.org/)
• CNIT : openVolcano (http://openvolcano.org/)
• Linux Foundation : Open Network Automation Platform (ONAP) (https://www.onap.org/)
• Linux Foundation : Cloud Native Computing Foundation (CNCF) (https://www.cncf.io/)
23
25. 개방형 혁신 연구개발 프로젝트의 성공 요인
시장과 커뮤니티가 원하는 소프트웨어
• 사용자를 최우선으로 고려해야 한다.
• 프로젝트를 이용하는 사람이 쉽게 활용할 수 있는 환경을 준비하고, 친절한 기술문서와 테스트 결과를 제공
• 오픈소스 프로젝트는 모든 사람이 보는 것이기 때문에 이 프로젝트를 처음 보는 사람도 잘 이해할 수 이슈 트레킹, 풀 리퀘스트, 이슈 레이블
기능, 마일스톤 기능 등을 이용해 프로젝트를 깔끔하게 정리해 둬야 한다.
커뮤니티 관리 (기여자, 사용자)
• 제한 없는 의견을 수렴하여 투명한 의사결정 체계를 기반으로 프로젝트의 방향 수립에 반영
• 신규 사용자와 기여자를 소중하게 관리
지속 가능한 환경 확보
• 프로젝트를 홍보할 수 있는 다양한 방법 시도
• 오픈소스의 성공을 담보하기 위해서는 별도의 자금 관리가 필수
• 프로젝트 관련 기업들과 네트워크 구축 및 지원방안 마련
25
26. 출연(연) PBS 중심과제의 어려움
• 기관 설립 목적 및 고유의 임무 수행에 필요한 장기․기초연구보다는 단기적이며 가시적인 성과에 치중
• 연구책임자의 전문성 연구보다는 연구수주를 위한 대외활동이 증가함에 따라, 질 위주의 연구보다는 양 위주의 연구를 하
는 부작용을 초래함 (연구책임자 1인당 다수의 연구과제를 수행하게 되어 전문분야의 심도 있는 연구수행이 곤란)
• 연구비 총액은 증가되었으나, 단기사업 위주의 조직운영이 이루어짐 으로서 기관 차원에서 인력, 시설, 연구비를 전략적으
로 투입할 수 있는 재량권의 부족
• 출연(연)이 국가 차원에서 필요한 연구사업에 대한 임무 또는 역할을 부여 받기 보다는 정부수탁에 의거하여 운영되고 있
어 출연(연)의 장기적인 발전방향을 정립하는데 있어 한계
• 연구과제 수주를 쉽게 할 수 있는 경력직 연구원을 선호함으로써 신규 연구자의 육성이 어렵고, 또한 출연(연)을 신진 연구
자들이 기피함에 따라 우수한 연구인력의 확보에 어려움
26
1년차
프로젝트 준비
2년차
연구개발
3년차
완료보고
27. 개방형 혁신 연구개발 프로젝트의 발전 로드맵
27
Ecosystem Stage
• 내가 공개한 소스코드 저장소에
방문하는 방문자를 위해서 귀찮
지만 약간 친절함을 발휘하자.
• 문서를 잘 작성해 두면 나중에
답변할 때 도움이 된다.
Open Source Stage
Technology Stage
• 평소에 생각하던 내용 중 만들
면 누군가는 사용할 것 같은 제
품을 만든다.
• 혼자 쓰기 보다는 같이 쓸 수 있
게 소스코드를 공개
• 어떻게 이걸로 돈을 벌지 가족,
친구, 아는 사람을 총 동원해서
합류 시키자.
• 이제 다른 사람들이 꽤 모였으
니 가끔 모여서 세상 돌아가는
이야기를 하자.
28. License and Governance
28
• License : 소스코드에 대한 바른 사용 권한, 비즈니스 전략에 영향
• Governance : 어떻게 사람들과 협력할지 정의, 조직 전략에 영향
License = 0
Governance = 0
License = 1
Governance = 0
License = 1
Governance = 1
29. #2 Open Source Stage
29
Governance
지금까지 오픈소스 소프트웨어 거버넌스는 여러가지 의미로 사용되어 왔다.
그 중에서도 “오픈소스 소프트웨어 적용 및 구현을 통치하기 위한 절차” 또는 “오픈소스 소프트웨어 공급
및 수요체계를 구성하는 다원적 조직체계 내지 조직 네트워크의 상호작용 패턴으로서 구성원의 집단적 활
동” 등이 대표적인 정의가 될 수 있다.
또한 오픈소스 소프트웨어 거버넌스는 소프트웨어 라이선스 관점에서 역할과 책임을 중심으로 상호규약 측
면에서도 정의될 수 있어 “오픈소스 소프트웨어 개발 프로젝트에 기여하는 조직과 개인들의 조정, 통제 및
목표를 달성하기 위한 수단” 으로도 볼 수 있다.
오픈소스 소프트웨어 거버넌스 프레임워크란 “오픈소스 소프트웨어를 안전하게 사용·적용 및 배포하기 위
해 필요한 사항을 다양한 관점에서 활용할 수 있도록 소프트웨어 라이프 사이클 단계별로 제시한 틀”로 해
석한다.
30. #1 Technology Stage
30
• 라이선스 정책
• 잘 동작하는 SW
• 프로그램 데모
• 프로그램 적용사례
• Third Party 도구 지원
GOAL : Component license management.
38. #2 Open Source Stage
38
GOAL : Well Structured Community Governance
• 프로젝트 문서
• 라이선스 관리
• 커밋과 버그 트래킹 관리
• 코드 관리 및 안정화
• 요구사항관리
• 프로젝트 로드맵 관리
• 기여자 관리
• 의사결정 절차
핵심개발자
수동적 사용자
프로젝트 관리자
커뮤니티 관리자
능동적 사용자
개발자
39. #2 Open Source Stage
39
개발환경구축
소스코드 포크
프로그램작성
기능 검증
디버깅
컴파일 빌드
Pull Request
품질 검사
안정버전 배포
컴파일 빌드
검증
소스코드 통합
릴리즈 테스트
품질 검사
피드백
반복
upstream 프로젝트 개발자
커뮤니티에 협력하는 개발자
• 커뮤니티 거버넌스
• 제품 로드맵, 기여자 관리
• 커뮤니케이션 채널
40. #2 Open Source Stage
40
• Size of the community
• Increasing conflicts
• Extensive resources
• Commercial interest
Ref : https://www.slideshare.net/eurolinux/governance-v25
When governance is needed
41. #2 Open Source Stage
41
Ref : http://oss-watch.ac.uk/resources/governancemodels
데이터
우선
의사결정
조직 우선
42. #2 Open Source Stage
42
Ref : https://goo.gl/W5Datc
Gardler, R and Hanganu, G. et al – Meritocratic governance model
프로젝트에 기여 참여 멤버들의 인정
의사결정 중요도 증가
리더십 획득
https://www.apache.org/foundation/how-it-works.html
Meritocratic Governance Example
43. #2 Open Source Stage
43
• 사용자 참여가 쉬운 문서 시스템
• 프로젝트의 마일스톤과 로드맵 관리
• 커뮤니티 참여자들이 활동할 포럼
• 프로젝트 기여자 가이드라인
• 기여자 관리 정책
• 의사결정 절차
• 자동화 빌드와 테스트 커버리지
• 이슈 및 형상 관리자
47. #2 Open Source Stage
47
데일리 빌드 시스템 이슈 및 형상 관리자
공개SW 프로젝트 관리
공개SW 기여자 관리
공개SW 이슈 관리
48. #3 Ecosystem Stage
48
• 비즈니스 협의체 구성
• 공식 파트너사 관리
• 파트너 조직 전략 반영
• 기술지원 파트너 기업관리
• 목표 시장 홍보
• 다양한 적용 사례 제공
GOAL : Partnership and Expanding Market
핵심개발자
수동적 사용자
프로젝트 관리자
커뮤니티 관리자
능동적 사용자
개발자
• 오픈소스 커뮤니티
• 오픈소스 재단
• 오픈소스 기여자
• SW, 인프라 공급자
• 교육, 컨설팅 기업
• 기술지원 기업
• 일반 사용자
• 오픈소스 활용 조직
오픈소스
SW
소비자
공급자 생산자
54. Open Source as De-facto
54
글로벌 ICT기업은 시장과 밀접한 관련 있는 사실표준화 활동에 주도적 참여하여 조기시장 선점 및 글로벌 표준
화 활동 선도. 공동연구 개발에 따른 신속한 서비스 출시(Time to Market), 비용 절감 및 확장성 제공을 기반
으로 오픈소스는 사실상(De-facto) 업계표준으로 자리매김
56. 오픈소스SW의 상호운용성 확보 및 표준의 시장 수요 반영
56
표준화는 상호운용성을, 오픈소스는 개발기술의 혁신과 아이디어의 실현가능성을 증명함을 주요 관점으로 하고
있으며 오픈소스는 시장에 빠르게 접근할 수 있는 역할을 제공하고, 표준화는 시장을 확대할 수 있는 역할의 호
환성을 제공
57. 오픈소스 연계 표준화 모델의 확산
57
이처럼 산업간 소프트웨어 상호운용성에 대한 강조가 커지면서 오픈소스는 자연스럽게 새로운
환경을 혁신하기 위한 선도적인 수단으로 부상하였으며 전통적인 표준화 모델은 오픈소스와
연계하는 표준화 모델로 제공되고 있음
58. 오픈소스와 문서표준화를 함께 보급하는 유형
58
클라우드의 등장으로 전통적인 기술의 많은 분야는 혁신을 빠르게 추구하게 되었고 SDN, NFV 등 클라우드 환경에서
자주 변경되는 환경에서 요구되는 네트워크 운영에 대한 유연성을 신속하게 제공하기 위해서 안정성, 신뢰성을 중요하
게 여기던 표준화 모델은 더 유연하고, 더 빠른 점진적 반복을 기반한 표준화 모델이 필요.
주목할 사례는 전 세계 주요 통신사업자가 주축이 되어 ETSI(European Telecommunications Standards
Institute) NFV ISG(Industry Specification Group)을 출범하였고, 네트워크 기능 가상화에 필요한 요구사항, 프레
임워크 구조, 사용자 환경, 검증 등에 대한 논의를 진행하였는데, 유럽 전기통신 표준연구소(ETSI)는 산업 활성화를 위
한 표준화 모델에서 오픈소스의 필요성을 인식하고 리눅스 파운데이션과 긴밀한 협력을 통해 클라우드 환경에서 유용
한 네트워크 기능 가상화의 표준을 정의하고 NFV 개방형 플랫폼(OPNFV)을 오픈소스로 제공
59. 오픈소스 표준화 유형
59
리눅스 기본 규격(Linux Standard Base, LSB)은 LSB는 운영체제의 시스템 호출 인터페이스, 시스템 라이브러리,
패키지 포맷 등 리눅스의 가장 기본이 되며, 모든 리눅스 배포판의 기준이 되는 규격으로 리눅스 재단의 조직 구조에속
하는 일부 리눅스 배포판들의 공동 프로젝트.
LSB는 리눅스 운영체제에 쓰이는 파일시스템 계층을 포함한 소프트웨어 시스템 구조를 표준화 하였으며 사실상 표준
에서 공식적인 표준 규격이 된(Linux Standard Base,LSB) 같은 사례.
ICT 산업에서 리눅스의 사용이 증가하면서 LSB는 2005년에 ISO/IEC 23360으로 국제표준이 되었다. 국내에서는
2005년에 LSB를 기반으로 하는 리눅스 데스크탑 규격 및 서버 규격이 TTA 단체 표준으로 채택되었다. LSB 인증 프
로그램은 Free Standards Group을 위해서 Certification Authority로 지명된 Open Group에 의해 운영 중.
61. 오픈소스 거버넌스 관련 표준화 현황
61
Education Monitoring
Establish policy Acquisition Adoption
Operation and
Maintenance
Continuously improve
Compliance
Contract
Development
Packaging
Test
Deployment
Diagnosis or
consulting
Create policy
Build
Organization
Requirements
Analysis
Research
Analysis
Evaluation
Installation
Operation
Maintenance
Technical
Support
Community
Design
TTAK.KO-11.0133/R1
공개 소프트웨어 성숙도 및 적용성 평가
지침
TTAK.KO-11.0182
공개소프트웨어 정보교환명세
TTAK.KO-11.0110
공개소프트웨어 분류 체계 및
프로파일
TTAK.KO-11.0176
공개소프트웨어 거버넌스
프레임워크
TTAK.KO-11.0246
공개소프트웨어 기반 개방형
혁신 연구개발 역량 성숙도 모델
TTAK.KO-11.0247
공개소프트웨어 라이선스
정책 수립 모델
TTAK.KO-11.0257
개방형 연구개발을 위한
공개소프트웨어 커뮤니티
거버넌스 지침
TTAK.KO-11.0259
공개소프트웨어 보안취약점
관리 지침