공개sw 거버넌스 실무

77
공개SW 거버넌스 실무 Governance for open source software adoption 2016. 10. 김형채 이사

Upload: kevin-kim

Post on 14-Apr-2017

238 views

Category:

Education


6 download

TRANSCRIPT

Page 1: 공개SW 거버넌스 실무

공개SW 거버넌스실무Governance for open source software adoption

2016. 10.

김형채이사

Page 2: 공개SW 거버넌스 실무

개요및목표

공개SW를기업내에서도입및운영관리하기위한원칙, 절차, 단계별관리요소를식별

하고기업현장에서실무적용을어떻게하는지적용사례를중심으로공개SW 거버넌스

프레임워크의이해및활용에대한내용

목표

개요

• 공개SW 거버넌스개요

• 공개SW 거버넌스프레임워크의이해

• 공개SW 거버넌스프레임워크의실무적용역량강화

2

Page 3: 공개SW 거버넌스 실무

소개

현) 인베슘이사

한중일공개SW활성화포럼표준화분과한국위원

한국정보통신기술협회(TTA) 공개SW 표준화분과위원

• 공개소프트웨어 분류체계및프로파일: TTAK.KO-11.0110

• 공개소프트웨어 성숙도및적용성평가지침: TTAK.KO-11.0133/R1

• 공개소프트웨어 교환명세: TTAK.KO-11.0182

• 공개소프트웨어 거버넌스프레임워크: TTAK.KO-11.0176

• 비공개SW의공개SW 전환가이드

• 오픈소스소프트웨어활성화를위한성숙도및적용성평가모델 (OSMAAM)의설계및구현에관한연구

• 공개SW기반 Governance v1.0

• 공개SW 정보화전략계획(o-ISP)

• 공개SW기업의서비스수준평가모델

• 공개SW도입가이드라인

“저는공개SW기술과 Agile SW개발방법론을이용하여기업의비즈니스전략과

잘연계하는성장모델에관심이많습니다.”

김 형 채

3

Page 4: 공개SW 거버넌스 실무

목차

공개SW

거버넌스

개요

공개SW

거버넌스

프레임워크

공개SW

거버넌스

프레임워크활용

4

Page 5: 공개SW 거버넌스 실무

Why Open Source Software?

5

https://www.ted.com/talks/jimmy_wales_on_the_birth_of_wikipedia?language=ko#t-554074

Page 6: 공개SW 거버넌스 실무

참여와공유를통한발전

6

“저희는세계적인디지털의분배와빈곤문제와모든사람들이그들이올바른결정을내리는데필요한정보를얻을수있는방법을만드는것에관심이아주많습니다.

그리고그래서저희는사람들이원하는모든활동을할수있도록하기위해서공짜모델을선택했습니다.

해당지역의기업들을돕고, 원하는사람이면누구나우리백과사전의내용으로상업적, 비상업적모든용도로이용할수있습니다.

따라서수많은기회가위키피디아주변에서생길수있습니다.”

- 지미웨일스, 위키피디아창시자

Page 7: 공개SW 거버넌스 실무

트렌드및전망

7

포레스터리서치와 IDC의미래전망 - http://www.itworld.co.kr/news/97250

1. 레거시벤더들이직면한암울한미래• IDC는보고서를통해 "향후 5년내현존하는 IT 벤더들가운데 30%가사라지게될것이다"

• 이는산업의본질이변화하고있음을드러내는신호

2. 클라우드공급업체들도걸러질것이다• 포레스터는 '이제클라우드업체를추려낼시점'이라고진단

3. 더욱커지는빅데이터의역할• 빅데이터는신약발견, 헬스케어, 교육, 번역, 고용, 리크루팅등등, 다양한분야를변화시키고있음.

4. 소프트웨어기업으로변해가는기업들• 여러 IT기업들이전통적인벤더에서클라우드업체로고개를돌리고있다. 또한오픈소스역시점점더활용해가는추세.

5. 개발자가부족해진다• 앞으로는 애플리케이션 개발과 관련된 모든 것이 변화한다. 사용하는 언어도, 데이터베이스도, 프레임워크도, 실행 환경도

다달라진애플리케이션 환경이부상할것이다.

• 다시말해거의모든것이새롭게변하며, 구세대애플리케이션에맞는스킬들과는다른스킬들이요구될것.

Page 8: 공개SW 거버넌스 실무

글로벌공개SW 사용분야

63%

CLOUD/VIRTUALIZATION

57%

CONTENTMGMT

MOBILE SECURITY COLLABORATION NETWORKMGMT

53% 51%49% 48%

Source: 2014 Future of Open Source Survey Results - Blackduck

8

전세계 78%는공개SW를사용중 , 64%는공개SW 프로젝트참여중,

75%의기업이공개SW를통해매출증대Source: 2015 Future of Open Source Survey Results - Blackduck

Page 9: 공개SW 거버넌스 실무

국내공개SW 시장규모

9

• 한국공개SW 시장의 2009~2015년간평균성장률(CAGR) 32.9%

• 2015 시장규모는2009년대비 5.5배

• 2017년 1,000억원초과예상

Page 10: 공개SW 거버넌스 실무

공개SW 사용유형

200,000 개이상의

공개SW프로젝트

10

• 소프트웨어제작사, 소프

트웨어판매사

• 전자제품제작사, 전자제

품사용자

• 공개소프트웨어 커뮤니티

• 클라우드 SaaS 기업

• 공개소프트웨어에 기술

지원서비스기업

• ICT 기업또는연구소

• 학교또는정부기관등

Page 11: 공개SW 거버넌스 실무

공개SW 라이선스준수의무

11출처 : 정보통신산업진흥원

Page 12: 공개SW 거버넌스 실무

공개SW 관리에대한준비

Source: 2016 Future of Open Source Survey Results - Blackduck

12

Page 13: 공개SW 거버넌스 실무

Source : https://www.masterflexgroup.com/fileadmin/_migrated/pics/TopBild_696x224px_Group_CorporateGovernance.jpg

1. 공개SW 거버넌스

13

Page 14: 공개SW 거버넌스 실무

공개SW 거버넌스에대한인식

14

Page 15: 공개SW 거버넌스 실무

Governance

15

정부뉴거버넌스

• 시민사회를정부의활동영역에포함시켜새로운파트너로인정함으로써정부조직, 기업, 시민사회, 세계체제

등이들모두가공공서비스와관련하여신뢰를통한네트워크(연계, 상호작용)를구축하는것을강조하면서시

장논리보다는협력체제를강조하는것 (위키피디아)

기업거버넌스

• 경영자원의조달과운용및수익의분배등에대한의사결정과정과이에대한감시기능의총칭으로정의되기도

하며, 기업의경영을감시, 규율하는것또는이를행하는기구를뜻하기도한다. (위키피디아)

IT 거버넌스

