본문 바로가기

공부/타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)

Code contributor: 오픈소스 프로젝트 활용(3)

오픈 소스 구성원 역할

저작자

: 오픈 소스 프로젝트를 만든 사람 또는 조직

메인테이너

: 프로젝트의 방향을 알고 있거나 혹은 직접 설정한 프로젝트를 관리하는 컨트리뷰터

커미터

: 컨트리뷰터가 컨트리뷰션을 하면 리뷰를 하는 컨트리뷰터고

프로젝트에 반영할지 말지 결정 권한도 가지고 있는 컨트리뷰터

컨트리뷰터

: 오픈 소스 프로젝트의 컨트리뷰션(기여) 활동을 하는 모든 사람

사용자

: 오픈 소스 프로젝트를 사용하는 사람

컨트리뷰션 활동 유형

컨트리뷰션을 하는 이유

<오픈 소스 저작자>

🔸사용하면서 불편했던 점, 개선할 코드, 버그 등

혼자서 찾을 수 없는 사항들을 찾아줌

 

<오픈 소스 사용자 / 컨트리뷰터>

🔸다른 개발자들에게 리뷰를 받을 수 있음

🔸사용자 입장에서 내가 원하는 기능 추가 -> 평가(리뷰)받음

🔸오픈 소스 코드 분석(= 코드 문해력) 길러진다.

🔸코드 퀄리티 높일 수 있다.

🔸코드를 보는 시선/관점/시야가 넓어진다.

🔸협업 경험과 성취

오픈 소스 소프트웨어 (Open Source Software, OSS)

https://www.oss.kr/

 

공개SW 포털 - 공개SW 포털

WELCOME There are a million reasons to use XE3. XpressEngine은 자유로운 웹 콘텐츠 발행을 돕는 CMS입니다. Laravel ...

www.oss.kr

Contribution 주의 사항

❄️ 커뮤니케이션

🔸 태도, 자세, 말투 ➡️ 겸손

❄️ 소스 코드 충돌

🔸 contribute하고 싶은 내용을 이미 구현하고 있진 않은지,

구현하지 않기로 결정한 건 아닌지 확인하기 ➡️ 디스커션이나 커뮤니티 문의

🔸시작하기 전 내가 작업을 시작할 것을 알리는 것이 좋음 (이슈오픈, 디스커션)

🔸오래된 이슈, 작업하지 않는 이슈, 정리되지 않은 이슈를 정리하는 것도 컨트리뷰션

❄️새롭고,중요한 큰 기능을 추가하고 싶을 때

🔸디스커션이나 커뮤니티 문의 ➡️ 진행시 내부적으로 팀원모집도 가능

❄️Pull Request 던질 때

🔸템플릿 이나 문서를 확인하면서 준수할 내용(테스트 유무, 컨벤션 등) 체크

➡️➡️결국 공유가 중요하다✨✨

컨트리뷰트 하는 방법과 절차

contributing 문서 / 가이드

https://docs.github.com/ko/get-started/exploring-projects-on-github/contributing-to-a-project

 

프로젝트에 기여 - GitHub Docs

포크를 통해 프로젝트에 기여하는 방법을 알아봅니다.

docs.github.com

오픈 소스 프로젝트를

1. 저작자 계정 - 레포지토리 => 내 계정 - 레포지토리로 Fork =>

2. => 내 계정 - 레포지토지 Clone => 내 컴퓨터 - 로컬

3. ✨코드 컨벤션 ✨커밋 메세지 등

코드 구현 전에 체크해야하는 규칙 알아보고 준수하기

4. 코드 구현, 수정 && 주석 수정 등도 컨트리뷰트

수정 후

5. 내 컴퓨터 - 로컬 => 내 계정 - 레포지토리(Clone했던)로 push

6. 내 계정 레포지토리(push된) => 저작제 계정 - 레포지토리로 Pull Request

7. Contributor License Agreement = 라이선스 동의 서명 (없으면 생략)

8. 리뷰어, 커미터, 메인테이너, 저작자 ... 등 검토해줄 사람

🔸큰 수정이 아니라면 생략하고 바로 머지되는 경우도 있음❗

9. merge 혹은 Pull Request closed 알림이 메일로 온다.

10. 컨트리뷰터 리스트에 내 계정이 추가 된다✨❗❗