Topic/소프트웨어공학
오픈소스 소프트웨어(OSS, Open Source Software)
차연성
2019. 3. 21. 10:22
728x90
연관토픽
- [하위] 오픈소스 소프트웨어 라이선스(OSS license)
- [하위] 오픈소스 소프트웨어 거버넌스(OSS Governance)
- [하위] 오픈소스 도입전략 및 전환절차
- [하위] 오픈소스 프로젝트 관리 소프트웨어
- [연관] 이너소스(innersource)
- [연관] OAS(Open Adoption Software)
- [연관] 오픈 소스 하드웨어(Open Source Hardware)
- [연관] 개방형 운영체제(개방형 OS, Open OS)
기출문제
회차 | 문제 |
관리124-4 | 2. 오픈소스의 개념, 특징, 현황을 기술하고 오픈소스가 4차 산업혁명에 기여하는 시사점을 설명하시오. |
관리123-4 | 4. 자연어 처리와 관련하여 다음에 대해 설명하시오. 가. NER(Named Entity Recognition)과 Word Embedding 나. BERT와 GPT-3의 비교 |
개념
- 소스코드가 공개되어 있고, 자유로운 개작 및 재배포가 허용되면서 저작권자의 권익을 보호할 수 있도록 제도화된 소프트웨어
- 제작자의 권리를 지키면서 누구에게나 무상으로 소스코드를 공개하여 활용, 재가공 및 배포할 수 있게 한 소프트웨어
- 일반 대중의 공동연구로 개발, 시험 및 개선되며, 미래의 공동연구를 보장하기 위하여 소스코드를 반드시 공유되어야 하는 사상을 가진 소프트웨어
오픈소스 소프트웨어 history
1985년 리처드 스톨먼이 자유소프트웨어 개발을 위해 자유소프트웨어재단(FSF)을 설립하면서, 오픈소스 탄생의 초석 마련 1991년 8월 핀란드 헬싱키대 재학생 리누스 토르발스가 'comp.os.minix' 구성원과 만든 운영체계(OS) '리눅스' 0.02 버전이 공개 리눅스는 인터넷 확산에 힘입어 전 세계 개발자들의 손을 거쳐 유닉스 호환 OS로 발전 |
FOSS(Free and Open Source Software)의 개념
구분 | 설명 |
Free Software | - 자유롭게 사용 가능하고 비용을 지불하지 않고 사용하는 Free Software - 프로그램을 어떠한 제약 사항 없이 자유롭게 사용하도록 하는 ‘자유’에 초점 |
Open Source Software | - 기술적 관점 : 이용허락의 방식을 통해 배포되며, 소스코드가 공개되어 있고, 이를 자유롭게 사용, 수정, 복사, 재배포가 가능한 소프트웨어 - 법적인 관점 : 프로그램 저작권의 공유정신을 가지고 소스코드를 공개할 뿐 아니라, 프로그램의 사용, 수정, 배포 및 재배포의 자유를 보장하는 오픈소스 소프트웨어 라이선스를 이용하여 이용허락하는 소프트웨어 |
Free and Open Source Software | - Free Software + Open Source Software (자유와 오픈의 특징이 포괄) - 프로그램이 공개되어 누구나 이용하고 수정, 저렴한 비용- 저작권 + 라이선스의 의무사항 |
- 오픈소스 소프트웨어는 국외에서는 FOSS 로 ,국내에서는 OSS 로 불리어지고 있고 있음
오픈소스 소프트웨어 성장배경
구분 | 주요배경 | 설명 |
고객가치 (사용자) |
비용 절감 | - 무료 라이선스에 따른 도입 비용 절감 - SaaS 방식의 정액제 유지보수 계약으로 TCO(Total Cost Ownership) 절감 |
종속성 탈피 | - 특정 SW 및 HW 에 대한 고착(Lock-in) 현상 탈피 - 도입 가능한 SW 및 HW 에 대한 선택의 폭 증가 |
|
개방성 증가 | - 표준 준수에 따른 개방성 증가 - 향후 필요에 따라 비표준 상용 제품으로 전환 용이 |
|
내부가치 (공급자) |
원가 절감 | - 상용 제품 대비 저렴한 공급가 - 툴의 경우 원가 비용이 발생하지 않음 |
수주 경쟁력 증가 | - 제품 비용 절감 및 적용 제품에 대한 선택의 폭이 증가되어 수주 경쟁력이 향상 | |
기술 역량 증대 | - 소스코드가 공개되어 프로그램에 내재된 원천 기술 습득이 용이 |
오픈소스 소프트웨어 특징(OSI에서 제시하는 오픈소스 소프트웨어의 의무조항)
- 오픈소스 소프트웨어는 OSD(Open Source Definition)에 정의된 10가지 조건 만족
특징 | 설명 |
자유로운 배포 |
|
소스코드 공개 |
|
2차 저작물 허용 |
|
원작자의 소스코드 원형 유지 (수정제한) |
|
개인 및 단체에 대한 차별 금지 |
|
사용분야 차별 금지 |
|
라이선스 배포 |
|
라이선스 적용상의 동일성 유지 (특정 제품에만 유용한 라이선스 금지) |
|
다른 라이선스의 포괄적 수용 (다른 소프트웨어를 제한하는 라이선스 금지) |
|
기술 중립적인 라이선스 제공 |
|
오픈소스 소프트웨어 의무사항
의무사항 | 설명 |
(1) 저작권, 개발자 및 기여자 정보의 표시 | 대부분의 오픈소스 라이선스는 개발자 또는 기여자에 관한 사항과 저작권에 관한 사항을 제품에 표시하거나 포함하도록 요구 |
(2) 코드를 수정한 경우 수정한 정보의 표시 | 이용자가 소스코드를 수정하였을 때는 수정한 사람, 수정일자 등 수정에 관한 내용을 포함하도록 함으로써, 원본과 구별할 수 있도록 함 |
(3) 라이선스 정보의 제공 | 많은 오픈소스 라이선스들은 이용자들이 오픈소스에 관한 권리를 잘 이해할 수 있도록 배포자가 해당 라이선스의 사본을 함께 첨부할 것을 요구 |
(4) 같은 라이선스로 재배포할 것(카피 레프트) | 라이선스에 따라 큰 차이를 보이는 부분은 '카피레프트(Copyleft)'에 관한 사항 GPL을 대표로하는 카피레프트 라이선스들은 이용자들이 소프트웨어를 수정한 후 배포하고자 할 때 수정된 소프트웨어도 같은 라이선스로 배포할 것을 요구 |
(5) 소스 코드의 제공 | 카피레프트 조항을 포함하는 라이선스의 경우, 소프트웨어를 배포할 때 소스코드까지 함께 배포할 것을 요구 |
오픈소스 소프트웨어 개발체계
오픈소스 기반 개발 프로세스
주요 오픈소스 운영체계(OS)
구분 | 개발시기 | 주요특징 |
구름 | 2014년 (베타버전) |
|
하모니카 | 2014년 |
|
우분투 | 1999년 |
|
주요 오픈소스 데이터베이스관리시스템(DBMS)
구분 | 개발시기 | 주요 특징 |
마이SQL | 1994년 |
|
포스트그레 SQL | 1997년 |
|
몽고DB | 2009년 |
|
마리아DB | 2009년 |
|
핵심 기술 분야의 오픈소스
분야 | 오픈소스명 | 공개시기(년도) | 주요 관련 기업 및 단체 |
빅데이터 | 아파치 하둡 | 2006 | 구글, 야후, 페이스북, MS, 아마존, IBM, HP 등 |
아파치 스팍(Spark) | 2014 | UC 버클리, Databricks, IBM, MS, 아마존, 화웨이 등 | |
클라우드 | 오픈스택 | 2010 | Rackspace, NASA, AT&T, 에릭슨, 화웨이, 인텔, 레드햇, 수세, 텐센트, 시스코, NEC, ZTE |
클라우드파운드리 | 2011 | VMware, 피보탈, 아마존, MS, 델, 수세, IBM, SAP, 구글, 화웨이, 알리바바 등 | |
도커 | 2013 | 도커, 레드햇, 아마존, IBM, MS, 시스코, 구글 화웨이, 알리바바, 코넬 대학, 페이팔, 비자 등 | |
쿠버네티스 | 2014 | 구글, 레드햇, 아마존, MS, IBM, 알리바바, 바이두, 델, 화웨이, NEC, NTT, SAP, 삼성SDS 등 | |
인공지능 | 텐서플로우 | 2015 | 구글, 에어비엔비, 코카콜라, GE, 인텔, 트위터, 에어버스, ARM, 차이나모바일, 카카오, 네이버 등 |
Chainer | 2015 | Preferred Networks, IBM, 인텔, MS, 앤비디아, 아마존 | |
Keras | 2015 | 구글, MS, 아마존, 엔비디아, 넷플릭스, 우버, 애플 등 | |
아파치 MXNet | 2015 | 아마존, MS, 인텔, 바이두, CMU, MIT, 워싱턴대학, 홍콩과기대, 삼성SDS, SK텔레콤, 에이서 등 | |
PyTorch | 2016 | 페이스북, MS, 우버, 엔비디아, 구글, 아마존, 알리바바 | |
사물인터넷 | OpenAirInterface | 2014 | EURECOM, Orange, TCL, 후지쓰, 노키아, 레드햇, 르노, 유타대학, 워싱턴대학, ETRI, 철도연구원 등 |
IoTvity | 2015 | 삼성, 인텔 등 | |
ThingsBoard | 2016 | ThingsBoard, T모바일, Circutor, BeaconZone, X-TELIA 등 |
오픈소스 소프트웨어 라이선스 충돌문제 해결방안
라이선스 충돌문제 | 해결방안 | 설명 |
오픈소스 라이선스와 상용 라이선스 간 충돌 |
소프트웨어 설계 시 라이선스 충돌 회피 |
- 파생저작물의 범위가 중복되지 않도록 분리 설계 - 라이선스 충돌이 발생하지 않도록 자체 개발 |
충돌이 발생하지 않는 다른 라이선스로 대체 |
- 오픈소스의 상용 버전 존재 시 상용 버전 사용 - 자사 상용 라이선스를 오픈소스 라이선스로 변경 |
|
오픈소스 라이선스 간 충돌 (오픈소스 양립성 문제) |
라이선스 의무조항을 탄력적으로 운영 |
- 추가 제한 금지 조항을 탄력적으로 운영 - 특정 라이선스로 재라이선싱 및 양립성 예외 허용 |
다중 라이선스로 소프트웨어 배포 |
- 모질라 프로젝트와 같은 다중 라이선스 정책 적용 - 하나의 오픈소스를 MPL, GPL, LGPL 등으로 배포 |
오픈소스 소프트웨어 vs. 상업용 소프트웨어
구분 | Commercial SW | Open Source | Open Source의 장점 |
공개성 |
|
|
|
사용조건 |
|
|
|
생산 및 개발체계 |
|
|
|
공공 클라우드 사업 참여 오픈소스 DBMS 기업 및 제품(2022.05.17)
기업 | 제품 | 설명 |
선재소프트 | 골디락스 | 클라우드 환경 지원 탄력적인 수평 확장(스케일 아웃) |
알티베이스 | 알티베이스 | 고객 장애 대응 능력, 기술 지원, 비용 경쟁력 |
인젠트 | 엑스퍼DB 플랫폼 | 활용성과 편의성, 서비스 다양성 |
큐브리드 | 큐브리드 | 원천 기술 기반 기술경쟁력, 고개밀착형 기술 지원 |
티맥스티베로 | 하이퍼SQL | 보안, 기술 지원, 모니터링 및 운영관리 기능 강화 |
마리아DB | 마리아DB | 모든 클라우드 지원 능력, 높은 경제성 |
EDB | EDB 프로스그레 | 포스트그레SQL 전문기업, 오라클 호환성 |
모범답안
- [답안] 오픈소스 도입(2교시)
- [답안] 오픈소스, 이너소스(1교시)
- [답안] 오픈소스 소프트웨어 개발방법론(1교시)
- [답안] FOSS, Open Source license 종류, 준수 방법, 고지 의무, 라이선스 양립성 (2교시형)
728x90