power-girl0-0

[GIT] 오픈소스의 개요 및 오픈소스 활동을 하는 이유 본문

개발

[GIT] 오픈소스의 개요 및 오픈소스 활동을 하는 이유

power-girl0-0 2021. 2. 17. 17:36
728x90

 

해당 게시물은 나동빈 님의 'Git으로 시작하는 협업 및 오픈소스 프로젝트'강의를 바탕으로 작성된 것입니다.

스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.


 오픈소스 ( Open Source ) 

공개된 소스코드를 의미한다.

 

이는 특정한 소프트웨어를 개발한 개발자의 권리를 지키면서 누구나 소스코드를 확인할 수 있도록 하는 것을 말하며, 가격은 공짜이다.


가장 대표적인 오픈 소스로는 부트스트랩(Bootstrap)이 있다.

 


부트스트랩은 가장 유명한 웹 디자인 프레임워크 중 하나로, 세계적으로 가장 큰 오픈 소스 저장소인 GitHub에서 확인할 수 있다.

위와 같이, ★이 2000개만 넘어도 엄청 유명한 오픈 소스 프로젝트이다.

 

일반적으로 유명한 오픈 소스 같은 경우는 readme파일이 있어서, 해당 오픈 소스를 설명해준다.

이것은 보통 누가 이 프로젝트를 만들었고, 어떻게 설치하는 등의 정보들이 담겨 있기 때문에 소스코드를 하나씩 뜯어 볼 수가 있도록 도와준다.


오픈 소스 활동은 특정한 프로젝트를 오픈 소스로 만들어서 관리하는 행위, 컨트리뷰션(Contribution)하는 행위 등을 지칭한다.

 컨트리뷰션 ( Contribution ) 

컨트리뷰션은 말 그대로 기여한다는 의미이며 기능 추가, 보안 취약점 수정 등 뿐만 아니라 오타 수정, 번역, 의견 제시 등도 컨트리뷰션이라고 할 수 있다. 그렇기 때문에 사실상 누구나 컨트리뷰션을 할 수 있습니다.

 

 그렇다면, 어떠한 이익도 없을 것 같은 오픈 소스 활동인 컨트리뷰션을 왜 하는 걸까?


   ① 오픈 소스 활동 자체는 공개된 기록으로 남기 때문에 구직 활동을 할 때 이력서에 활동 이력을 넣을 수 있기 때문이다.
   ② 내가 작업한 새로운 기능을 다른 개발자들도 사용해보고, 이를 평가하여 개선시킬 수 있기 때문이다.

 커미터(Committer) 

실제로 누군가 컨트리뷰션을 하면, 해당 내용을 리뷰하고 실제 프로젝트에 반영할지를 결정하는 사람을 커미터라고 말한다.

다시 말해 특정한 프로젝트를 오픈 소스로 만들어서 관리하는 사람들을 의미하는 것이다.


즉 실제로 많은 사람들이 컨트리뷰션을 했지만, 이 프로젝트를 직접 가지고 있고 관리하는 사람들은 따로 있다고 볼 수 있는 것이다.

 

왜냐하면, 누구나 소스코드를 바꾸고 수정할 수 있다면 좋지 않은 결과가 나올 수 있기 때문이다. 

실제로 프로젝트의 어떠한 코드를 반영할 수 있는 권한을 가지고 있는 사람은 십몇명 이내로 구성하는 것이 일반적이다.


 그렇다면 왜 프로젝트를 오픈 소스로 공개하여 누구나 볼 수 있도록 하는 것일까?

   ① 사회 공헌을 위해 공개한다.
   ② 소프트웨어의 품질 향상을 위해 공개한다.
   ③ 오픈소스 라이센스 때문에 어쩔 수 없이 공개한다.

오픈 소스 라이센스는 실제로 오픈 소스를 활용하여 개발할 때 저작권 및 라이센스를 명시해야 한다.


※ 오픈소스 라이센스 ※

 

대표적인 오픈소스 라이센스 몇 가지만 알아보자.

   ① MIT License
       무료, 배포 가능, 소스코드 수정 가능, 2차 저작물 공개 의무는 없다.
   ② Apache License
       무료, 배포 가능, 소스코드 수정 가능, 2차 저작물 공개 의무는 없다.
   ③ GPL
       무료, 배포 가능, 소스코드 수정 가능, 2차 저작물 공개 의무가 있다.
    Beerware
       잘 사용하였다는 말정도의 마인드인 라이센스이다.

 

 

 

728x90

'개발' 카테고리의 다른 글

[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
Comments