일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 사칙연산
- xss game 풀이
- window
- sql injection
- 자바스크립트
- blind sql injection
- lord of sql injection
- 객체
- 배열
- python
- property
- jQuery
- htmlspecialchars
- 메소드
- IF문
- document
- Pwndbg
- 김성엽 대표님
- 백준 알고리즘
- 포인터
- suninatas 풀이
- 백준 파이썬
- 파이썬
- 함수
- element 조회
- xss game
- github
- 조건문
- object
- burp suite
- Today
- Total
power-girl0-0
[GIT] 오픈소스의 개요 및 오픈소스 활동을 하는 이유 본문
해당 게시물은 나동빈 님의 'Git으로 시작하는 협업 및 오픈소스 프로젝트'강의를 바탕으로 작성된 것입니다.
스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.
오픈소스 ( Open Source )
공개된 소스코드를 의미한다.
이는 특정한 소프트웨어를 개발한 개발자의 권리를 지키면서 누구나 소스코드를 확인할 수 있도록 하는 것을 말하며, 가격은 공짜이다.
가장 대표적인 오픈 소스로는 부트스트랩(Bootstrap)이 있다.
부트스트랩은 가장 유명한 웹 디자인 프레임워크 중 하나로, 세계적으로 가장 큰 오픈 소스 저장소인 GitHub에서 확인할 수 있다.
위와 같이, ★이 2000개만 넘어도 엄청 유명한 오픈 소스 프로젝트이다.
일반적으로 유명한 오픈 소스 같은 경우는 readme파일이 있어서, 해당 오픈 소스를 설명해준다.
이것은 보통 누가 이 프로젝트를 만들었고, 어떻게 설치하는 등의 정보들이 담겨 있기 때문에 소스코드를 하나씩 뜯어 볼 수가 있도록 도와준다.
오픈 소스 활동은 특정한 프로젝트를 오픈 소스로 만들어서 관리하는 행위, 컨트리뷰션(Contribution)하는 행위 등을 지칭한다.
컨트리뷰션 ( Contribution )
컨트리뷰션은 말 그대로 기여한다는 의미이며 기능 추가, 보안 취약점 수정 등 뿐만 아니라 오타 수정, 번역, 의견 제시 등도 컨트리뷰션이라고 할 수 있다. 그렇기 때문에 사실상 누구나 컨트리뷰션을 할 수 있습니다.
그렇다면, 어떠한 이익도 없을 것 같은 오픈 소스 활동인 컨트리뷰션을 왜 하는 걸까?
① 오픈 소스 활동 자체는 공개된 기록으로 남기 때문에 구직 활동을 할 때 이력서에 활동 이력을 넣을 수 있기 때문이다. ② 내가 작업한 새로운 기능을 다른 개발자들도 사용해보고, 이를 평가하여 개선시킬 수 있기 때문이다. |
커미터(Committer)
실제로 누군가 컨트리뷰션을 하면, 해당 내용을 리뷰하고 실제 프로젝트에 반영할지를 결정하는 사람을 커미터라고 말한다.
다시 말해 특정한 프로젝트를 오픈 소스로 만들어서 관리하는 사람들을 의미하는 것이다.
즉 실제로 많은 사람들이 컨트리뷰션을 했지만, 이 프로젝트를 직접 가지고 있고 관리하는 사람들은 따로 있다고 볼 수 있는 것이다.
왜냐하면, 누구나 소스코드를 바꾸고 수정할 수 있다면 좋지 않은 결과가 나올 수 있기 때문이다.
실제로 프로젝트의 어떠한 코드를 반영할 수 있는 권한을 가지고 있는 사람은 십몇명 이내로 구성하는 것이 일반적이다.
그렇다면 왜 프로젝트를 오픈 소스로 공개하여 누구나 볼 수 있도록 하는 것일까?
① 사회 공헌을 위해 공개한다. |
오픈 소스 라이센스는 실제로 오픈 소스를 활용하여 개발할 때 저작권 및 라이센스를 명시해야 한다.
※ 오픈소스 라이센스 ※
대표적인 오픈소스 라이센스 몇 가지만 알아보자.
① MIT License |
'개발' 카테고리의 다른 글
[GIT] git의 동작원리 (0) | 2021.02.17 |
---|---|
[GIT] git 등장 배경과 장점 (0) | 2021.02.17 |
[GIT] git 설치 및 사용법 익히기 (0) | 2021.02.17 |
Eclipse 설치 (0) | 2021.02.16 |
GitHub 사용법 (0) | 2020.11.22 |