일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Android
- 연결리스트
- retrofit
- 카카오인코더
- 프로그래머스
- 안드로이드
- Map
- Kotlin
- c
- BFS
- 스프링 프레임워크
- ADAS
- 백트래킹
- hackerrank
- vue.js
- 백준
- 블로그개설
- 스프링
- git
- c++
- Rebase
- TensorFlow
- stl
- 머신러닝
- spring
- 프로그래밍
- 인코더
- 스프링프레임워크
- python3
- DP
Archives
- Today
- Total
이것저것 공부한 기록
오픈소스 라이센스 본문
이번에 보안 관련 오픈소스 라이브러리나 툴을 찾아보면서 오픈소스에도 라이센스가 있다는 것을 알게 되었다.
오픈소스는 기본적으로 코드가 공개되어있기 때문에 권리 및 배포가 자유롭고 상업적으로 사용이 가능하며, 오픈소스 소프트웨어를 사용할 경우 그 코드를 사용한 코드도 공개한다는 게 기본적인 컨셉이다. 하지만... 회사 프로젝트에 사용할 오픈소스를 찾고 있을 경우 그게 좀 곤란하지.
사용한 오픈소스 및 라이센스 정책을 명시하는것은 필수적이지만, 해당 오픈소스가 차용하고 있는 라이센스에 따라 개발한 소스코드를 공개하는게 의무일수도, 의무가 없는 경우도 있어 잘 찾아봐야 한다.
라이센스는 github 등의 공개 repository에 LICENSE가 명시되어있다. (LICENSE.txt파일이나, 없을경우 Readme에 별도 기입되어 있음)
+) 기본적으로 코드에 대한 보증, 책임이 없다.
아래는.. 내가 필요한 내용 위주로 정리해 봄
GPL ( General Public License )
- FSF에서 만든 라이센스 규약
- 원본 저작물 및 파생 저작물에 대한 소스코드를 제공하거나, 요청 시 제공하겠다는 약정서를 제공하는 조건이 있다.
- 소스코드의 범위 : 실행물에 포함된 모든 모듈들, 인터페이스 정의 파일 전체, 컴파일과 설치를 제어하는데 사용된 스크립트 전부
- 단, 두 개의 프로그램이 파이프, 소켓, command-line arguments로 통신하는 경우, 플러그인이 exec나 fork를 이용하는 경우에는 소스코드 공개의 의무가 없음
- 내부 또는 개인적 목적으로 사용할 때는 공개할 필요가 없으나, 외부에 공개하거나 배포하거나 팔 때에는 전체 소스코드를 공개해야 한다고 함
LGPL ( Less General Public License )
- GPL이 너무 엄격해서 좀 더 느슨하게 나온 라이센스로, 기본적으로 라이브러리에 적용되는 라이센스.
- 수정 없이 사용만 할 경우에는 라이브러리 그 자체로 사용을 해야하고, 소스코드를 공개할 의무가 없음.
- 그러나 수정을 가할 경우 수정된 내용을 포함한 모든 코드를 공개해야 함.
- 정적링크시에는 응용 프로그램의 목적코드를 공개해야 함 <?
- LGPL 를 사용하여 개발한 뒤 GPL라이센스로 변경은 가능하지만, GPL을 임의로 LGPL로 변경할 수는 없다.
AGPL ( Affero General Public License )
- 어떠한 경우에도 모든 소스코드를 공개해야 함.
BSD ( Berkeley Software Distribution )
- 버클리 대학에서 만든 라이센스
- 소스코드 공개 의무가 없고, 어떤 오픈소스를 사용했는지 라이센스와 관련된 정보를 SW에 고지하기만 하면 됨.
- MIT 라이센스의 기반이 됨
Apache License
- 아파치 소프트웨어 재단에서 자체적으로 만든 라이센스
- 소스코드 공개 의무가 없음
- "Apache"라는 이름에 대한 상표권을 침해하지 않아야 한다는 조항이 포함되어 있음
(추가예정)
'Others' 카테고리의 다른 글
[Ubuntu] Python 설정 건드린 후 터미널/터미네이터가 안 켜질 때 (0) | 2021.08.05 |
---|---|
Ubuntu 16.04 환경에서 repo Syntax error.. python 업데이트 하기 (0) | 2021.05.06 |
카카오인코더 (1) | 2019.10.31 |
동영상 코덱 (0) | 2019.10.21 |
ADAS 관련 스크랩 (0) | 2019.10.17 |