Open Source Community
Understanding and Build
인베슘 김형채
hckim@invesume.com
1
2
개방형 OS 오픈소스 커뮤니티 ‘하모니카’
Goal
2006 2014
하모니카 Beta
(2014.11.27)
2015
하모니카 RC
(2015.02.17)
하모니카 RTM
(2015.07.15)
2016
하모니카 2.1 64bit RC1
하모니카 2.1 32bit RC1
(2016.01.25)
하모니카 키아나(Qiana) 하모니카 2.1 로사 RC1
2017
하모니카 커뮤니티 배포판
Moordev Mate 64bit
1.0(2017.12.11)
하모니카 커뮤니티 배포판
Moordev Mate 64bit 1.0
Version History
하모니카 이용현황 • 현재 16개 공공기관 및 학교에서 사용 중(국방부, 경찰청, 농림부 등)
• 3년간 총 다운로드 수 109,028건(2014.12~2018.01 현재)
개방형 OS의 한국어 사용자 접근성을 높여 개방형 OS 환경 보급 확산을
위한 프로젝트 ( http://hamonikr.org )
프로젝트 vs 커뮤니티
3
4
Where is Open Source Project?
• https://github.com/explore
Where is Open Source Project?
• https://sourceforge.net/directory
5
Where is Open Source Project?
• https://www.openhub.net/explore/projects
6
Open Source Project Statistics
• GitHub : 6,700,000
• Source forge : 500,000
• Open Hub : 473,095
https://octoverse.github.com/
https://sourceforge.net/about
https://www.openhub.net/explore/projects
7
Open Source Community Statistics
• 국내외 오픈소스 커뮤니티 현황
• 해외 오픈소스 커뮤니티
• Eclipse: 400
• Apache: 250
• OpenStack: 20
8
Where is Open Source Community?
• Apache Software Foundation
• http://www.apache.org/foundation/
• Document Foundation
• http://www.documentfoundation.org/
• Eclipse Foundation
• https://eclipse.org/org/
• Free Software Foundation (FSF)
• http://www.fsf.org/about/
• Linux Foundation
• http://www.linuxfoundation.org/about
• Open Source Initiative (OSI)
• http://www.opensource.org/
• OpenStack Foundation
• https://www.openstack.org/foundation
OSS Foundation Repository’s ORG
OSS Company
9
OpenStack Foundation Community
• https://groups.openstack.org/
10
GitHub Open source organizations
• https://github.com/collections/open-source-organizations
11
Google Summer of Code
• https://summerofcode.withgoogle.com/
12
오픈소스 프로젝트 ≠ 오픈소스 커뮤니티
13
오픈소스 커뮤니티 ?
14
15
16
17
18
소스 : http://packages.hamonikr.org/linuxmint17.3-mate/pool/main/
19
20
Open Source Development Model
Ref : Samsung Open Source Group21
오픈소스 커뮤니티 ≠ 개발자들의 모임
22
Open Source Community
• Access
• Code available equally to everyone
• Support resources/infrastructure equally available to everyone
• Collaboration
• Shared responsibility and accountability
• Ability to influence project through sustained contributions (user,
developer)
Ref : OW2 Open Source Workshop 201523
Open Source Community Governance
24
Open Source Community Governance
• 커뮤니티 거버넌스 모델은 프로젝트 참여자가 수행할 수 있는 역할
과 프로젝트 내 의사결정 프로세스를 설명.
• 또한 프로젝트 참여 및 프로젝트 팀 및 커뮤니티 내 의사소통 및 공
유 프로세스에 대한 기본규칙을 설명.
• 즉, 오픈소스 프로젝트가 혼란으로 빠져나가는 것을 방지하는 관
리모델. (Social framework)
25
License vs Governance
• License
• 소스코드에 대한 바른 사용 권한, 비즈니스 전략에 영향
• Governance
• 어떻게 사람들과 협력할지 정의, 조직 전략에 영향
License = 0
Governance = 0
License = 1
Governance = 0
License = 1
Governance = 1
26
• https://www.apache.org/foundation/governance/
27
• https://eclipse.org/org/documents/
28
• https://wiki.openstack.org/wiki/Governance
29
• http://www.libreoffice.org/about-us/governance/
30
• http://www.linuxfoundation.org/collaborate/workgroups/cgl/governance
31
Community Governance Elements
원칙
역할
구조
의사 결정
갈등 해결
소유권
합류
절차
선거
…
32
Governance Style
Ref : http://oss-watch.ac.uk/resources/governancemodels
데이터
우선
의사결정
조직 우선
33
Meritocratic Governance Example
Ref : https://goo.gl/W5Datc
Gardler, R and Hanganu, G. et al – Meritocratic governance model
프로젝트에 기여 참여 멤버들의 인정
의사결정 중요도 증가리더십 획득
https://www.apache.org/foundation/how-it-works.html
34
Open Source Community Key Factors
• 다양한 기업의 참여와 지속적 지원, 그리고 잘 준비된 거버넌스
Ref : OW2 Open Source Workshop 201535
When governance is needed
• Size of the community
• Increasing conflicts
• Extensive resources
• Commercial interest
Ref : https://www.slideshare.net/eurolinux/governance-v2536
오픈소스 거버넌스 = 모두에게 필요하다
37
오픈소스 프로젝트 성숙도
38
Open Hub Project Ranking
• https://www.openhub.net/
39
Open Source Maturity Model(1)
• https://en.wikipedia.org/wiki/OpenSource_Maturity_Model
Basic level:
PDOC: Product Documentation
STD: Use of Established and Widespread Standards
QTP: Quality of Test Plan
LCS: Licenses
ENV: Technical Environment
DFCT: Number of Commits and Bug Reports
MST: Maintainability and Stability
CM: Configuration Management
PP1: Project Planning Part 1
REQM: Requirements Management
RDMP1: Availability and Use of a (product) roadmap
Intermediate level:
RDMP2: Availability and Use of a (product) roadmap
STK: Relationship between Stakeholders
PP2: Project Planning Part 2
PMC: Project Monitoring and Control
TST1: Test Part 1
DSN1: Design Part 1
PPQA: Process and Product Quality Assurance
Advanced level:
PI: Product Integration
RSKM: Risk Management
TST2: Test Part 2
DSN2: Design 2
RASM: Results of third party assessment
REP: Reputation
CONT: Contribution to FLOSS Product from SW Companies
40
Open Source Maturity Model(2)
• https://github.com/github/maturity-model
Ad-hoc
•a new or undocumented process is uncontrolled, reactive and unpredictable, typicall
y driven by individuals without coordination or communication. Success depends on in
dividual heroics.
Managed
•a process is partially documented, possibly leading to consistent results. Success depe
nds on discipline.
Defined
•a process is documented, standardized, and integrated into other processes. Success
depends on automation.
Measured
•the process is quantitatively managed. Success depends on measuring metrics agains
t business goals.
Optimized
•the process is continually and reliably improving through both incremental and innov
ative changes. Success depends on reducing the risk of change.
41
Open Source Software Index
• https://www.battery.com/powered/boss-index-tracking-explosive-growth-open-
source-software/
42
공개SW 성숙도 및 적용성 평가지침(3)
• https://goo.gl/C3sGaE
표준종류 정보통신단체표준(TTAS)
표준번호 TTAK.KO-11.0133/R2 구 표준번호
제개정일 2016-12-27 총 페이지 18
한글 표준명 공개SW 성숙도 및 적용성 평가 지침
영문 표준명 The Guideline of maturity and applicability assessment for open software
한글 내용요약
공개 소프트웨어라 함은 저작권이 존재하지만 저작권자가 소스 코드를 공개하여 누
구나 자유롭게 설치, 복제, 수정, 재 배포 등을 할 수 있는 자유로운 소프트웨어를 의
미한다. 그러나, 현존하는 공개 소프트웨어의 수는 수십만 종에 이르며 나날이 새로
운 프로젝트(제품)가 생성되기 때문에 막상 사용하고자 할 경우에는 어떤 종류가 있
는지, 제품의 품질이 어떠한 수준인지, 상용으로 사용하기에는 문제가 없는지를 판단
하기에 상당한 어려움이 따른다. 본 표준은 이러한 문제를 해결하기 위해 본 표준은
공개 소프트웨어의 평가를 위해 반드시 필요한 속성을 공통 속성으로 선정하고, 더
나아가 상업적 용도에 맞는 공개 소프트웨어를 선별하기 위해 추가적으로 필요한 확
장 속성을 제시한다. 또한 표준과 확장 속성을 정의함으로써 평가에 대한 근거와 정
보를 제공하고 있다.
43
공개SW 성숙도 및 적용성 평가지침(3)
속성군 표준 속성 설명
기능성
기능 적합성
분류 체계의 해당 카테고리에서 마땅히 제공해야 하는 목표 기능
을 충실히 수행하는 수준
지원성
설치 툴, 패치, 관리, 모니터링 등 목표 기능을 최상의 조건으로 수
행하는데 필요한 보조 기능을 다양하게 제공하는 수준
상호운용성
다양한 운영체제(Linux, Unix, Windows)에서 설치 및 작동이
가능한 수준
이식성
대체성
동일한 기능의 다른 오픈 소스 제품에서 전환 및 대체(migration)
를 용이하게 수행할 수 있는 수준(표준 수용성)
대 체 후 기 능
성
유사 오픈 소스 제품으로 대체한 이후에도 동일한 기능을 수행할
수 있는 수준
설치성
다 양 한 플 랫 폼 에 이 식 될 수 있 도 록 구 성 파 라 미 터
(configuration parameter)의 조작이 용이하고 설치가 간단
하고 편리한 수준
신뢰성
가용성
에러, 버그, 정지, 종료 등 비정상적인 동작이 없이 정상적으로 운
영되는 정도
회복성 문제 및 장애 발생 시 복구 및 대응이 잘 되는 정도
최신성 최근 일정 기간 동안 신속하게 발전하는 정도
성숙성
커뮤니티의 인력 구성, 역할 분배, 운영 및 관리 체제가 얼마나 안
정적이고 체계적인지 나타내는 수준
사용성
이해성
매뉴얼, 가이드, 튜토리얼 등 제품 사용 및 이용에 필요한 문서 및
자료의 제공 수준
학습성
제품 구성, 설치, 운영에 필요한 자문, 컨설팅, 교육, 인증(자격증)
등에 관련된 서비스를 제공하는 수준
운용성 사용, 운영, 관리에 편리한 기능 수준 (예 GUI 환경)
유지보수성
분석성
에러 또는 문제를 해결하는데 도움이 되도록 원인과 상태를 상세
히 분석할 수 있는 메일링, 버그 리포팅, 이슈 트랙킹 등 소통 수준
전문기술
해당 오픈 소스에 대해서 전문 업체 또는 커뮤니티의 기술 지원 서
비스가 가능한 수준
시험성 패치 또는 업그레이드 버전에 대한 품질 측정 수준
속성군 확장 속성 설명
커뮤니티
나이 및 규모
오랫동안 활동이 왕성하게 지속되고 최근에도 활동이
활발하여 발전하고 있는 수준
주체
커뮤니티가 쇠약하지 않고 발전할 수 있도록 기업 및 단
체로부터 지속적인 경제적, 인력적, 사업적 지원이 있는
정도
접근성
상위의 인터넷 검색이 가능하고, 커뮤니티 참여와 지적
자산의 공유에 편리한 인터페이스를 제공하고 있는 수
준 (이메일, 게시판, 패이스북)
관리체계
커뮤니티 내에서 프로그램 개발, 소스 코드 기여, 수용
여부 심사, 품질 테스트, 로드맵 수립 등 개발과 품질에
관련된 활동이 체계적으로 진행되고 있는 수준
라이선스
이슈
라이선스 충돌 배포된 버전에 대해서 라이선스 문제가 있는 정도
면책 서비스
저작권 문제 발생 시 법적 위험으로부터 고객을 보호할
수 있는 수준
특허 침해성 특허 침해 문제가 있는 정도
고객 충실도
SLA 충실도 고객 서비스가 수준 별로 정의되어 있고 지원되는 정도
문제해결 능력만
족도
문제가 발생했을 시 신속한 기술지원을 제공할 수 있는
수준
기술보증 기술 지원을 통해 제품의 품질이 보증되는 수준
선호도 고객이 선호하는 정도
44
공개SW 성숙도 및 적용성 평가지침 적용사례
• 개방형 클라우드 플랫폼 기술선정(PaaS-TA)
오픈소스 성숙도 및 적용성 평가 지침을 활용한 개방형 클라우드플랫폼 선정
45
오픈소스 성숙도 모델 ≠ 표준이 있다.
46
오픈 R&D의 커뮤니티 구축
47
기존의 커뮤니티가 존재해서 참여하는 경우
• 커뮤니티 활성화의 기반이 존재하므로 이 경우가 가장 좋음
Ref : Samsung Open Source Group
Origin Community
48
해당하는 오픈 프로젝트가 없는 경우
• 단계별로 신규 커뮤니티 구축 과정이 필요
Ref : 공개SW R&D 과제 사례 (정성인)
논문발표 및 기술의 개념 정립
오픈소스 프로젝트 생성
오픈소스 커뮤니티 구축
49
오픈소스 커뮤니티 성장 단계
• Community Building Stages
Ref : OW2 Open Source Workshop 201550
Technical Stage
Essential components
• Web Site
• Source code repository system
• Mailing list
• IRC / slack
• Bug and feature tracking
51
Technical Stage
• Component license management.
• 라이선스 정책
• 잘 동작하는 SW
• 프로그램 데모
• 프로그램 적용사례
• Third Party 도구 지원
52
Technical Stage Examples
• Web Site - https://www.ubuntu-kr.org
53
Technical Stage Examples
• Code Repository
54
Technical Stage Examples
• Development Flow
55
Technical Stage Examples
• Mailing list
Ref : https://mail.python.org/mailman/listinfo56
Technical Stage Examples
• IRC / Slack
57
Technical Stage Examples
• Issue Tracker(JIRA)
58
Open Source Stage
Infrastructure
• Web Site
• Source code repository system
• Mailing list
• IRC / slack
• Bug and feature tracking
• Documents collaboration tool(Wiki)
• Milestone and release tracking
• Forums
• Automated build and test system
59
Open Source Stage
• Well Structured Governance
• 프로젝트 문서
• 라이선스 관리
• 커밋과 버그 트래킹 관리
• 코드 관리 및 안정화
• 요구사항관리
• 프로젝트 로드맵 관리
• 기여자 관리
• 의사결정 절차
60
Open Source Stage Examples
• Front Page for All visitors
프로젝트가 무엇
인지 설명
소스코드를 어디
에서 획득할 수
있는지 설명
누가 후원하고
참여하는지 게시
61
Open Source Stage Examples
• For Developers
기술 아키텍처, 라이선스, 개발자 참여 방법에 대한 설명
• Infrastructure
• Committers and Contributors
• Project Management Committees (PMC)
• Licenses and Legal Issues
• Version Control
• Websites
• Releases
• Issue Tracking
• Mailing Lists
• Board of Directors and ASF Governance Overview
62
Open Source Stage Examples
• Get Involved
프로젝트에 기여하는 다양한 방식 제시
• REPORT BUGS AND ENHANCEMENTS
• FIX BUGS OR IMPLEMENT ENHANCEMENTS
• BECOME A COMMITTER
• PROMOTE ECLIPSE TECHNOLOGIES
63
Technical Stage Examples
• Documents collaboration tool(Wiki)
https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+3+release+status+updates64
Technical Stage Examples
• Software Quality Visualization
Ref : https://sonarcloud.io/dashboard?id=org.apache.maven.enforcer%3Aenforcer
65
Open Source Stage Examples
• Roadmap
Ref : http://motown.io/roadmap/66
Open Source Stage Examples
• Roles and Responsibilities
Ref : https://www.apache.org/foundation/how-it-works.html67
Open Source Stage Examples
• Decision making process
Ref : http://motown.io/roadmap/68
Open Source Stage Examples
• Contribution process
Ref : http://gcompris.net/wiki/Contribution_process69
A typical governance document sections
• Overview
• Roles and responsibilities
• Decision making process
• Contribution process
• Support
Ref : http://oss-watch.ac.uk/resources/governancemodels
Template For A Benevolent Dictator Governance Document
http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel
Template For A Meritocratic Governance Document
http://oss-watch.ac.uk/resources/meritocraticgovernancemodel
70
Ecosystem Stage
Infrastructure
• Web Site
• Source code repository system
• Mailing list
• IRC / slack
• Bug and feature tracking
• Documents collaboration tool(Wiki)
• Milestone and release tracking
• Forums
• Automated build and test system
• Branding (logo, style guide, official colors or fonts)
• Reporting system(codebase activity reports)
• Promotion tools
71
Ecosystem Stage
• Partnership and Expanding Market
• 비즈니스 협의체 구성
• 공식 파트너사 관리
• 파트너 조직 전략 반영
• 기술지원 파트너 기업관리
• 목표 시장 홍보
• 다양한 적용 사례 제공
72
Ecosystem Stage Examples
• Codebase Reporting System
• https://projects.apache.org/statistics.html
73
Ecosystem Stage Examples
• Ubuntu Brand assets
• https://design.ubuntu.com/brand/
74
Ecosystem Stage Examples
• Joining Corporate Member
https://www.openstack.org/join/#sponsor75
Ecosystem Stage Examples
• Partner Management & Marketplace
Ref : https://www.openstack.org/marketplace/76
Appendix
77
오픈소스 프로젝트 사례(billboard.js)
• 14일 만에 GitHub 스타 천 개 받은 차트 오픈소스 개발기
• https://www.slideshare.net/deview/11514-1000
• http://tv.naver.com/v/2292658
78
Useful Links for OSS Community
• 오픈소스 프로젝트 공개하기
• https://naver.github.io/OpenSourceGuide/book/OpenYourProject/starting-an-open-
source-project.html
• Source : 네이버 오픈소스 가이드
• 10 Steps to Being Successful in Open Source
• https://blogs.s-osg.org/simple-steps-successful-open-source/
• Source : SAMSUNG Open Source Group
• How to join a technical community
• https://opensource.com/article/17/1/how-join-technical-
community?utm_campaign=intrel
• Source : opensource.com
79
Useful Links for OSS Community
• 오픈소스 프로젝트 툴킷
• https://www.atlassian.com/software/views/open-source-license-request
80
Thank you
인베슘 김형채
hckim@invesume.com

Open source community Building

  • 1.
    Open Source Community Understandingand Build 인베슘 김형채 hckim@invesume.com 1
  • 2.
    2 개방형 OS 오픈소스커뮤니티 ‘하모니카’ Goal 2006 2014 하모니카 Beta (2014.11.27) 2015 하모니카 RC (2015.02.17) 하모니카 RTM (2015.07.15) 2016 하모니카 2.1 64bit RC1 하모니카 2.1 32bit RC1 (2016.01.25) 하모니카 키아나(Qiana) 하모니카 2.1 로사 RC1 2017 하모니카 커뮤니티 배포판 Moordev Mate 64bit 1.0(2017.12.11) 하모니카 커뮤니티 배포판 Moordev Mate 64bit 1.0 Version History 하모니카 이용현황 • 현재 16개 공공기관 및 학교에서 사용 중(국방부, 경찰청, 농림부 등) • 3년간 총 다운로드 수 109,028건(2014.12~2018.01 현재) 개방형 OS의 한국어 사용자 접근성을 높여 개방형 OS 환경 보급 확산을 위한 프로젝트 ( http://hamonikr.org )
  • 3.
  • 4.
    4 Where is OpenSource Project? • https://github.com/explore
  • 5.
    Where is OpenSource Project? • https://sourceforge.net/directory 5
  • 6.
    Where is OpenSource Project? • https://www.openhub.net/explore/projects 6
  • 7.
    Open Source ProjectStatistics • GitHub : 6,700,000 • Source forge : 500,000 • Open Hub : 473,095 https://octoverse.github.com/ https://sourceforge.net/about https://www.openhub.net/explore/projects 7
  • 8.
    Open Source CommunityStatistics • 국내외 오픈소스 커뮤니티 현황 • 해외 오픈소스 커뮤니티 • Eclipse: 400 • Apache: 250 • OpenStack: 20 8
  • 9.
    Where is OpenSource Community? • Apache Software Foundation • http://www.apache.org/foundation/ • Document Foundation • http://www.documentfoundation.org/ • Eclipse Foundation • https://eclipse.org/org/ • Free Software Foundation (FSF) • http://www.fsf.org/about/ • Linux Foundation • http://www.linuxfoundation.org/about • Open Source Initiative (OSI) • http://www.opensource.org/ • OpenStack Foundation • https://www.openstack.org/foundation OSS Foundation Repository’s ORG OSS Company 9
  • 10.
    OpenStack Foundation Community •https://groups.openstack.org/ 10
  • 11.
    GitHub Open sourceorganizations • https://github.com/collections/open-source-organizations 11
  • 12.
    Google Summer ofCode • https://summerofcode.withgoogle.com/ 12
  • 13.
    오픈소스 프로젝트 ≠오픈소스 커뮤니티 13
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
    Open Source DevelopmentModel Ref : Samsung Open Source Group21
  • 22.
    오픈소스 커뮤니티 ≠개발자들의 모임 22
  • 23.
    Open Source Community •Access • Code available equally to everyone • Support resources/infrastructure equally available to everyone • Collaboration • Shared responsibility and accountability • Ability to influence project through sustained contributions (user, developer) Ref : OW2 Open Source Workshop 201523
  • 24.
    Open Source CommunityGovernance 24
  • 25.
    Open Source CommunityGovernance • 커뮤니티 거버넌스 모델은 프로젝트 참여자가 수행할 수 있는 역할 과 프로젝트 내 의사결정 프로세스를 설명. • 또한 프로젝트 참여 및 프로젝트 팀 및 커뮤니티 내 의사소통 및 공 유 프로세스에 대한 기본규칙을 설명. • 즉, 오픈소스 프로젝트가 혼란으로 빠져나가는 것을 방지하는 관 리모델. (Social framework) 25
  • 26.
    License vs Governance •License • 소스코드에 대한 바른 사용 권한, 비즈니스 전략에 영향 • Governance • 어떻게 사람들과 협력할지 정의, 조직 전략에 영향 License = 0 Governance = 0 License = 1 Governance = 0 License = 1 Governance = 1 26
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
    Community Governance Elements 원칙 역할 구조 의사결정 갈등 해결 소유권 합류 절차 선거 … 32
  • 33.
    Governance Style Ref :http://oss-watch.ac.uk/resources/governancemodels 데이터 우선 의사결정 조직 우선 33
  • 34.
    Meritocratic Governance Example Ref: https://goo.gl/W5Datc Gardler, R and Hanganu, G. et al – Meritocratic governance model 프로젝트에 기여 참여 멤버들의 인정 의사결정 중요도 증가리더십 획득 https://www.apache.org/foundation/how-it-works.html 34
  • 35.
    Open Source CommunityKey Factors • 다양한 기업의 참여와 지속적 지원, 그리고 잘 준비된 거버넌스 Ref : OW2 Open Source Workshop 201535
  • 36.
    When governance isneeded • Size of the community • Increasing conflicts • Extensive resources • Commercial interest Ref : https://www.slideshare.net/eurolinux/governance-v2536
  • 37.
    오픈소스 거버넌스 =모두에게 필요하다 37
  • 38.
  • 39.
    Open Hub ProjectRanking • https://www.openhub.net/ 39
  • 40.
    Open Source MaturityModel(1) • https://en.wikipedia.org/wiki/OpenSource_Maturity_Model Basic level: PDOC: Product Documentation STD: Use of Established and Widespread Standards QTP: Quality of Test Plan LCS: Licenses ENV: Technical Environment DFCT: Number of Commits and Bug Reports MST: Maintainability and Stability CM: Configuration Management PP1: Project Planning Part 1 REQM: Requirements Management RDMP1: Availability and Use of a (product) roadmap Intermediate level: RDMP2: Availability and Use of a (product) roadmap STK: Relationship between Stakeholders PP2: Project Planning Part 2 PMC: Project Monitoring and Control TST1: Test Part 1 DSN1: Design Part 1 PPQA: Process and Product Quality Assurance Advanced level: PI: Product Integration RSKM: Risk Management TST2: Test Part 2 DSN2: Design 2 RASM: Results of third party assessment REP: Reputation CONT: Contribution to FLOSS Product from SW Companies 40
  • 41.
    Open Source MaturityModel(2) • https://github.com/github/maturity-model Ad-hoc •a new or undocumented process is uncontrolled, reactive and unpredictable, typicall y driven by individuals without coordination or communication. Success depends on in dividual heroics. Managed •a process is partially documented, possibly leading to consistent results. Success depe nds on discipline. Defined •a process is documented, standardized, and integrated into other processes. Success depends on automation. Measured •the process is quantitatively managed. Success depends on measuring metrics agains t business goals. Optimized •the process is continually and reliably improving through both incremental and innov ative changes. Success depends on reducing the risk of change. 41
  • 42.
    Open Source SoftwareIndex • https://www.battery.com/powered/boss-index-tracking-explosive-growth-open- source-software/ 42
  • 43.
    공개SW 성숙도 및적용성 평가지침(3) • https://goo.gl/C3sGaE 표준종류 정보통신단체표준(TTAS) 표준번호 TTAK.KO-11.0133/R2 구 표준번호 제개정일 2016-12-27 총 페이지 18 한글 표준명 공개SW 성숙도 및 적용성 평가 지침 영문 표준명 The Guideline of maturity and applicability assessment for open software 한글 내용요약 공개 소프트웨어라 함은 저작권이 존재하지만 저작권자가 소스 코드를 공개하여 누 구나 자유롭게 설치, 복제, 수정, 재 배포 등을 할 수 있는 자유로운 소프트웨어를 의 미한다. 그러나, 현존하는 공개 소프트웨어의 수는 수십만 종에 이르며 나날이 새로 운 프로젝트(제품)가 생성되기 때문에 막상 사용하고자 할 경우에는 어떤 종류가 있 는지, 제품의 품질이 어떠한 수준인지, 상용으로 사용하기에는 문제가 없는지를 판단 하기에 상당한 어려움이 따른다. 본 표준은 이러한 문제를 해결하기 위해 본 표준은 공개 소프트웨어의 평가를 위해 반드시 필요한 속성을 공통 속성으로 선정하고, 더 나아가 상업적 용도에 맞는 공개 소프트웨어를 선별하기 위해 추가적으로 필요한 확 장 속성을 제시한다. 또한 표준과 확장 속성을 정의함으로써 평가에 대한 근거와 정 보를 제공하고 있다. 43
  • 44.
    공개SW 성숙도 및적용성 평가지침(3) 속성군 표준 속성 설명 기능성 기능 적합성 분류 체계의 해당 카테고리에서 마땅히 제공해야 하는 목표 기능 을 충실히 수행하는 수준 지원성 설치 툴, 패치, 관리, 모니터링 등 목표 기능을 최상의 조건으로 수 행하는데 필요한 보조 기능을 다양하게 제공하는 수준 상호운용성 다양한 운영체제(Linux, Unix, Windows)에서 설치 및 작동이 가능한 수준 이식성 대체성 동일한 기능의 다른 오픈 소스 제품에서 전환 및 대체(migration) 를 용이하게 수행할 수 있는 수준(표준 수용성) 대 체 후 기 능 성 유사 오픈 소스 제품으로 대체한 이후에도 동일한 기능을 수행할 수 있는 수준 설치성 다 양 한 플 랫 폼 에 이 식 될 수 있 도 록 구 성 파 라 미 터 (configuration parameter)의 조작이 용이하고 설치가 간단 하고 편리한 수준 신뢰성 가용성 에러, 버그, 정지, 종료 등 비정상적인 동작이 없이 정상적으로 운 영되는 정도 회복성 문제 및 장애 발생 시 복구 및 대응이 잘 되는 정도 최신성 최근 일정 기간 동안 신속하게 발전하는 정도 성숙성 커뮤니티의 인력 구성, 역할 분배, 운영 및 관리 체제가 얼마나 안 정적이고 체계적인지 나타내는 수준 사용성 이해성 매뉴얼, 가이드, 튜토리얼 등 제품 사용 및 이용에 필요한 문서 및 자료의 제공 수준 학습성 제품 구성, 설치, 운영에 필요한 자문, 컨설팅, 교육, 인증(자격증) 등에 관련된 서비스를 제공하는 수준 운용성 사용, 운영, 관리에 편리한 기능 수준 (예 GUI 환경) 유지보수성 분석성 에러 또는 문제를 해결하는데 도움이 되도록 원인과 상태를 상세 히 분석할 수 있는 메일링, 버그 리포팅, 이슈 트랙킹 등 소통 수준 전문기술 해당 오픈 소스에 대해서 전문 업체 또는 커뮤니티의 기술 지원 서 비스가 가능한 수준 시험성 패치 또는 업그레이드 버전에 대한 품질 측정 수준 속성군 확장 속성 설명 커뮤니티 나이 및 규모 오랫동안 활동이 왕성하게 지속되고 최근에도 활동이 활발하여 발전하고 있는 수준 주체 커뮤니티가 쇠약하지 않고 발전할 수 있도록 기업 및 단 체로부터 지속적인 경제적, 인력적, 사업적 지원이 있는 정도 접근성 상위의 인터넷 검색이 가능하고, 커뮤니티 참여와 지적 자산의 공유에 편리한 인터페이스를 제공하고 있는 수 준 (이메일, 게시판, 패이스북) 관리체계 커뮤니티 내에서 프로그램 개발, 소스 코드 기여, 수용 여부 심사, 품질 테스트, 로드맵 수립 등 개발과 품질에 관련된 활동이 체계적으로 진행되고 있는 수준 라이선스 이슈 라이선스 충돌 배포된 버전에 대해서 라이선스 문제가 있는 정도 면책 서비스 저작권 문제 발생 시 법적 위험으로부터 고객을 보호할 수 있는 수준 특허 침해성 특허 침해 문제가 있는 정도 고객 충실도 SLA 충실도 고객 서비스가 수준 별로 정의되어 있고 지원되는 정도 문제해결 능력만 족도 문제가 발생했을 시 신속한 기술지원을 제공할 수 있는 수준 기술보증 기술 지원을 통해 제품의 품질이 보증되는 수준 선호도 고객이 선호하는 정도 44
  • 45.
    공개SW 성숙도 및적용성 평가지침 적용사례 • 개방형 클라우드 플랫폼 기술선정(PaaS-TA) 오픈소스 성숙도 및 적용성 평가 지침을 활용한 개방형 클라우드플랫폼 선정 45
  • 46.
    오픈소스 성숙도 모델≠ 표준이 있다. 46
  • 47.
  • 48.
    기존의 커뮤니티가 존재해서참여하는 경우 • 커뮤니티 활성화의 기반이 존재하므로 이 경우가 가장 좋음 Ref : Samsung Open Source Group Origin Community 48
  • 49.
    해당하는 오픈 프로젝트가없는 경우 • 단계별로 신규 커뮤니티 구축 과정이 필요 Ref : 공개SW R&D 과제 사례 (정성인) 논문발표 및 기술의 개념 정립 오픈소스 프로젝트 생성 오픈소스 커뮤니티 구축 49
  • 50.
    오픈소스 커뮤니티 성장단계 • Community Building Stages Ref : OW2 Open Source Workshop 201550
  • 51.
    Technical Stage Essential components •Web Site • Source code repository system • Mailing list • IRC / slack • Bug and feature tracking 51
  • 52.
    Technical Stage • Componentlicense management. • 라이선스 정책 • 잘 동작하는 SW • 프로그램 데모 • 프로그램 적용사례 • Third Party 도구 지원 52
  • 53.
    Technical Stage Examples •Web Site - https://www.ubuntu-kr.org 53
  • 54.
    Technical Stage Examples •Code Repository 54
  • 55.
    Technical Stage Examples •Development Flow 55
  • 56.
    Technical Stage Examples •Mailing list Ref : https://mail.python.org/mailman/listinfo56
  • 57.
  • 58.
    Technical Stage Examples •Issue Tracker(JIRA) 58
  • 59.
    Open Source Stage Infrastructure •Web Site • Source code repository system • Mailing list • IRC / slack • Bug and feature tracking • Documents collaboration tool(Wiki) • Milestone and release tracking • Forums • Automated build and test system 59
  • 60.
    Open Source Stage •Well Structured Governance • 프로젝트 문서 • 라이선스 관리 • 커밋과 버그 트래킹 관리 • 코드 관리 및 안정화 • 요구사항관리 • 프로젝트 로드맵 관리 • 기여자 관리 • 의사결정 절차 60
  • 61.
    Open Source StageExamples • Front Page for All visitors 프로젝트가 무엇 인지 설명 소스코드를 어디 에서 획득할 수 있는지 설명 누가 후원하고 참여하는지 게시 61
  • 62.
    Open Source StageExamples • For Developers 기술 아키텍처, 라이선스, 개발자 참여 방법에 대한 설명 • Infrastructure • Committers and Contributors • Project Management Committees (PMC) • Licenses and Legal Issues • Version Control • Websites • Releases • Issue Tracking • Mailing Lists • Board of Directors and ASF Governance Overview 62
  • 63.
    Open Source StageExamples • Get Involved 프로젝트에 기여하는 다양한 방식 제시 • REPORT BUGS AND ENHANCEMENTS • FIX BUGS OR IMPLEMENT ENHANCEMENTS • BECOME A COMMITTER • PROMOTE ECLIPSE TECHNOLOGIES 63
  • 64.
    Technical Stage Examples •Documents collaboration tool(Wiki) https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+3+release+status+updates64
  • 65.
    Technical Stage Examples •Software Quality Visualization Ref : https://sonarcloud.io/dashboard?id=org.apache.maven.enforcer%3Aenforcer 65
  • 66.
    Open Source StageExamples • Roadmap Ref : http://motown.io/roadmap/66
  • 67.
    Open Source StageExamples • Roles and Responsibilities Ref : https://www.apache.org/foundation/how-it-works.html67
  • 68.
    Open Source StageExamples • Decision making process Ref : http://motown.io/roadmap/68
  • 69.
    Open Source StageExamples • Contribution process Ref : http://gcompris.net/wiki/Contribution_process69
  • 70.
    A typical governancedocument sections • Overview • Roles and responsibilities • Decision making process • Contribution process • Support Ref : http://oss-watch.ac.uk/resources/governancemodels Template For A Benevolent Dictator Governance Document http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel Template For A Meritocratic Governance Document http://oss-watch.ac.uk/resources/meritocraticgovernancemodel 70
  • 71.
    Ecosystem Stage Infrastructure • WebSite • Source code repository system • Mailing list • IRC / slack • Bug and feature tracking • Documents collaboration tool(Wiki) • Milestone and release tracking • Forums • Automated build and test system • Branding (logo, style guide, official colors or fonts) • Reporting system(codebase activity reports) • Promotion tools 71
  • 72.
    Ecosystem Stage • Partnershipand Expanding Market • 비즈니스 협의체 구성 • 공식 파트너사 관리 • 파트너 조직 전략 반영 • 기술지원 파트너 기업관리 • 목표 시장 홍보 • 다양한 적용 사례 제공 72
  • 73.
    Ecosystem Stage Examples •Codebase Reporting System • https://projects.apache.org/statistics.html 73
  • 74.
    Ecosystem Stage Examples •Ubuntu Brand assets • https://design.ubuntu.com/brand/ 74
  • 75.
    Ecosystem Stage Examples •Joining Corporate Member https://www.openstack.org/join/#sponsor75
  • 76.
    Ecosystem Stage Examples •Partner Management & Marketplace Ref : https://www.openstack.org/marketplace/76
  • 77.
  • 78.
    오픈소스 프로젝트 사례(billboard.js) •14일 만에 GitHub 스타 천 개 받은 차트 오픈소스 개발기 • https://www.slideshare.net/deview/11514-1000 • http://tv.naver.com/v/2292658 78
  • 79.
    Useful Links forOSS Community • 오픈소스 프로젝트 공개하기 • https://naver.github.io/OpenSourceGuide/book/OpenYourProject/starting-an-open- source-project.html • Source : 네이버 오픈소스 가이드 • 10 Steps to Being Successful in Open Source • https://blogs.s-osg.org/simple-steps-successful-open-source/ • Source : SAMSUNG Open Source Group • How to join a technical community • https://opensource.com/article/17/1/how-join-technical- community?utm_campaign=intrel • Source : opensource.com 79
  • 80.
    Useful Links forOSS Community • 오픈소스 프로젝트 툴킷 • https://www.atlassian.com/software/views/open-source-license-request 80
  • 81.