• IT 사용에있어바람직한행위를촉진하고유도할수있도록의사결정권한과책임을정립하는것 (가트너)

• IT 및프로세스에대한투자회수와 Risk간의균형유지및가치를부가시켜기업목표달성을위한방향을제시

하고통제하는관계와프로세스들의구조 (IT Governance Institute)

거버넌스

• 1980년대부터대두된통치시스템의개념으로아직정의에대한학문적합의는이루어지지않았다 (위키피디아)

Page 16: 공개SW 거버넌스 실무

Open source software Governance

16

Open-source governance

• Open-source governance (also known as open politics) is a political philosophy which

advocates the application of the philosophies of the open-source and open-content

movements to democratic principles to enable any interested citizen to add to the creation of

policy, as with a wiki document. (https://en.wikipedia.org/wiki/Open-source_governance)

• 오픈소스거버넌스는위키백과의방식과같이관심이있는사람들이민주적원칙에의해정책형성을가능하게

하는오픈소스와오픈컨텐츠운동을옹호하는정치철학.

Open Source Governance

• Open source governance is the way an organization controls the use of open source software

within their products and services, supply chains and business management activities, and the

associated business and legal processes. (blackduck)

• 오픈소스거버넌스는오픈소스소프트웨어를제품과서비스, 공급망과비즈니스관리활동, 그리고비즈니스협

력과법적활동등의조직관리방법

Page 17: 공개SW 거버넌스 실무

공개SW 거버넌스의범위

Corporate Governance

Information

Technology

Governance

Information

Security

Governance

Open Source Software

Governance

17

Page 18: 공개SW 거버넌스 실무

2. 공개SW 거버넌스프레임워크

OSS Governance Framework?

18

Page 19: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크개요

“공개소프트웨어를안전하게사용·적용및배포하기위해필요한사항을다양한관점에서

활용할수있도록소프트웨어라이프사이클단계별로제시한틀”

19

위험노출

측정

관리

참여

활성화

공개SW 관리성숙도모델

Page 20: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크구성

20

공개SW활용라이프사이클

순차적공개SW거버넌스활동요소 (18)

비순차적공개SW거버넌스활동요소 (3)

Page 21: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크기반성숙도관리

21

조직수준생명주기

위험노출 측정단계 관리단계 참여단계 활성화단계

검색(발견) 공식적 가이드라인 혹은프로세스가 없음

약간의 가이드라인 제공수용 가능한 소스와 속성에 대한 명확한 정책이 있음교육된 개발자

공개소프트웨어속성의 검증과빠른 검색을 위한 도구가 있음

기업의 요구사항을 추진하기위한 주요 커뮤니티참여

검토와선택및공급망관리

ad hoc유입된 콤포너트들은 확인되고 추적됨

명확한 정책과 프로세스검토위원회에 의한 검토와 예외 처리

컴플라이언스를 위한 자동화된프로세스

주요 커뮤니티와의 적극적 참여가 관심을 보이는 공개소프트웨어공급자 관계 생성

코드관리 공개소프트웨어가 독점코드에 포함되어 관리됨

공개소프트웨어가 개별적으로 추적됨

내부정책기반의 개별 컴포넌트에 대한 담당과 책임을 수립공개소프트웨어 저장소추적 사용

자동화된 프로세스는 컴플라이언스 요구사항들과 사용, 속성, 소스를 추적

공개소프트웨어저장소는 외부릴리즈를 지원하는 것으로 확장됨

유지보수와지원 ad hoc버그수정과 신규 출시에대한 약간의 모니터링

내부정책기반의 개별 컴포넌트 담당자에 대한 책임 정의강화된 지원 모델

자동화된 프로세스는 버전, 버그수정,이슈를 추적

외부로 확장된 지원모델외부지원을 처리하기 위해 확장된 자동화된 프로세스

준법프로그램 ad hoc, 필요할 경우

사용된 컴포넌트의 목록관리컴플라이언스 요구사항들은 수작업으로 처리

잠재위험을 방지하기 위한 검토와 코드 관리자동화된 제품 출시 검사문서화를 통한 컴플라이언스프로세스

컴플라이언스 기능과 코드관리,검토를 통합하는 자동화된프로세스관리와 고객을 위한 자동화된보고서

기여 검토와 검사를 위한 정책과 자동화된 프로세스

커뮤니티상호작용 코드 다운로드 코드 다운로드

코드다운로드업데이트추적사용 주체확인 없이 포럼에 참여

사용 주체특성에 부합된 포럼에 참여버그수정 참여

신규 프로젝트/콤퍼넌트 참여주요 커뮤니티 후원

의사결정자감독 없음의사결정자는 사용 공개소프트웨어컴포넌트 목록을 받음

법무&관련부문이 검토위원회에 참여

컴퓨니티 참여를 위한 정책버그수정 참여를 위한 프로세스

컴포넌트 기여를 위한 정책과프로세스프로젝트 후원

출처 : Black Duck Software

Page 22: 공개SW 거버넌스 실무

Source : https://cdn4.iconfinder.com/data/icons/SOPHISTIQUE/web_design/png/400/our_process_2.png

3. 공개SW 거버넌스프레임워크활용

22

Page 23: 공개SW 거버넌스 실무

개발대상소프트웨어

23

웹브라우저기반의영상및음성통신 SW, 별도의설치없이구글크롬, 파이어폭스, 오페

라웹브라우저와안드로이드, iOS와같은모바일기기에서도서비스이용이가능.

Caller Answer

Page 24: 공개SW 거버넌스 실무

공개SW 활용영역

24

시그널링서버, 릴레이서버는공개SW 기술활용, 각각의피어에서접속하는클라이언트

는직접개발, 모바일클라이언트는 SDK 구매후활용.

직접개발

공개SW획득후수정

외부SDK사용

Page 25: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

기업가치를극대화시키고저작권침해및컴플라이언스위험을극소화시키기위하여기업내의공개소프트

웨어활용과기업간의협업체계에대한지침을수립하는활동

25

1) 정책수립

필수구성요소 구성예

• 공개소프트웨어사용시조직이준수해야하

는준법요구사항

• 공개소프트웨어사용혹은활동을위한승인

절차

• 공개소프트웨어관리를위한조직자원의역

할과책임정의

Page 26: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

26

1) 정책수립

정책??

공개SW를사용하면서지킬원칙

의사결정체계전략, OSS 선정, 타당성분석, 기타의사결정은총괄관리자미래전략본부본부장이전결

분석및평가 공개SW 성숙도및적용성평가표준(OSSMAAM) 적용

소스코드형상관리 제품릴리즈시점까지는내부 CI 사용, git 와 jenkins

소스코드공개 Git hub 사용

라이선스검증 사용 OSS 라이선스전문가검토

커뮤니티구축및운영소극적사용우선(획득한소스코드에대한사용), 향후점진적개방

기술교육 페어로구성된도제식교육방식적용

