오픈소스 소프트웨어 란?
- 수정 가능한 소스코드와 함께 배포되는 컴퓨터 소프트웨어
우리가 잘 알고 있는 C, C++, LINUX, MYSQL, REACT, Apache, PHP, PYTHON 등등
많은 프로그램들이 오픈소스 기술 기반으로 개발되었다.
많은 개발자들이 오픈소스를 활용하여 개발하고, 오픈소스가 열려 있기에 협업, 실력 향상 등 많은 부분에서
편리성과 효율성이 높아져 가고 있다.
오픈소스란 결국엔 다른 사람이 만든 소스를 오픈하여 많은 사람이 사용 할 수 있게 제공 한다는 것인데, 오픈소스도
저작권자에 의한 라이선스 규정이 있을 수 있으며, 이를 준수해야 한다.
즉, 오픈소스 라이선스는 우리가 오픈소스를 사용하는데 저작권 같은 느낌이라고 생각하면 될 것 같다.
오픈소스 소프트웨어 라이선스
- 오픈소스 소프트웨어 개발자와 이용자 간에 이용 방법 및 조건의 범위를 명시한 계약
특징
- 소스코드 변경시에 변경한 내용과 방법이 포함되어야 함
- 수정된 소프트웨어는 무료로 제공되거나/ 제공되지 않을 수 있다.
OSS 라이선스의 종류
- GPL
- LGPL
- BSD
- Apache
- MIT
...
가장 대표적인 5가지 라이선스 이다.
다섯가지 라이선스의 특징에 대해 달달 외우기 보다는 간단하게 정리하는 식으로 쓰겠다.
대표적인 5가지 라이선스 종류가 있다는 정도만 알면 된다.
GPL
- GPL 코드 일부라도 사용하여 개발된 프로그램은 GPL 적용을 받는 라이센스
(GPL 유료판매 가능하지만, 외부 공개/배포 시 전체 소스코드 무료 공개해야 함)
- 배포하려는 프로그램 특정 부분이 GPL 코드에서 파생된 것이 아닌 독립적인 저작물인 경우?
(독립 저작물의 개별적인 베포에는 GPL 적용 X,
프로그램 전체 배포에는 GPL 적용)
ex) 리눅스 커널, 모질라, Git, 워드프레스 등
LGPL
- GPL 보다 훨씬 완화된 조건의 공개SW 라이선스
LGPL 코드를 static , dll 라이브러리를 사용한 프로그램을 개발하여 판매/배포 하는 경우?
-> 소스코드 공개하지 않아도 됨, LGPL 코드를 사용했음을 명시만 하면 됨
LGPL 코드를 수정하거나 파생된 라이브러리를 개발/ 배포의 경우
- 전체 코드를 공개해야 함
BSD
- 수정가능, 수정본의 재배포 가능
- 소스코드 공개 의무 없음
- 라이센스 관련 정보를 고지해야 함
ex) Nginx 웹서버
MIT
- 라이선스와 저작권 관련 명시만 하면 됨
- 소스코드 공개 의무 없음
ex) 부트스트랩, Backbone.js, jQuery
Apache
- 수정, 배포의 경우 Apache 라이선스 명시
- 소스코드 공개 의무 없음
ex) Android, Hadoop
'CS(Computer Science)' 카테고리의 다른 글
[OS] 컴퓨터 시스템 구조 (0) | 2022.03.14 |
---|---|
[OS] I/O 구조 , 레지스터의 이해 (0) | 2022.03.12 |
[OS] 저장장치 구조 (Storage Structure) (0) | 2022.03.12 |
(OS) 컴퓨터 시스템, Interrupt (0) | 2022.03.12 |
운영체제 기초(개관) (0) | 2022.03.12 |