2. Open Source Software in
• Open-source software (OSS) is computer software that is
available in source code form: the source code and
certain other rights normally reserved for copyright
holders are provided under an open-source license that
permits users to study, change, improve and at times also
to distribute the software.
• Open source software is very often developed in a public,
collaborative manner. Open-source software is the most
prominent example of open-source development and
often compared to (technically defined) user-generated
content or (legally defined) open content movements.
• A report by the Standish Group states that adoption of
open-source software models has resulted in savings of
about $60 billion per year to consumers.
Embedded Systems Lab., Hansung University 2
3. 얼마 전, 조선 Biz
no
FUD
anymore !
fear
uncertainty
doubt
on FOSS
http://biz.chosun.com/site/data/html_dir/2012/04/27/2012042701328.html
4. Open Source Definition from OSI
• Free Distribution
• Availability of Source Code
• Derived Works
• Integrity of the Author’s Source Code
• No Discrimination Against
– Person, Group, Field, Product opensource.org
• Distribution of License
• Coexistence with other Software Licenses
수정 후 같은
Example
대표적인 두 형태 License ?
GPL O Linux
Apache (BSD) X Android
5. 공개 소스 소프트웨어 이용의 장단점
• 사용자 측면의 장점
– 소프트웨어 (라이선스) 확보, 관리, 배포에 따르는 비용이 저렴하다
– 소스 코드를 얻을 수 있다
• 소스 코드를 이용하여 원하는 뭐든지 할 수 있다
– 버그 수정, 성능 개선, 다른 응용에의 활용
• 소프트웨어 공급자의 스케줄에 얽매이지 않는다
• 공급자 측면의 장점
– 소프트웨어 개발 및 유지 비용이 감소한다
• Community가 잘 유지되면
• 사용자 측면의 단점
– 다른 사람의 IP를 위반할 가능성이 있다 OR
– 내 IP가 같이 공개될 위험이 있다
• 공급자 측면의 단점
– 이제 우리 소프트웨어는 공공의 재산이다
– 정교한 BIZ 모델이 필요하다
Embedded Systems Lab., Hansung University 5
6. 공개 SW 라이선스의 위험 요소
• 라이선스 위반 ?
– 소스 비공개, 저작권 삭제 변경, …
• (실제 Case는 특허, 상표권,영업비밀 등등과 엮여서 복잡한 양상)
• 누가 고발할까 ?
– 저작자, 경쟁사
– 감시단체 (SFLC, FSF, GPL violations, KOSSLC, …)
• 결과는 ?
– 재무적 손실: 벌금, 손해배상, 합의금, 소송비용
– 비재무적 손실: 소스 공개(지적자산유출), 판매 금지, 공개 사과
• 대책은 ?
– Open Source Governance
• OSS Compliance와 OSS 자산화
Embedded Systems Lab., Hansung University 6
7. 공개 소스 소프트웨어의 개발 방식
* 최근엔 초기 개발도 완전 커뮤니티 방식으로 많이 진행
Embedded Systems Lab., Hansung University 7
8. 공개 소스 프로젝트 순환 구조
앞의 장점을 살리기 위해서는 뭐든지 공개
core group과 community가 같은 걸 봐야 한다
개발 Practice가 바뀌어야 한다.
Embedded Systems Lab., Hansung University 8
9. 공개 소스를 통한 수익창출 유형
• 배포판 소프트웨어 (Linux…)
– Brand를 전파 (수익성은 거의 없음)
• Dual 라이선스 정책
– GPL (for public) and Commercial License
• 상용 사용자에만 로열티 부과
• 특허
– 소스는 공개하고 (저작권 포기), 특허를 라이선스
• 보완재의 판매
– 공개 소스 Platform 위에서 상용 소프트웨어 판매
– 공개 소스로 해결이 안 되는 부분의 소프트웨어 판매
• 컨설팅, 교육, 기술 지원
– 주요 지원 내용 : customizing for performance
– Community를 통한 개발
• 블랙박스
– 하드웨어에 공개 소스 솔루션을 묶어서 판매 (요즘 서버 회사들)
– 임베디드 시스템에서 매우 유용
Embedded Systems Lab., Hansung University 9
10. Open Source Software R&D 이슈들 :
• Community와의 관계 (open, open, open, …)
– 요구 분석 단계
– 개발 단계 • 모든 R&D를 공개 SW로
– 유지 보수 단계 할 수는 없겠죠 ?
• Governance – 국방,
– Process/Practice – 전략적 핵심 기술, …
– License Issue
• 예산 책정 • 선수도 필요하죠 ?
• 중복 개발 – 기술도 있고,
• 성공 여부 (성과 지표) – OSS Practice도 아는
• 기술 이전 및 지원
Embedded Systems Lab., Hansung University 10
11. 공개 SW 형 공공 R&D 추진 모델
R&D 사업 제도,예산
정부
발주 기관
개발비 지원 설립
개발 관리/평가
SW 프로세스
지원
공학센터 R&D 과제 등록 SW-Bank
공개SW 주관 기관 (Repository)
거버넌스
역량플라자 지원 협력 과제 후 등록 정보
관계 이전
지원
Community Industry
피드백
Embedded Systems Lab., Hansung University 11
12. 공개 SW R&D의 세 가지 방식
구분 공개SW glue 방식 (AS IS) 공개SW 수정 방식 오픈 프로젝트 방식
․기존 공개SW에 기능을 추가 ․기존 공개SW를 직접 수정하여 새로운 SW를 개발 ․해당 커뮤니티에서 새로운 SW를 개발
개념
․폐쇄적(closed) 개발 ․폐쇄적(closed) 개발 ․개방형(Open) 개발
․프로젝트 신설(새로운 커뮤니티 경우)
․기존 공개SW와 인터페이스 정립 ․적합한 공개SW를 선택하여 분석
․새로운 기능의 동료검토 및 승인 필요
개발활동 ․추가 기능은 자체개발 ․자체 개발 추가 기능을 선택된 공개SW에 통합
․커뮤니티 정책에 따른 라이선스
․추가SW의 새로운 라이선스 가능 ․라이선스는 선택된 공개SW의 라이선스를 따름
․정해진 개발환경에서 개발
․커뮤니티에 의한 (인력/비용 절감)
․추가SW에 대한 기술이전 가능 ․과제계획대비 내용, 일정 부합 지속적 결과물 유지 보수, 개선
장점
․공개SW 활용으로 개발비용 절감 ․공개SW 활용으로 개발비용절감 ․동료검토를 통한 품질보증
․개발자간 무한 경쟁
․해당 커뮤니티와 중복 개발 가능 ․과제계획대비 내용, 일정 차질
단점 ․해당 커뮤니티와 중복 개발 가능 ․새 버전에 이식 문제 ․제한적인 기술이전
․제한적인 기술이전 ․(영어) 문서 / 이메일로 수시 대응
결과물
․과제수행자가 선택 ․과제수행자가 선택 ․커뮤니티 사이트에 모든 활동/결과 공개
공개장소
결과물 ․문서 공개 ․문서 공개
공개 ․개발 환경/버그관리 시스템 제공 ․개발환경/버그관리 시스템 제공 ․오픈 프로젝트 활동으로 해결
고려사항 ․버그수정 대응 ․버그수정 대응
비고 ․현재 활용되는 방식 전형적인 공개SW 개발 방식
13. 성공 여부, 성과 지표, 그 이후 ?
• 지금까지 모든 국가 R&D는 성공으로 완료
– OSS R&D도 당연히 그렇게 될 것임
– 그리고, OSS R&D 결과물은 더 잘 활용될 것임
OMM (OSS Maturity Model)
프로젝트의 성공은 Community로서의 지속가능성을 의미
• 지적재산권
– Open Source License, (방어적) 특허 (see OIN http://www.openinventionnetwork.com/)
• 기술 이전
– 기술 이전 ? OK, 기술 이전료 ? Maybe NOT
– 기술 지원료 ? OK (확장, 부가 SW, 진짜 지원) ?
Embedded Systems Lab., Hansung University 13
14. OMM (Opensource Maturity Model)
수준 포함된 평가 요소
PDOC Product Documentation
STD Use of Established and Widespread Standards
• QualiPSo QTP Quality of Test Plan
프로젝트 LCS Licenses
ENV Technical Environment
Basic 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 Part 1
RDMP2 Availability and Use of a (product) roadmap Part 2
STK Relationship between Stakeholders
PP2 Project Planning Part 2
Intermediate PMC Project Monitoring and Control
TST1 Test Part 1
DSN1 Design Part 1
PPQA Process and Product Quality Assurance
PI Product Integration
RSKM Risk Management
TST2 Test Part 2
Advanced DSN2 Design Part 2
RASM Results of 3rd party Assessment
REP Reputation
CONT Contribution
15. What to do ?
• 학교에서
– OSS and OSS Practice 교육
• Tools, Skill, Culture
– Open하고 feedback 받고
• Capstone Design
• R&D (as much as possible)
– Community 참여 독려
• 정부(연구소)에서
– 가능한 모든 걸 Open
• data, source, docs
– Open Source R&D
• 기업에서
– Open Some Data, and see what happen
– Open Some Source, and see what happen
– Support Open Source as a CULTURE (mecenat …)
16. Code for America
• 공공성 서비스를 OSS로 개발
– Open311 API
– 교통, 환경, 시장, 일자리, …
• CfA Fellowship (개발자)
– 35US$/11개월 + 교육, N/W, …
– 5명 팀으로 프로젝트 운영
– Google Summer of Code internship
• 11개 미국 도시
– Boston, Washington DC, Seattle, Honolulu, Austin, …
• Donation from ..
– Google, MS, Nike, LinkedIn, O’Relilly, …
Embedded Systems Lab., Hansung University 16
17. Reference
• 정보통신산업진흥원 : http://www.nipa.kr
– 인력 양성, Community 지원, OSS 확산
– 공개 SW 역량플라자 : http://www.oss.kr/
• OSS 관련 기술 지원, Test, 라이선스 검증 ..
– 동북아(한중일) 공개SW 활성화 포럼 : http://www.neaossforum.org/
• WGs : 기술, 인력양성, 표준, 사업화
• 한국 공개 SW 협회 : http://www.kossa.kr/
– Open Source Learning Community : http://olc.oss.kr/
• 거의 모든 공개 SW에 관한 무료 강좌
• Linux, Tools, Java, C, Android, Eclipse, Spring, …
– OSS World Challenge : http://project.oss.kr/
• 그리고
– github.com, code.google.com, sourceforge.net
– http://dev.naver.com/projects/
Embedded Systems Lab., Hansung University 17