유지보수 프로젝트모니터링담당자배정및이슈관리시스템 운영

보고및검토 데일리미팅

Page 27: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

서비스제공자가공개소프트웨어를원활히도입, 활용, 관리할수있도록조사, 진단, 분석, 개선방안, 전략,

로드맵, 방법론등을고객에게서비스로제공하는활동. 수준진단, 문제분석, 해결방안도출, 실행방안제시

등의활동

27

2) 컨설팅

• 사업환경및전략확인

• 공개소프트웨어현황분석

• 공개소프트웨어도입원칙수립

• 공개소프트웨어추진과제정의

• 공개소프트웨어도입계획수립

필수구성요소 구성예

Page 28: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

28

2) 컨설팅

주요파트너 주요활동 핵심가치정의 고객관계대응 고객세분화

핵심자원 채널

가격구조 수익분석

• 공공 SI 사업자, 개

방형OS 보급기업을

주요파트너로확보

필요

• 미디어필터개발

• 성능개선작업

• 확장가능아키텍처

• WebRTC 코어엔진

분석부문

• 아이폰WebRTC 개

발부문

• 플러그인설치가필

요없는화상통신.

• 낮은도입비용

• 미디어필터(보안,

분석, 감지)

• 1차고객응대는 SI기

업을활용

• 2차는 OS보급기업

이응대

• SI 채널을중심으로

화상회의가필요한

공공업무시스템개

선사업에서낮은도

입비용으로영업

• 공공기관화상회의

시스템

• 기업다자간미팅시

스템

• IoT 산업기기커뮤니

케이션채널

• 일체형제품으로 SI에공급, 최소가격 500

만원 (서버1식포함, 동시사용 50User)

• 초기도입비용은낮게유지, 유지보수비용

확보및사용자증가에따른 고도화비용

Page 29: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어에관련된조직간의역할정의및분담, 책임소재명시, 협업체계수립등단체인력의집합

적활용활동. 공개SW 활용의사업목적과조직의수준에부합되는공개SW 거버넌스를구축하고운영해야

함.

29

3) 조직구성

• 비즈니스전략

• 조직필수요구사항

• 적합한조직구조

• 조직운영시스템

• 구성원

• 조직문화

• 조직의공유가치

고려사항 구성예

조직 개요및업무내역

공개소프트웨어검토위원회 공개소프트웨어정책수행을위한핵심기구

법무라이선스와 계약 준수를 포함하여 법적 요구사항들을 준수해

야하는조직의제품과솔루션에대한궁극적인책임

개발개발부서는실제로공개소프트웨어를사용하고 공개소프트웨

어와결합된제품및솔루션을창출하는조직

운영 조직의개발시스템운영환경을담당

마케팅

공개소프트웨어 컴포넌트들과 결합된 제품 및 솔루션을 위한

사업계획 뿐 아니라 해당 공개소프트웨어 라이선스 의무사항

을준수하기위한모든필요속성들을확인하는기구

재무/감사조직의특정상태에따라준법성이적절히준수되고있음을증

명해야하는책임

Page 30: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

30

3) 조직구성

R&R 수행업무 담당자

총괄 비즈니스전략, OSS 선정, 타당성분석 김형채

기술총괄 OSS PoC, BMT, 아키텍처설계 류경문

소스코드형상관리 소스코드획득, OSS 모니터링, 구현 이욱

커뮤니티채널, 모바일

이슈트래킹, Q&A, 아이폰 App 탄냥

테스트 단위테스트, 성능테스트 김태웅

UI 사용자웹 UI, 모바일 UI 김소현

프로젝트의비즈니스전략적가치가중요하게인식되는이유로, 전담부서로조직을구성하고각구성원의

역할과책임을분장하는수행체계를구성

Page 31: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어사용을위해사용자및개발자의고민과요구를기반으로기능, 성능, 연동, 호환, 보안등의

관점에서필요한사항을분류하고해석하는활동

31

4) 요구분석

• 서비스이해관계자식별

• 공개SW가활용되는시스템기능및특성

• 제약사항

• 공개SW 커뮤니티의활동성

• 공개SW 커뮤니티와의협력가능성

고려사항 구성예

구분 내용

사용자및

인적요소

누가사용하는가 기관내근무자

사용자유형은다양한가 팀별로권한설정

시스템을사용교육이필요한가 접속방법

시스템기능

및특성

어떠한운영체제를사용하는가 Window/ Unix

시스템이하는일은무엇인가 파일서버

시스템은어떻게운영,관리되는가 사용자및그룹별접근제한

제약사항공개소프트웨어기반에서불편사항은없는가?

전환할때주의해야할사항은없는가?

Page 32: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

32

4) 요구분석

비즈니스요구

• GPL/LGPL, Apache, BSD등오픈소스라이센스기반의소프트웨어사용

• 웹표준준수• 멀티디바이스지원• 영상보안기능필수

기술적(물리적) 요구

• Linux• HTML5, Javascript• WebRTC• OpenCV• OpenSSL

• 시스템장비구성요구사항• 기능요구사항• 성능요구사항• 인터페이스요구사항• 데이터요구사항• 테스트요구사항• 보안요구사항• 품질요구사항• 제약사항• 프로젝트관리요구사항• 프로젝트지원요구사항

요구사항도출 요구사항분석 요구사항명세

Page 33: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어의속성과커뮤니티정보를취합하는활동이다. 이활동을통해서반드시취합해야하는속

성으로는기능, 용도, 라이선스, 프로그래밍언어, 적용분야, 연동및연계소프트웨어, 유스케이스등이있

으며공개소프트웨어자체의특성에대한정보를획득해야함.

33

5) 조사

• 공개SW의기능및용도

• 라이선스제약사항

• 개발언어및운영환경

• 컴포넌트간연계방식

• 공개SW 커뮤니티운영주체

• 공개SW 커뮤니티활동성

• 공개SW 커뮤니티발전성

고려사항 구성예

단계 활동내용

탐색초기에급성장하는공개소프트웨어를관찰하고미래사업에핵심적인기술후보를발견한다.

감지기술흐름과고객니즈에따른기술적정성과시장성을파악한다.

육성사업가능성이있는기술을비즈니스모델과연결시키고육성시킨다

확보필요한인력을확보하고커뮤니티를통해기술을확보한다.

Page 34: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

34

5) 조사

공개SW 프로젝트등록현황 (2014.12)

Enterprise Open Source Directory 공개SW 솔루션목록(공개SW역량프라자)

Page 35: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

35

5) 조사

•공개SW의기능및용도

•라이선스제약사항

•개발언어및운영환경

•컴포넌트간연계방식

•공개SW 커뮤니티운영주체

•공개SW 커뮤니티활동성

•공개SW 커뮤니티발전성

OS -> 하모니카

