7. 7 신상희(shshin@gaia3d.com)
I-1 오픈소스 소프트웨어의 일반적 정의
FOSS(Free & Open Source Software): 공개 소프트웨어
▪ FOSS에서는 특정 라이선스에 따라 소프트웨어의 소스 코드가 공개되어 있음
▪ 일반적으로 FOSS 사용자는 소프트웨어에 대한 자유로운 사용, 복사, 수정, 개작 및 재배포의
권한을 부여 받음
▪ FOSS 의 Free는 ‘공짜’를 의미하는 것이 아니라, 사용자가 소스 코드에 접근하고, 프로그램을
사용, 수정, 재배포할 수 있는 ‘자유’를 의미함
▪ 오픈소스 커뮤니티는 개방형 표준(Open Standard), 공개 데이터(Open Data) 커뮤니티와 활
발한 교류와 협업
I. 오픈소스 소프트웨어 소개
8. 8 신상희(shshin@gaia3d.com)
Freeware vs FOSS
▪ FOSS는 ‘공짜(No-Cost)’ 소프트웨어와는 다른 개념임
▪ 최근에는 FOSS 또한 상업용(Commercial) 소프트웨어로 간주되고 있음
▪ FOSS의 상대어는 폐쇄(Closed Source) 또는 독점(Proprietary) 소프트웨어로 보는
게 일반적임
I-2 프리웨어와 오픈소스 소프트웨어
I. 오픈소스 소프트웨어 소개
프리웨어(Freeware) 오픈소스 소프트웨어(FOSS)
소스 코드 많은 경우 소스코드 접근 및 수정 불가능 접근 및 수정 가능
원작자 부재 시 원 저작자가 개인 사정에 따라 언제든지 개발
중단이 가능함. (이런 경우 최종 버전은 개발자
가 마지막으로 배포한 상태로 머물게 됨)
원 저작자의 상황과 상관 없이 해당 소프트웨
어의 사용자 또는 개발자 그룹이 계속 이를
활용하고 발전 시킬 수 있음
유지 보수
관리 주체
특정 그룹 혹은 사람들이 독자적으로 관리하면
서 테스트 혹은 특정 목적을 위해 초반에 무료
로 배포하지만, 추후에는 유료화로 전환될 가
능성이 있음
오픈소스 소프트웨어를 지원하는 강력한 사
용자 그룹이나 개발자 그룹이 자유롭게 해당
프로젝트들을 유지 관리
9. 9 신상희(shshin@gaia3d.com)
비독점적 저작권
▪ 일반적으로 저작권이 커뮤니티나 공공재단에 귀속되어 있음
▪ 저작권의 비독점 소유 방식은 특정 라이선스를 통해 사용자들에게 소프트웨어 사용, 연구, 수
정 및 배포에 있어서 전반적인 권한을 제공
▪ 오픈소스 소프트웨어의 소스코드 관리 및 저작권 관계
▪ 주요 오픈소스 소프트웨어의 라이선스
무료로 소프트웨어 이용 및
배포 허용 가능
소스코드 취득 및
수정 가능
2차적 저작물
재공개 의무
독점소프트웨어와
결합 가능
GPL O O O X
LGPL O O O O
MPL O O O O
BSD License O O X O
Apache license O O X O
I-3 오픈소스 소프트웨어의 저작권
I. 오픈소스 소프트웨어 소개
커뮤니티
소스코드 개발, 관리
저작권 및 성과 귀속
소스코드 재배포
사용 및 피드백
사용자
소스코드
10. 10 신상희(shshin@gaia3d.com)
공동 개발 방식으로 소프트웨어 개발
▪ 하나의 프로젝트 혹은 소프트웨어를 전 세계에 흩어져 있는 다양한 사람들과 조직이 어우러
져서 개발을 진행하는 방식
▪ 공통관심사를 갖는 사람들이 함께 특정 소프트웨어나 프로젝트를 개발하는 관계로 자사의 개
발과 투자 비용을 절감하고, 기업 외부의 인력과 기술을 내재화할 수 있는 특성이 있음
▪ 외부 인력과 기술을 활용하여 개발 비용을 절감하기 위해서는, 해당 기술을 이해하는 많은 외부 인력
이 존재하고 이들이 오픈소스 소프트웨어를 통해 자신의 기술과 능력을 공유할 정도의 환경과 규모
가 필요
▪ 공동 개발 방식은 소위 네트워크 효과(Network Effect)에 의해 크게 영향을 받는 개발 방식
으로 특정 임계점(Tipping Point) 이상의 개발자가 소프트웨어 개발에 참여해야만 성공적으
로 소프트웨어가 유지, 관리, 개발되는 특성이 있음
I-4 오픈소스 소프트웨어의 개발 방법론
I. 오픈소스 소프트웨어 소개
핵심 개발자들
프로젝트
관리자
개발자들
커뮤니티
커뮤니티에 기여
개발에 기여
▪ 발전 방향
▪ 설계안
▪ 소프트웨어
▪ 평가
▪ 사용 사례 피드백
▪ 테스트
▪ 문서화
▪ 번역
▪ 기능 요청
▪ 타 사용자 지원
▪ 버그 수정
11. 11 신상희(shshin@gaia3d.com)
비용 절감, 자원 절감, 안정성 증가, 소스 코드 직접 수정 가능, 다수의 외부 개발자와
직접 접촉 가능
I-5 오픈소스 소프트웨어의 장점
I. 오픈소스 소프트웨어 소개
기술과 성과를 공유함으로써 협업적으로 사회를 발전시키는 기반으로 작동
기술적 측면 경제적 측면 사업적 측면 기타
▪ 세계적 수준의 소프
트웨어를 빠른 속도
로 개발 가능
▪ 다수의 외부 개발자
들에 의한 소스 코드
검토를 통해 소프트
웨어 안정성 증가
▪ 주요 시장지배적 소
프트웨어 사업자와의
기술 격차 해소 가능
▪ 뛰어난 외부 개발자
의 내재화
▪ 저렴한 도입 비용
▪ 세계적 수준의 오픈
소스를 사용함으로써
개발 비용 절감
▪ 소스 코드 레벨의 커
스터마이징
▪ 우수 성공 사례를 소
스 코드 레벨에서 재
활용 가능
▪ 자사의 부족한 제품
군을 단숨에 보완 가
능
▪ 오픈소스를 활용하여
다양한 고객의 수요
에 대응 가능
▪ 회사 브랜드 가치 제
고
▪ 에너지 절감
▪ 심리적 만족감
▪ 낮은 이직률
12. 12 신상희(shshin@gaia3d.com)
오픈소스 도입 이유: 가격!(2007년)
I-6 오픈소스 도입 이유
I. 오픈소스 소프트웨어 소개
80%
57%
41%
20%
18%
15%
15%
15%
10%
6%
5%
0% 20% 40% 60% 80% 100%
Price
Source Code Access
Community Code Review
Don’t Know
Bug Fix Turnaround
Security
Code Quality
Best Product Functionality
Easier to Adopt in Organization
Other
IP Protection
➔ Price & open source code are key factors!
* Source : Barracuda Networks
13. 13 신상희(shshin@gaia3d.com)
오픈소스 도입 이유: 소프트웨어 품질(2013년)
I-6 오픈소스 도입 이유
I. 오픈소스 소프트웨어 소개
출처: BlackDuck Software, ‘2013 The Future of Open Source’
14. 14 신상희(shshin@gaia3d.com)
오픈소스 도입 이유: 소프트웨어 품질(2014년)
I-6 오픈소스 도입 이유
I. 오픈소스 소프트웨어 소개
출처: BlackDuck Software, ‘2013 The Future of Open Source’
1
2
3
4
품질
보안성
전개용이성
소스코드 접근성
15. 15 신상희(shshin@gaia3d.com)
I-7 오픈소스 도입 기대효과
I. 오픈소스 소프트웨어 소개
오픈소스의 경제적 기대 효과
하드웨어
구매
소프트웨어
구매
제비용
시스템
통합
하드웨어
구매
소프트웨어
제비용
시스템
통합
시스템
통합
<기존 IT 사업 가격 구조> <오픈소스 적용 사업 가격 구조>
• 추가적 경제적 효과
• 이를 통한 고용 창출
• 더 저렴한 가격으로 동일
시스템 구현
(More with Less)
• 강력해진 원가 경쟁력으로
새로운 시장 창출
• 클라우드를 활용한 하드웨
어 구매 비용 절감
17. 17 신상희(shshin@gaia3d.com)
II-1 독점 소프트웨어의 저작권
저작권의 독점적 소유
▪ 대부분의 독점 소프트웨어는 저작권이 해당 제품을 개발한 기업(혹인 개인)에게 독점 귀속되
는 형태
▪ 저작권의 독점 소유 방식은 소프트웨어 개발 당사자가 본인들이 개발한 소프트웨어에 대한 권리를
독점적으로 소유하고, 라이선스를 통해 사용자들 및 고객들에게 제한된 기능 혹은 제한된 시간으로
사용을 제한적으로 허용
▪ 저작권이 개인이나 기업에 독점적으로 귀속되는 관계로 일반적으로 소프트웨어 소스 코드를
공개하지 않은 상태에서 소프트웨어 사용권(라이선스)을 사용자에게 제공함
▪ 라이선스는 제품에 따라 다르지만, 일반적으로 기능별, 성능별, 기간별로 다르게 발급이 되고,
각각의 제품의 특성과 기능에 맞춰서 가격이 책정됨
▪ Microsoft, Adobe Systems, Oracle, ESRI, HEXAGON 등과 같은 전통적인 대형 소프트웨어 회
사에서 사용하는 방식
II. 독점 소프트웨어 소개
18. 18 신상희(shshin@gaia3d.com)
II-2 독점 소프트웨어의 개발 방식
독립 개발 방식으로 소프트웨어 개발
▪ 한 개인이나 특정 그룹 혹은 기업체에서 내부의 인력, 자원, 기술을 활용하여 내부적인 계획
을 통해 소프트웨어를 독립적으로 개발
II. 독점 소프트웨어 소개
상업적 독점 소프트웨어 회사
시장출시작업
소프트웨어 개발
고객/협력사
판매 마케팅
교육 지원
서비스
제품/고
객관리
개발 계획
자원 관리
소프트웨어
개발
이용료
완제품
(Whole Product)
자원 소프트
웨어
▪ 독립 개발 방식은 소프트웨어 개발 회사의 내부 전문가에 의해 철저
하게 개발 사양과 수준, 개발 기간, 비용 등이 관리되는 목표 지향적
개발 방식임
▪ 개인 혹은 기업의 이익과 직결되는 소프트웨어 개발의 경우 혹은 보
안과 관련된 이슈가 있는 경우에 많이 사용
▪ 고객의 요구(Needs)를 상세히 파악하고 이를 빠르게 만족시키는 것
이 중요한 요소
▪ 독점 소프트웨어 기업들은 자신들의 투자에 대한 손실 우려 때문에
시장 조사, 마케팅 분석 등과 같은 방식을 통해 고객들의 목소리를 더
자신들의 소프트웨어에 반영하려고 노력
19. 19 신상희(shshin@gaia3d.com)
안정적 수익성, 전문성이 강한 소프트웨어, 고객의 요구사항의 빠른 수용, 체계적인
유지보수
II-3 독점 소프트웨어의 장점
수익성을 제고할 수 있고, 고객의 요구사항을 적극 반영한 전문적인 소프트웨어 개
발이 가능
기술적 측면 경제적 측면 사업적 측면 기타
▪ 전문성이 강한 소프
트웨어 개발 가능
▪ 소프트웨어 검증을
위한 전문팀을 구성
하여, 체계적이고, 안
정적인 소프트웨어
검증 및 테스트 가능
▪ 우수한 개발자를 고
용하여 지속적인 제
품의 개발이 가능
▪ 타 제품과의 경쟁력
을 제고할 수 있음
▪ 안정적인 수익구조
확립 가능
▪ 금전적 보상을 통한
혁신이 가능
▪ 수익성을 바탕으로
신제품 출시를 위한
투자가 가능하고 지
속적으로 제품 개발
가능
▪ 사업적으로 대규모의
계약을 맺을 경우, 안
정적 수익구조 가능
▪ 적극적으로 고객의
요구사항을 파악하고,
제품에 반영을 위해
노력
▪ 적극적인 마케팅
▪ 제품의 브랜드화를
통한 회사이미지 제
고가 가능하고, 기업
공개 시에 유리한 점
이 있을 수 있음
▪ 틈새 시장 공략 가능
▪ 소스코드의 보호가
가능
▪ 우수한 인력의 타 회
사로의 유실을 막을
수 있음
II. 독점 소프트웨어 소개
21. 21 신상희(shshin@gaia3d.com)
III-1 개발 방법론 모형 비교
독점 소프트웨어와 오픈소스 소프트웨어 개발 방법론 모형 비교
성당 모형 시장 모형
Leverage own knowledge Leverage others knowledge too
독점 소프트웨어 개발 방법론 오픈소스 소프트웨어 개발 방법론
▪ 소프트웨어의 설계와 개발이 내부에서 이루어짐
▪ 내부의 지식, 지적재산권, 경험을 활용하여 개발
▪ 전문적, 체계적 소프트웨어 개발에 유리할 수 있음
▪ 설계와 개발이 다중에 의해 협력적으로 이루어짐
▪ 자신의 역량과 외부 타인의 역량을 함께 결합하여 개발
▪ ‘We are smarter than Me’로 요약되는 개발방법론
위계적
폐쇄적
협력적
개방적
III. 오픈소스 소프트웨어와 독점 소프트웨어 비교
22. 22 신상희(shshin@gaia3d.com)
III-2 개발 방법론 특성 비교
독점 소프트웨어와 오픈소스 소프트웨어 개발 방법론 특성별 비교
III. 오픈소스 소프트웨어와 독점 소프트웨어 비교
개발방법론의 특성 오픈소스 소프트웨어 독점 소프트웨어
프로세스
모델
성격 동시다발적, 수평적 나선형, 반복적, 수직적
개발 단계 개발에 특별한 단계가 없음 계획, 디자인, 수행
마일스톤 일반적으로 정해진 작업 일정 없음 작업 일정 존재
요구사항
정의와 설
계
요구사항 이해도 높음 낮음
요구사항 변경 및 추가 자유롭게 추가 가능 요구사항 변경 및 추가가 쉽지 않음
요구사항 결정권자 프로젝트의 핵심 멤버들 프로젝트 매니저와 시스템 아키텍트
문서화 공식 문서가 항상 존재하지는 않음
프로젝트 계획, 요구사항, 설계, 테스트 등 모든 사항들이
문서로 존재
분석 및 디자인 프로젝트 디자인에 많은 시간을 들이지 않음 프로젝트 디자인에 많은 시간과 노력을 들임
소프트웨어 구조 일관성 유지가 쉽지 않음 일관성 유지가 잘됨
수행
요구사항:수행 = 1:N 방식
(같은 요구사항으로 여러 개의 개발이 가능)
요구사항:수행 = 1:1 방식
(하나의 요구사항에는 하나의 수행만 가능)
소스 코드 공개 비공개
테스트 공개 테스트 내부 테스트
출시 및 전달 일 단위 혹은 주 단위 일반적으로 연 단위
유지보수 공개 협력 유지 보수 별도의 유지보수 서비스 필요
제품화
프로젝트 종료의 개념이 희미하고, 새로운 요구사
항을 항시 받아들이며 진화를 거듭함.
특정 단계(프로젝트 종료단계)에 도달했을 때 제품화
소프트웨어 종류 작은 컴포넌트 단위의 소프트웨어가 많음
특정 회사나 조직에 특화된 소프트웨어 같은 솔루션이 많
음
보안 독점 소프트웨어보다 보안이 취약하지 않음
보안에 취약점이 발견되었을 때 책임소재가 오픈소스 소프
트웨어보다 명확함
23. 23 신상희(shshin@gaia3d.com)
소스코드 반환의무는 라이선스마다 다양
➔ AGPL은 서비스의 경우에도 소스 반환 의무화
출처: http://www.oss.kr/oss/images/intro/license_02.gif
III-3 소스 코드 공개 여부
III. 오픈소스 소프트웨어와 독점 소프트웨어 비교
24. 24 신상희(shshin@gaia3d.com)
III-4 오픈소스 소프트웨어의 혁신
오픈소스 소프트웨어의 특성
▪ 집단지성을 활용한 선구적 개발방법
▪ 협력을 통한 혁신
Weare smarter than Me
>
III. 오픈소스 소프트웨어와 독점 소프트웨어 비교
25. 25 신상희(shshin@gaia3d.com)
독점 소프트웨어의 특성
▪ 철저하게 고객의 요구를 수용하는 맞춤형 개발
▪ 금전적 보상이 최고의 혁신
Gold wins everything!
III-5 독점 소프트웨어의 혁신
III. 오픈소스 소프트웨어와 독점 소프트웨어 비교
26. 26 신상희(shshin@gaia3d.com)
독점 소프트웨어와 오픈소스 소프트웨어 특성 비교
오픈소스 소프트웨어 독점 소프트웨어
비용
개발 기간
전문성
보안
마케팅
사용자 편의
유지보수
III-6 특성 비교
III. 오픈소스 소프트웨어와 독점 소프트웨어 비교
29. 29 신상희(shshin@gaia3d.com)
IV-1 오픈소스 비즈니스 모델
James Dixon의 양봉업자 모델
IV. 오픈소스 비즈니스 모델
<양봉업자 모델>
<일반적인 오픈소스 사업 모델>
< Source: https://wiki.pentaho.com/display/BEEKEEPER/>
32. 32 신상희(shshin@gaia3d.com)
IV-3 소프트웨어 가치 사슬
오픈소스 모델은 소프트웨어 개발에는 꽤 훌륭함
IV. 오픈소스 비즈니스 모델
Software
통합
Software
서비스
설치
교육
보증
타
SW/HW
인증
지원
<완비 제품>
<오픈소스 소프트웨어>
다만, 고객들은 소프트웨어가 아니라 완비제품을 구매한다는 점!
35. 35 신상희(shshin@gaia3d.com)
IV-4 비즈니스 모델 비교
독점 소프트웨어와 오픈소스 소프트웨어 비즈니스 모델 비교
패키지 판매
전통적인 독점 소프트웨어의 비즈니스 모델로서, 개발된 소
프트웨어를 패키지화하여 단품으로 판매하는 방식
정액제
소프트웨어의 사용료를 특정 기간 단위(한 달 혹은 일 년)로
계약을 맺고 해당 기간마다 사용료를 지불
이중 라이선스(Dual License)
하나의 소프트웨어를 오픈소스 라이선스와 독점 라이선스
로 배포하는 방식
오픈 코어(Open Core)
기본적인 기능은 오픈소스 소프트웨어를 사용하고, 특정 고부가
기능에 대해서는 독점 소프트웨어를 부가적으로 개발, 제공하여
수익을 창출하는 방식
IV. 오픈소스 비즈니스 모델
36. 36 신상희(shshin@gaia3d.com)
독점 소프트웨어와 오픈소스 소프트웨어 비즈니스 모델 비교
제품 전문가
직접 개발한 프로그램과 함께 오픈소스 소프트웨어도 사용
하여 비즈니스를 만들어 내는 기업들이 사용하는 방식
플랫폼 제공
소프트웨어의 선택, 지원, 통합, 유지보수와 같은 서비스 전
체를 제공하고, 테스트부터 확인 작업까지 토탈 솔루션을
제공하는 방식
컨설팅
직접 개발을 하지 않고, 다양한 프로젝트에 필요한 소프트
웨어에 대한 선택에 도움을 주는 컨설팅 서비스를 제공하는
방식
유지 보수 제공자
다양한 종류의 각각의소프트웨어에 대한 종합 유지 보수를 제공
하는 방식
IV-4 비즈니스 모델 비교
IV. 오픈소스 비즈니스 모델
38. 38 신상희(shshin@gaia3d.com)
V. 나오며
독점
소프트웨어
오픈소스
소프트웨어<
▪ ‘싼 게 비지떡’일 수도 있고, 이러한 통념이 장애물이 될 수도 있음
▪ ‘개발자를 위한 개발자의 의한 개발자의 소프트웨어’인 경우가 많아 일반 사용자
의 요구사항을 충족시키지 못하는 경우가 있음
▪ 특히, 오픈소스는 기술이나 지식이 광범위하게 확산되어 협업적으로 함께 개발할
수 있는 분야에서 그 강점이 도드라짐.
▪ 따라서, 금전적 보상이 적거나 없기 때문에 특정 임계점 이상의 개발자가 존재하
지 않을 경우 지속 가능한 개발이 어려울 수 있음
39. 39 신상희(shshin@gaia3d.com)
독점
소프트웨어
오픈소스
소프트웨어>
V. 나오며
▪ 금전적 보상은 최고의 혁신이지만, 고객에겐 최고의 고민거리이기도 함
▪ 고객의 요구사항을 항상 만족시키려고 노력한다고, 반드시 만족하는 것도 아님
▪ 시장의 경쟁에서 퇴출될 경우 그간 축적된 기술적 자산이 사장되는 경우가 많음
▪ 독점 소프트웨어는 완성도가 중요하기 때문에 새 버전 출시 기간이 길어질 수 있
음(빠른 대응이 어려울 가능성이 있음)
40. 40 신상희(shshin@gaia3d.com)
V. 나오며
오픈소스에 관한
인식 전환
▪ 최근의 오픈소스는 상업용 독점 소프트웨어에 비견되거나 더 뛰어남
▪ 전 세계적으로 오픈소스는 다양한 분야에서 활발하게 활용되고 있음
비용 절감
새로운 시장
창출 및 대응
공개되어 있는
소스 코드
선택, 집중, 공생
그리고
새로운 생태계
▪ 커뮤니티 버전의 오픈소스는 무료로 사용 가능
▪ 상업적 오픈소스를 활용해도 독점 소프트웨어에 비해 매우 저렴
▪ 오픈소스는 시장 진입 장벽을 낮춰 창업 및 신규 서비스 활성화
▪ 국내외적으로 많은 사업이 오픈소스 기반으로 추진되고 있음
▪ 사용자의 목적에 맞게 소스 코드 레벨에서 커스터마이징 가능
▪ 성공 사례의 빠른 재활용을 통한 세계적 수준의 기술 확보
▪ 성숙 기술로 간주되는 분야에서는 과감하게 오픈소스를 활용
▪ 독점 소프트웨어는 오픈소스가 효용을 제공하기 힘든 분야에서 특화 기술과 가치 제공
▪ 오픈소스와 독점 소프트웨어에 대한 이분법적 구분을 탈피하여 양자의 장점을 극대화할 수 있
는 새로운 생태계 조성 필요. 오픈소스와 독점 소프트웨어는 동시 사용 가능
▪ 오픈소스를 독점 소프트웨어의 경쟁재가 아닌 보완재로 인식할 필요
41. 41 신상희(shshin@gaia3d.com)
V. 나오며
사진을 벽에 거는 건
추억을 간직하기 위해서이지
벽에 못을 박기 위함이 아님!
<Source: https://www.keribrownhomes.com>
“Hanging pictures
on a wall!”
44. 44 신상희(shshin@gaia3d.com)
참고 자료
▪ Eric Raymond, The Magic Cauldron, http://www.catb.org/esr/writings/magic-cauldron/
▪ John Carroll, ‘Open source vs proprietary: Both have advantages’, ZDNet, 2004.
http://www.zdnet.com/open-source-vs-proprietary-both-have-advantages-
3039155570/
▪ Arnoud Engelfriet, ‘Mixed-source software development’, Intellectual Asset Magazine
issue 19, August/September 2006.
▪ John Carrol, ‘How the software economy is driven by proprietary work’, ZDNet,
http://www.zdnet.com/how-the-software-economy-is-driven-by-proprietary-work-
1139148761/, 2004.
▪ 이창양, ‘자연발생하는 일시적 독점현상은 기술 혁신을 앞당긴다’, 마이크로소프트 매거
진, 2004년 11월/12월 호
▪ James Dixon, The Wild Hive Model for Open Source Projects,
http://jamesdixon.wordpress.com/the-bees-and-the-trees/proprietary-model/
▪ Detlev J. Hoch 외, ‘Secrets of Software Success’, Harvard Business School Press, 2000
▪ James Dixon, The Maple Syrup Farm Model for Proprietary Software Companies
http://jamesdixon.wordpress.com/the-bees-and-the-trees/proprietary-model/
▪ Vidyasagar Potdar & Elizabeth Chang, ‘Open Source and Closed Software
Development Methodologies’, ICSE, 2004
▪ 문장원, ‘이중라이센스(Dual-license) : 오픈소스 상업화 실험’, 한국소프트웨어진흥원 SW
정책연구센터, 2006.
▪ 공개소프트웨어 포털의 공개SW라이선스 소개 자료, http://www.oss.kr/oss_intro06
▪ 신상희, ‘오픈소스 라이선스의 이해’, 공간정보공동 추계학회, 2009.