일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Backtracking
- 메인 메모리 DB
- 백트래킹
- TOPCIT
- 프로그래밍 언어
- 공간DB
- 온라인처리
- Flutter
- sync_with_stdio(0)
- 클라우드기반 IDE
- 개발프레임워크
- compare구조체
- compare
- 멀티미디어DB
- vector unique erase
- 객체관계형DB
- aws winscp
- 정렬
- 소프트웨어 개발도구
- 시간초과
- 계층형DB
- boj 11659
- c++
- 개발프레임워크의 기술 동향
- 소프트웨어아키텍처 기술 동향
- 프로그래밍 언어 기술 동향
- BOJ
- 객체 지향형 DB
- 네트워크형DB
- ANSI-SPARC
옐그's 코딩라이프
[TOPCIT][01] XIII. 오픈소스 소프트웨어 동향 (에센스 정리 요약) 본문
학습 목표
1. 오픈소스 소프트웨어의 개념과 라이선스에 대하여 설명할 수 있다.
2. 오픈소스 소프트웨어 라이선스 준수사항을 이해하고 활용할 수 있다.
핵심 키워드
- 오픈소스 소프트웨어 개념, 오픈소스 소프트웨어 라이선스
- 오픈소스 소프트웨어 라이선스 준수사항
01 오픈소스 소프트웨어 개념
오픈소스 소프트웨어 정의
- 사용하기 위한 라이선스 비용이 없으며 소스코드가 공개되어 있어 제작자의 권리르 지키면서 누구나 자유롭게 사용, 복제, 수정할 수 있는 소프트웨어
- 1980년대 소프트웨어에 제한을 가하려는 흐름에 반대하고 자유 사용의 권리를 지키기 위하여 리차드 스톨만이 자유소프트웨어재단을 설립하여 자유소프트웨어 운동을 전개한 것이 기원이 됨
- 대표적인 오픈소스 소프트웨어는 서버 소프트웨어 아파치웹서버, PHP, MySQL, Hadoop, Openstack 등과 개발도구 Eclipse, gdb 등과 운영체제 Linux 등이 있음
오픈소스 소프트웨어 라이선스 정의
- 오픈소스 개발자와 이용자 간에 사용 방법 및 조건의 범위를 명시한 계약
- 대표적인 라이선스로는 GPL(General Public License), LGPL(Lesser Gerneral Public License), BSD(Berkeley Software Distribution), MPL(Mozila Public License) 등의 라이선스가 있음
02 오픈소스 소프트웨어 라이선스
오픈소스 소프트웨어 라이선스 적용범위
- 내부에서 사용시에는 의무사항의 적용을 받지 않음
- 외부에 배포 및 판매할 경우에 한하여 의무사항을 적용받음
오픈소스 소프트웨어 라이선스 특징
- 무료 이용가능
- 배포 허용가능
- 소스코드 취득 가능
- 소스코드 수정가능
오픈소스 소프트웨어 라이선스 비교
1.GPL(GNU General Public License) 2.0
- 현재 가장 많은 오픈소스 소프트웨어가 채택하고 있는 라이선스
- 자유소프트웨어재단에서 만들고 배포됨
- 다른 오픈소스 소프트웨어 라이선스에 비해 매우 엄격한 편임
2.GPL 3.0
- GPL 2.0과 비슷하지만 DRM 관련 내용, 소프트웨어 특허문제, 양립성 문제 등이 추가됨
3.LGPL(Lesser General Public License)
- 일부 라이브러리에 대해 GPL보다 소스코드의 공개정도를 다소 완화된 형태로 사용할 수 있도록 만든 라이선스
- GPL과 같은 엄격한 라이선스를 적용하게 되면, 라이브러리를 사용하는 소프트웨어의 소스코드를 공개해야하기 때문에 사용을 꺼려하는 상용소프트웨어 개발자들을 위한 라이선스
4. BSD(Berkeley Software Distribution) License
- 소프트웨어의 소스코드를 공개하지 않아도 되는 대표적인 공개 소프트웨어 라이선스
- BSD라이선스로 배포되는 프로젝트가 미국정부에서 제공한 재원으로 운영되었기 때문에 허용범위가 넓음
5. Apache License
- 아파치 웹서버를 포함한 아파치 재단의 모든 소프트웨어에 적용되는 라이선스로 BSD라이선스와 비슷하여 소스코드 공개 등의 의무가 발생하지 않음
- "Apache"라는 이름에 대한 상표권을 침해하지 않아야 함
6. MPL(Mozila Public License)
- Netscape 브라우저의 소스코드를 공개하기 위해 개발된 라이선스로 공개하여야 할 소스코드의 범위를 좀 더 명확하게 정의함
- MPL 코드 자체의 수정부분은 다시 MPL에 의해 배포가 필요함
- 다른 코드와 결합되거나 새로운 코드가 작성된 경우에는 공개하여야 할 의무가 발생하지 않음
오픈소스 소프트웨어 라이선스 활용의 장단점
장점
- 웹 상에서 무료로 다운로드 및 소스코드 수정, 재배포가 가능한 특징으로 초기 개발 비용이 적게 요구됨
- 최신 기술 정보 및 문제점과 해결책이 커뮤니티를 통해 공유되므로 기술발전 속도가 빠르고 유연한 개발이 가능
- 주로 오픈 포맷 또는 프로토콜을 사용하기 때문에 서로 다른 소프트웨어 간 상호 연동성이 보장됨
- 개발과정에서 수많은 우수한 개발자가 참여하기 때문에 독점 프로그램에 비해 비교적 안정적
단점
- 상용 프로그램에 비해 체계적인 문서를 갖고 있지 못한 단점이 있음
- 자발적 참여를 바탕으로 웹 상에서 자유롭게 개발되는 특징으로 개발 로드맵이 체계적이지 않음. 오픈소스 소프트웨어 활용을 위해서는 해당 소프트웨어의 향후 개발 계획 등의 고려가 필요함
- 일반적으로 특허에 대한 사용료 없이 배포할 것을 요구함
'TOPCIT' 카테고리의 다른 글
[TOPCIT][02] I. 데이터와 데이터베이스의 이해 (에센스 정리 요약) (0) | 2023.03.28 |
---|---|
[TOPCIT][01] XIV. 소프트웨어 개발 동향 (에센스 정리 요약) (0) | 2023.03.27 |
[TOPCIT][01] XII. 소프트웨어 유지관리 (에센스 정리 요약) (0) | 2023.02.26 |
[TOPCIT][01] XI. 소프트웨어 형상관리 (에센스 정리 요약) (0) | 2023.02.25 |
[TOPCIT][01] X. 소프트웨어 요구관리 (에센스 정리 요약) (0) | 2023.02.24 |