•군장병의클라이언트로써사용될 OS로, 오픈소스라이센스, 한글화, 사용편이성, 기반 OS의성숙도및활성화, 레퍼런스(경찰청, 클래스메이트-학교전산실적용)등을고려하여우분투기반의하모니카(HamoniKR) OS를사용.

미디어서버 -> 아키텍처변경

•통신중계및실시간스트리밍영상처리를위해소프트웨어방식의미디어서버로매우활발히개발되고있는 MSA(마이크로서비스아키텍쳐)기반의 Kurento 오픈소스프로젝트를사용하려했으나프로젝트기간이짧고베타수준의상태로버그가많고안정화되어있지않아개발중뿐만아니라향후납품후에도초기에리스크가발생할우려가있어제외함.

통신중계서버및통신클라이언트용 SDK -> 오픈소스 easyRTC 활용

•미디어서버를사용하지않기로한대신에선택한방안으로 WebRTC 기술에서핵심적요구사항인시그널링서버및서버와의통신에사용되는클라이언트용 SDK중다양한오픈소스프로젝트를면밀히검토.

미디어중계서비스 -> 오픈소스 coturn 활용

•WebRTC 영상통신에서미디어데이터의중계가필요한경우가있는데이서비스의경우, WebRTC 관련사이트나커뮤니티에서조금만검색해봐도이미널리알려진유명한 coturn이라는오픈소스프로젝트가있었기에해당제품을선택.

웹클라이언트및관리자사이트파트 -> Spring 3 오픈소스프레임워크활용직접개발

•군부대별로관리가가능한형태의관리자사이트가필요로했으며웹기반으로제공되어야했다. 또한관리에의해운영되는회원전용의사이트가필요했으며모두현시점에서웹개발에가장많이사용되는스프링 3 프레임워크기반의자바웹프로젝트를진행했다.

Page 36: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어의성숙도와적용성을평가하기위해서필요한속성과척도를정의하고평가항목을정량화

시켜기능성, 이식성, 신뢰성, 사용성, 유지보수성, 커뮤니티영속성등공개소프트웨어의수준과가치를알

아낼수있는데이터를취합하고정리하는활동

36

6) 분석

• 공개SW의신뢰성

• 공개SW의현업적용가능성

• 공개SW의기능성

• 공개SW의사용성

• 공개SW의유지보수성

• 라이선스제약사항

• 공개SW 커뮤니티영속성

고려사항 구성예

중분류 세부항목

사용지원

이해성

학습성

운용성

분석성

전문기술

시험성

관리체계

기능지원

대체성

대체후기능성

설치성

지원성

상호운용성

커뮤니티

나이 및규모

주체

접근성

성숙성

신뢰성

적합성

가용성

회복성

Page 37: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

37

공개소프트웨어성숙도및적용성평가지침(TTA.KO-11.0133/R1)

속성군 표준속성 설명

기능성

기능적합성분류 체계의 해당 카테고리에서 마땅히 제공해야 하는 목표 기능을 충실히 수행하는

수준

지원성설치 툴, 패치, 관리, 모니터링 등 목표 기능을 최상의 조건으로 수행하는데 필요한 보

조기능을다양하게제공하는수준

상호운용성 다양한운영체제(Linux, Unix, Windows)에서설치및작동이가능한수준

이식성

대체성동일한기능의다른오픈소스제품에서전환 및대체(migration)를용이하게수행할

수있는수준(표준수용성)

대체후기능성 유사오픈소스제품으로대체한이후에도동일한기능을수행할수있는수준

설치성다양한 플랫폼에 이식될 수 있도록 구성 파라미터(configuration parameter)의 조

작이용이하고설치가간단하고편리한수준

신뢰성

가용성 에러, 버그, 정지, 종료등비정상적인동작이없이정상적으로운영되는정도

회복성 문제및장애발생시복구및대응이잘되는정도

최신성 최근일정기간동안신속하게발전하는정도

성숙성커뮤티니의인력구성, 역할분배, 운영및관리체제가얼마나안정적이고체계적인지

나타내는수준

사용성

이해성 매뉴얼, 가이드, 튜토리얼등제품사용및이용에필요한문서및자료의제공수준

학습성제품구성, 설치, 운영에필요한자문, 컨설팅, 교육, 인증(자격증) 등에 관련된서비스

를제공하는수준

운용성 사용, 운영, 관리에편리한기능수준 (예 GUI 환경)

유지보수성

분석성에러 또는 문제를 해결하는데 도움이 되도록 원인과 상태를 상세히 분석할 수 있는 메

일링, 버그리포팅, 이슈트랙킹등소통수준

전문기술 해당오픈소스에대해서전문업체또는커뮤니티의기술지원서비스가가능한수준

시험성 패치또는업드레이드버전에대한품질측정수준

커뮤니티

나이및규모 오랫동안활동이왕성하게지속되고최근에도활동이활발하여발전하고있는수준

주체커뮤니티가 쇠약하지 않고 발전할 수 있도록 기업 및 단체로부터 지속적인 경제적, 인

력적, 사업적지원이있는정도

접근성상위의 인터넷 검색이 가능하고, 커뮤니티 참여와 지적 자산의 공유에 편리한 인터페

이스를제공하고있는수준 (이메일, 게시판, 패이스북)

관리체계커뮤니티내에서프로그램개발, 소스코드기여, 수용여부심사, 품질테스트, 로드맵

수립등개발과품질에관련된활동이체계적으로진행되고있는수준

속성군 확장속성 설명

타제품

이식성

상용대체용이성 상용제품으로대체(신규도입)하거나전환하기용이한수준

대체후기능성 전환이후상용제품을대체해서목표기능을수행하는수준

대체방법론 상용제품으로전환하기위한방법론또는프로세스가제공되는수준

라이센스

이슈

라이센스충돌 배포된버전에대해서라이선스문제가있는정도

면책서비스 저작권문제발생시법적위험으로부터고객을보호할수있는수준

특허침해성 특허침해문제가있는정도

고객충실도

SLA 충실도 고객서비스가수준별로정의되어있고지원되는정도

문제해결능력만족도 문제가발생했을시신속한기술지원을제공할수있는수준

기술보증 기술지원을통해제품의품질이보증되는수준

선호도 고객이선호하는정도

Page 38: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

38

공개소프트웨어성숙도및적용성평가지침의사용예

나이및규모

변수 = {버전번호, 연령}

지표 = 최종버전번호 x 나이

1 점: 0 <= 지표 < 12

2 점: 12 <= 지표 < 24

3 점; 24 <= 지표 < 72

4 점: 72 <= 지표 < 180

5 점: 180 <= 지표

지표는최종버전번호와월단위의커뮤니티나이를곱해서산출함

버전번호가 1.0 이상이고커뮤니티나이도 12개월이상이되어야

자생력이있는커뮤니티로인정함

버전이 3.0 이상이고연수가 5이상이면최상위수준으로인정함

주체

변수 = { 후원단체유무}

1 점: 지원없음

2 점: 하나의중소기업지원

3 점: 복수의중소기업지원

4 점: 하나의대기업의지원

5 점: 복수의대기업의지원

인력및자금에대한후원단체의유무로측정함

접근성

변수 = {게시판, 포럼, 위키, 검색성, 인터넷}

지표 = 제공하는접근방법의종류 /

전체접근방법의종류개수

1 점: 0.0 <= 지표 < 0.2

2 점: 2.0 <= 지표 < 0.4

3 점: 4.0 <= 지표 < 0.6

4 점: 6.0 <= 지표 < 0.8

5 점: 0.8 <= 지표 <= 1.0

전체접근방법의종류개수 = 5

1. 게시판운영

2. 포럼운영

3. 위키운영

4. 인터넷검색시첫페이지출력

5. 인터넷사이트에서정보제공

외부에서커뮤니티로연락하거나관련정보를얻을수있는용이성

오픈소스커뮤니티에대해전문정보를제공하는인터넷사이트로는

ohloh.net, wikipedia.org 등이있음

Page 39: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

39

공개소프트웨어성숙도및적용성평가지침을활용한개방형클라우드플랫폼선정

Page 40: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

40

6) 분석(계속)사용기술

•웹표준을준수하기위해 HTML5 기술만으로클라이언트를개발해야하는이유로통신

클라이언트에사용되는 SDK는 Javascript를사용해야하며어떤플러그인도요구되어

선안됨.

비즈니스적합성

•단순히 WebRTC 클라이언트가아니라각종통신서버를포함한전체시스템이며운영

상에별도의요금이부과되지않아야했으므로클라이언트 SDK만제공하는클라우드형

태의서비스는이프로젝트에적용할수없었다. 또한소스상의취약점에대해서도분석

이가능해야하므로소스가공개되고수정할수있는오픈소스이어야만했다.

활성도

•커밋, 포크(fork), 이슈발생빈도가많다고하여활성화가되었다고판단하기보다는 SI

프로젝트에서사용되는만큼개발이안정화된상태로많은사이트에서사용하고있는오

픈소스이자해외블로그등을통해소개된이력이있고개발자커뮤니티사이트(예, 스택

오버플로우) 또는자체포럼, Github의이슈트래커에질답등이원활히이뤄지고있는지

확인할필요가있었다.

커뮤니티성숙도

•오픈소스화시점이후릴리즈횟수와기간을참고하였고로드맵이–어딘가에는, 예를

들면개발문서, 포럼, 이슈트래커등–분명히명시되어있는오픈소스프로젝트를선택하

고자했다. 또한 Change Log등을확인하여발견된버그와미해결버그등을파악할수

있어야했으며문제점과해결책을명시하고검색을통해서그러한사항들을확인할수

있는프로젝트인지도중요한검토사항이었다. 즉, 기술적성숙도보다는오픈소스프로

젝트에대한운영방식과시장방식의개발철학을잘이해하고있는지를주요하게검토

•공개SW의신뢰성

•공개SW의현업적용가능성

•공개SW의기능성

•공개SW의사용성

•공개SW의유지보수성

•라이선스제약사항

•공개SW 커뮤니티영속성

Page 41: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

41

6) 분석

•공개SW의신뢰성

•공개SW의현업적용가능성

•공개SW의기능성

•공개SW의사용성

•공개SW의유지보수성

•라이선스제약사항

•공개SW 커뮤니티영속성

학습난이도

•SI 프로젝트에서납품기일을맞추는것이중요하였으므로현실적으로가장중요한검토

항목이었다. 또한프로젝트멤버들의기술이해가극명하게나뉘어져있어되도록학습해

서적용하기쉬운오픈소스프로젝트를선택하였다.

보안성

•납품처및검수자가보안성에매우민감하였다. 요구사항역시통신전구간에걸쳐암호

화통신이이뤄져야했으므로 SSL 적용여부및보안강화를위한모듈을개발시결합이

가능한지에대한검토가이뤄졌다.

라이센스

•오픈소스라이센스중수정및배포에심각한제약이없어야하나무료/유료여부는상관

이없었다. (예, 오픈소스이면서커머셜라이센스도있는비즈니스모델을채택한솔루션

인경우)

기술지원여부(유료)

•일반적인질문뿐아니라기술적지원이공개된포럼이나이슈트래커외에도이메일지원

여부, 온디멘드서비스지원여부가가능한지검토하였다. SI 프로젝트진행중에발생할

수있는문제에대해신속하고정확한응대가필요한경우가종종발생하였으므로리스크

관리차원에서이점을무시할수없었다.

Page 42: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어의도입, 개발, 대체, 전환, 기술지원, 유지보수, 컨설팅, 교육등을목적으로성숙도와적용

성을수치로산출하는활동

42

7) 평가

• 공개SW 커뮤니티

• 공개SW의신뢰성

• 타제품이식성

• 라이선스이슈

• 고객충실도

고려사항 구성예

비공개SW의품질속성

공개SW의품질속성 이해관계자요구사항

공개소프트웨어의성숙도모델의설계

Page 43: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

43

7) 평가

비공개SW의품질속성

공개SW의품질속성 이해관계자요구사항

• 공개SW 커뮤니티

• 공개SW의신뢰성

• 타제품이식성

• 라이선스이슈

• 고객충실도

오픈소스명 /

평가항목jitsi easyrtc skylink peerJS kurento

사용기술 10 10 10 10 10

비즈니스적합성 9 9 0 9 9

활성도 7 8 7 5 8

성숙도 9 9 5 7 8

학습난이도 8 10 10 8 3

보안성 9 8 * 7 9

라이센스 8 9 0 9 9

기술지원여부(유료) 10 10 10 0 5

결과합(80점만점) 70 73 42 55 61

최고 의사결정자(PD), 프로젝트 개발 매니저(PM), 프로젝트 개발 리더(PL) 세 사람의

의견이가장많이반영되었고프로젝트멤버들의조사도있었으며의견또한일부반영

Page 44: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어의사용조건과의무사항이행을약속하는활동. 공개소프트웨어는상용제품과다르게라

이선스에대한비용청구조건이없으며, 배포받고사용하는순간부터해당라이선스의의무사항준수에동

의한것으로간주되므로주의필요.

44

8) 계약

• 공개SW 권리와의무의식별

• 공개SW 보증(Warranty) 방안

• SLA 기반품질관리

• 장애로인한손실에따른손해보상

• 공개SW 활용에따른지적재산권의분쟁

고려사항 구성예

• 계약의목적• 저작권인정및라이선스준수• 계약효력및범위• 용어의정의• 계약목적물• 주문• 계약이행보증• 지급이행보증• 납품• 납기지체의보상• 납품의변경및중지

• 검수및인도• 대금청구및지급• 하자이행보증• 계약의해지• 권리및의무의양도• 위험부담• 손해보상• 기술지원• 지적재산권• 비밀유지• 분쟁의해결

공개소프트웨어의계약의필수검토항목

Page 45: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

45

8) 계약

공개SW 결합형태 라이선스 기능(사용목적) 비고

EasyRTC

웹클라이언트 SDK라이브러리 BSD 2 통신

EasyRTC Server백그라운드서비스

/ 라이브러리BSD 2

시그널링서버,

미팅룸관리기능

구현

coturn 백그라운드서비스 BSD 3 미디어중계서비스

OpenCV 라이브러리 BSD얼굴인식, 워터마킹,

문자인식

이미지프로세싱

영역에만사용

Jasypt 라이브러리 Apache 2PBE(패스워드기반

암호화)

EasyRTC

iOS SDKSDK Commercial iOS App 개발 계약필요

가격, 보증(Warranty)방안, 활용에따른지적재산권의허용범위여부확인

개발소스에는일부라이센스의정책에따라라이센스와 Copyright를별도파일로만들어고지.

Page 46: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어사용자및개발자를통해도출된요구사항을충족시킬수있도록컴포넌트, 모듈, 함수등

기능구현단위의스펙을정의하고기능구현단위간의호출관계, 파일간의의존관계, 서비스레이어, 공

통파라미터등소프트웨어구조및절차를작성하는활동

46

9) 설계

• 공개SW 활용장점을반영하는아키텍처

• 커뮤니티에공개할설계영역과내부에서관

리할설계영역의구분

• 내부개발자에의한기능의구현

• 내부조직에의한기능테스트및시험

• 알려진버그에대한수정

고려사항 구성예

마이크로서비스아키텍처의예

Source : http://www.popot.kr

Page 47: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

47

9) 설계

• 책임의분리를통한변경으로

발생되는문제(Side effect)

를최소화.

• 하지만서비스간의통신에대

한처리가별도로필요

• 실제개발에앞서설계검증및

기능테스트를위해별도의파

일럿프로젝트를수행

(Django REST Framework,

OpenCV/Python, Docker-

coturn, Docker-nodejs)

공개SW 활용의장점을살리기위해서는모놀리틱아키텍처보다는마이크로서비스아키텍처를지향하고

각서비스간조합(Orchestration)에유의하는설계가필수.

REST API

REST API

Page 48: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

48

마이크로서비스아키텍처

출처 : http://bcho.tistory.com/948 (마이크로서비스아키텍처의이해, 조대협)

마이크로서비스아키텍처는 SOA 사상에근간을두고, 대용량웹서비스개발에맞는구조로사상이경량

화되고, 대규모개발팀의조직구조에맞도록변형된아키텍처.

Page 49: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

49

마이크로서비스아키텍처장점

• 각각의마이크로서비스는 심플하며, 각각의비즈니스요구사항에특화되어있다

- 개발자가관리하는스코프가명확해지게되며, 이를토대로소프트웨어의복잡성을제어하는것이가능해진다.

• 각각의마이크로서비스는 다른프로그래밍언어, 다른도구를사용하여개발할수있다

- 요구사항을구현하기위해최적화된언어와아키텍처의선택이가능

마이크로서비스아키텍처고려사항

• 서비스범위설정문제 : 각각의마이크로서비스를구성하는범위는어느정도가적절할까.

• 레거시시스템과의공존에대한고려

• 운영오버헤드 : 마이크로서비스는 엄청나게많은양의배포작업이수반

• 인터페이스불일치 : 마이크로서비스에서는 서비스간의통신에사용되는인터페이스에의존하게되는데, 각각의서비

스의인터페이스를변경하는것에 대한영향범위를파악하는것은때에따라서만만치않은작업

• 코드중복 : 단일한언어나프레임웍을사용하여개발된다고하면공유라이브러리를통해서코드의중복을해결할수

있지만여러언어를사용하여개발이진행되는경우 코드중복은필연적으로발생할경우도있다

• 테스트의까다로움 : 비동기로동작하는마이크로서비스의 특성상개별서비스에대한테스트는만들기가수월하지만

런타임환경상에서비동기상호작용을테스트하기는 무척이나까다롭다.

출처 : http://www.moreagile.net/2014/10/microservices.html

Page 50: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

설계단계에서정의된기능구현단위의소스코드를작성하고각구성요소를묶어서하나의통합소프트웨

어를만드는활동이다

50

10) 개발

• 공개SW커뮤니티의개발방법론

• 의사소통수단

• 버전관리

• 버그추적방안

• 테스트및디버깅

• 패키지관리

• TDD, 코드리뷰등

고려사항 구성예

업스트림(upstream) 기반의작업패턴

Page 51: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

51

10) 개발(계속)

Git의표준화된 Pull Request 방식에서코드리뷰는의무적으로하지않았고, 매주금요일마다개발에관

한개인별주제를정해서발표하고어떻게코드에적용하였는지팀내부세미나를진행. 애자일프랙티스

중조직에적합한스탠드업미팅, 스프린트회고등을채택하여개발.

우분투 14.04 : 하모니카 OS와유사하고

개발자들이익숙한 OS

Docker : PaaS

Redmine : 할일관리, 이슈관리

Gitlab : 소스저장소, 버전관리

Jenkins : 단위테스트자동화, 빌드자동

화, 개발서버로배포자동화

개발환경

Page 52: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

52

10) 개발

프로젝트에사용된모든소프트웨어들이공개소프트웨어인관계로대부분의정보는매뉴얼과커뮤니티에

올라온질답을참고하여개발을진행하였으며직접질문을올리기도하였다. 안타깝게도이프로젝트에사

용된기술들에대해서국내에선온라인상으로문의할만곳을찾기어려웠으며기술적아티클도예제수

준에지나지않아모든정보획득과커뮤니케이션은해외사이트에서할수밖에없었다.

Slack : 훅킹을 사용하여 저장소의 이벤

트알림, 팀원간커뮤니케이션

데일리스탠드업미팅

공개SW 프로젝트와 커뮤니케이션 : 국

내기술문의처없음.

해외 커뮤니티와 직접 소통을 위한 커뮤

니케이션담당자배정필요

커뮤니케이션

Page 53: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어의설치, 복제, 업데이트등이편리하도록관련된요소프로그램을모으고구성에필요한보

조프로그램또는유틸리티를추가하는작업. 이단계에서직접개발한소스코드와외부에서획득한공개소

프트웨어를결합

53

11) 패키징

고려사항 구성예

• 지원대상운영체제및최소환경

• 패키지관리방식

• 소스코드저장소

• 지속적업데이트제공방안

구분 패키지방식

플랫폼배포Dpkg, RPM, tgz, pacman, IPS, OpenPKG, ports, portage/emerge, apt-build, ABS 등

어플리케이션배포

Composer, PEAR, CPAN, CRAN, Easyinstall, PyPI, RubyGEms, Ivy, Maven 등

Page 54: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

54

11) 패키징

아키텍처상에서서비스로써동작되는구성요소들은 Docker 이미지로만들었으며, 오픈소스라이브러리

를사용하여개발된독립적컴포넌트들은자바웹사이트의경우 war, 영상보안모듈의경우는다운로드,

컴파일, 빌드, 시스템환경설정수정등을자동화시킨스크립트를추가로개발

• 오픈소스를그대로가져다가백그라운드서비스로운영하는coturn의경우는 Docker 이미지를만들어관리하였고EasyRTC Server(시그널링서버)가요구하는 nodejs 환경의경우도 Docker로관리.

• 실통합테스트에서실제운영환경과마찬가지로물리적으로다른서버와다른네트워크에위치시키기용이하고개발에서는하나의물리적환경에서관리하는방식을사용했기때문에백그라운드서비스를Docker로컴포넌트화시켜사용.

• 그외개발소스는모두 maven을사용하여개발,테스트, 운영서버용으로패키지화시키고각구동환경마다환경설정을변수화하였으며maven 플러그인을통해 CI 서버에서매일정해진시간에빌드가자동화되어개발서버로배포.패키징프로세스

Page 55: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

시험은요구사항반영여부와설계단계에서정의한사양이오류나장애가없이정상적으로동작하는지공

개소프트웨어의기능과성능그리고품질등을확인하고규명하는활동

55

12) 시험

고려사항 구성예

• 테스트프로세스

• 테스트통합아키텍처

• 테스트유형 (설치, 호환성, 단위, 회귀, 기능

/비기능 , 성능, 이용성, 국제화테스트등)

• 테스트자동화

http://d2.naver.com/helloworld/87523

네이버모바일뉴스서비스테스트

Page 56: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

56

12) 시험

웹기반의애플리케이션의경우, 실행즉시서비스페이지동작여부, 지속적인부하테스트가필요로했으

며이를위해오픈소스프로젝트인 http://locust.io 테스트도구를사용.

미디어중계서버의경우는자체테스트유틸리티가제공되었으며 udp 통신, 멀티클라이언트통신, STUN

통신등에대한테스트를서버내에서수행.

Page 57: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어를외부사용자에게전달해주는활동으로서전달매체(인터넷, 저장소, 문서), 배포물의형

태(소스코드, 실행코드), 사용자유형(고객, 불특정개인·단체) 등에는제한이없다.

57

13) 배포

고려사항 구성예

• 라이선스의무준수사항

• 배포의유형

• 소스코드의공개방식

• 소스코드저장소

• 지속적배포가가능한아키텍처

지속적통합아키텍처

Page 58: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

58

13) 배포

• 백그라운드서비스로제공되는 EasyRTC Server, STUN/TURN 서버는 OS 및라이브러리종속성이강하며컴파일, 빌드과정이복잡한관계로스크립트로해결될문제가아니라고판단하여 Docker 이미지를만들수있는파일(Dockerfile)을배포하는방식을채택

• 웹클라이언트는 war 파일로패키징하여해당사업담당자에우선전송하고검수를거친뒤, 내부지정된 PC를사용하여보안클라이언트를실행한뒤고객사데이터센터에있는서버에접속하여개발자가수동으로배포

• 모바일의경우는애플앱스토어, 구글앱스토어에제출

컨테이너이미지생성파일배포

WAR 배포 앱스토어배포

Page 59: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공급계약된공개소프트웨어를최초구동할수있도록서비스제공자가직접작업을수행하거나최초구동

에필요한소프트웨어또는관련문서를고객에게제공하는활동

59

14) 설치

고려사항 구성예

• SW 설치유형

• 설치용이성

• 필수환경변수

• 설치가이드

• 사용가이드

구분 상세설명

소스코드

컴파일은가장기본적인설치방법이다. 소프트웨어개발자가패키징을해놓지않았다면제공되는 README 파일또는 INSTALL 파일에기재된설치방법을보고그대로설치

바이너리소스컴파일의과정은없지만해당바이너리파일이구동되기위한라이브러리버전을맞춰줘야하고, 설치후의환경설정과정도소스컴파일방식과동일

패키지매니저

패키지파일은압축파일로서배포되는소스파일들외에설치전실행스크립트, 설치후실행스크립트등을가지고있어서사용자가어플리케이션을사용하기위해해야하는일들을자동으로해준다 (RPM, DPKG 등)

원격저장소

사용자가패키지간에발생했던의존성을해결하기위하여일일이패키지를찾아다니지않고, 명령어한줄로간단하게시스템에어플리케이션을설치. (YUM, APT-GET 등)

Page 60: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

60

14) 설치

사용자직접설치가어려운 SW아키텍처의구성이므로컨테이너이미지와동일한환경의서버환경구축,

war 파일을통한웹클라이언트설치, 패키징단계에서개발된설치스크립트를활용하여고객사직접방

문설치수행.

Dockerfile Bash script

Page 61: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어를원활히사용할수있도록인프라, 하드웨어, 네트워크, 소프트웨어등제반환경을구성하

고설치된공개소프트웨어의목적기능을제공하는활동

61

15) 운영

고려사항 구성예

• 운영유형별역할과책임(R&R) 구성

• 내부운영조직의전문성과기술수준

• 운영기술교육훈련체계

• 외부업체와의운영계약경우 SLA

시스템운영부문역량체계

Page 62: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

62

15) 운영

• 운영유형별역할과책임(R&R) 구성

• 내부운영조직의전문성과기술수준

• 운영기술교육훈련체계

• 외부업체와의운영계약경우 SLA

N/A

Page 63: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어를최고의운영상태로구동시키기위해서버전업데이트및패치, 버그수정, 보안취약점개

선, 설정변경등보완과개선을지속하는활동

63

16) 유지보수

고려사항 구성예

• 유지보수유형별유지보수전개모델

• 유지보수조직구성

• 사용된공개SW 프로젝트모니터링체계

• 결함관리시스템과프로세스

• 유지보수업무별관리지침

• 외부위탁계약경우아웃소싱관리방안ITIL Service Lifecycle

출처 : ITILv3 mapping for PPM and SM Centers, Michael Yang, HP Software World 2008

Page 64: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

64

16) 유지보수

http://www.nextree.co.kr/p2581/

이슈관리시스템 유지보수문제해결프로세스

사용된오픈소스기술은매우빠르게변경되는경우가발생하였으며이를지속적으로모니터링하여변경

사항을쉽게확인할수있어야했다. 특히 WebRTC의경우는브라우저마다표준의구현범위가다르거나

최신표준을따르지않는경우가발생하여간혹기능의오류가발견되기도하였음.

Github Watch 등록후변화된내용을감지, 추적하여발생할미래의문제에대한예비책을강구하고향후업그레이드시적용할태스크로관리

Page 65: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

서비스제공자가공개소프트웨어를사용하는고객에게성능개선, 장애해결, 오류수정, 추가요구사항반

영등공개소프트웨어기술기반의서비스를제공하는활동. 가입자계약에의해서제공되는운영및유지

보수서비스뿐만아니라요청기반의단기서비스도포함.

65

17) 기술지원

고려사항 구성예

• 기술지원업무유형별조직구성

• 내부운영의경우관리기술, 분석도구, 관리

담당자

• 서비스데스크및관리지침

• 외부위탁계약경우아웃소싱관리방안

기술지원업무프로세스

Page 66: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

66

17) 기술지원

요청자

기술지원담당자

메일

전화

웹폼

서비스데스크

문제관리

공개SW커뮤니티

요청등록(접수)

변경관리

릴리즈관리(반영)

구성관리(CMDB)

통계, 완료,보고, 기록

내부이슈관리시스템

이슈트래킹

기술지원요청이접수되면사용된공개SW와관련된이슈를해결하기위하여이슈트래커를통하여공개

SW커뮤니티와소통하고처리결과를내부지식DB로축적.

Page 67: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

개발에참여하여사양을정하고소스코드를기여하며문제를해결하는것뿐만아니라 , 재정적지원, 교류

참여등도포함. 어떤수준의활용전략을수립하는지에따라서다양한참여방식이가능.

67

18) 커뮤니티

고려사항 구성예

• 커뮤니티참여정책과전략의연계 (단순사

용, 적극적참여, 전략적사용)

• 커뮤니케이션담당자또는전담조직

• 커뮤니티참여정책에따른업무지침

• 커뮤니티활동업무평가

• 지속적관심과참여

• 커뮤니티활동홍보방안

공개SW커뮤니티활용전략의예

Page 68: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

68

18) 커뮤니티(계속)

초기기술도입단계이므로 ‘단순사용’전략으로시작, 프로젝트에사용된기술은기업주도형으로발전된

커뮤니티의유형이므로주도기업으로부터기술지원을받을수있는채널을확인. 모바일 SDK 구매계약

의과정에서향후기술지원의가능성과범위에대한상호협의를진행.

Page 69: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

69

18) 커뮤니티

공개SW 기술을 ‘전략적커뮤니티사용’ 정책으로운영되는경우도다수.

예) 개방형OS 하모니카커뮤니티의경우커뮤니케이션담당자가배정되어있으며커뮤니티에서발생되는여러이슈에대한적극적대응을하고있음.

•한글화서비스 : http://hamonikr.org/tr/korean_bs.php

•소스저장소 : git.hamonikr.org

•빌드시스템 : http://jenkins.hamonikr.org:8080/

•빌드(Compiler)서버 : 내부망운영

• S3-1 키아나 : 내부망 /

• S3-2 레베카 : 내부망 /

• S3-3 라파엘라 : 내부망 /

•패키지저장소 : http://packages.hamonikr.org/

• packages.hamonikr.org:80

•이슈관리 : http://git.hamonikr.org:3000/redmine

•모니터링 : http://hamonikr.org/cubemon일평균 900명방문

Page 70: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

공개소프트웨어가피배포자에게전달되는과정에서배포자가라이선스의무사항을준수하는활동으로서

공개소프트웨어의프로젝트명칭, 원저작자표기, 저작권선언, 라이선스명칭, 파일경로, 결합방법, 충돌

여부등준법에관련된정보를제공

70

19) 컴플라이언스

고려사항 구성예

• 사용권고지의의무

• 저작권고지의의미

• 소스코드공개의의무

• 특허포기의의무

공개SW 컴플라이언스의핵심단계 (Samsung OSS Group)

https://blogs.s-osg.org/7-steps-to-strengthen-your-open-source-compliance/

Page 71: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

71

19) 컴플라이언스

공개SW

발견및획득

공개SW 활용

검토및승인

공개SW 라이선스의무사항의

준수

http://www.oss.kr/oss_license/519476

• 사용권고지의의무

• 저작권고지의의미

• 소스코드공개의의무

• 특허포기의의무

공개SW 소스코드제공

•모든공개SW BSD 및 Apache2 라이선스

공개SW 라이선스고지

•서비스구성요소마다배포단위로모두라이

센스와 Copyright를고지한별도의파일을

포함하여설치시배포.

Page 72: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

서비스제공자가공개소프트웨어를사용하는고객에게공개소프트웨어에관련된제반기술, 노하우, 기술,

경험, 유스케이스, 교훈, 샘플, 패턴등을현장또는온라인환경에서제공하는활동. 내부교육활동과외부

교육서비스로구분.

72

20) 교육

고려사항 구성예

• 내부교육활동의경우사내교육전문가

• 내부공개SW 역량강화체계

• 교육대상별세분화된교육내용(내부개발

자, 내부정책결정자, 공급망관계자등)

• 공개SW 역량평가모델

SW 역량관리맵– SW 구현부문

Page 73: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

73

20) 교육

공개소프트웨어의도입, 활용, 배포에대한이해력을높이기위해도제식내부기술교육을통하여지식을

전달하고공개SW 활용역량을향상시킴. 자사의경우직무역량을관리할수있는교육훈련체계를보유하

고있으므로공개SW 활용을위한직무교육계획에따라수행.

SW엔지니어직무교육맵

Page 74: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

협의의의미에서사용자가사용하는공개소프트웨어의상태를주기적으로점검하고기록하는활동과, 광의

의의미에서향후안정적인운영과유지보수를보장하기위해서해당공개소프트웨어커뮤니티의동향, 진

행현황및주요이슈등을주기적으로추적하고검토하는활동까지포함.

74

21) 모니터링

고려사항 구성예

• 사용중인공개SW 메일링리스트가입

• 모니터링업무프로세스및지침

• 모니터링활동및피드백

• 모니터링결과전사적공유

모니터링업무수행과정

정보수집

전사공유

Page 75: 공개SW 거버넌스 실무

공개SW 거버넌스프레임워크

75

21) 모니터링

라이선스정책변화및신규버그등에관한것은각프로젝트의이슈트래커, 메일링리스트, 포럼회원가입

을통해메일로알림을받고있다. 심각한버그가아니라면다음릴리즈때반영하거나향후업그레이드시

고려해야할사항으로소스상에주석으로기재하고있음.

Github watch

메일링리스트

공개SW이슈트래

Page 76: 공개SW 거버넌스 실무

본교육에서이야기한공개소프트웨어거버넌스프레임워크의내용은아래의경로에서 PDF로다운로드가능합니다.

http://www.oss.kr/oss_repository12/628521

Page 77: 공개SW 거버넌스 실무

77

김형채이사 ([email protected])

같은문제에대해고민하는사람들과이야기하는것을좋아합니다.

관련하여기타의견이나문의사항이있으신경우언제든지연락주세요.