깃허브 Discussions
토론 게시판. 디스코드나 슬랙 처럼 커뮤니티 역할을 해준다.
토론에서 의논후 이슈로 전환하기도 하고, 따로 토론 없이 바로 이슈를 만들기도 한다.
깃허브 토론은 꼭 프로젝트에 기여한 사람만이 사용할 수 있는 공간은 아니고, 마치 스택 오버플로우 처럼 누구나 질문 답변을 할 수 있다.
토론 창을 보면 사람 마다 개개인의 역할이 있는것을 알 수 있다.
Maintainer는 유지하는 사람.
아무 라벨이 없으면 일반 기여자이다.
오픈소스 구성원의 역할
- 저작자 : 오픈 소스 프로젝트를 만든 사람 또는 조직
- 사용자 : 오픈 소스 프로젝트를 사용하는 사람
- 메인테이너 : 프로젝트의 방향을 알고 있는/직접 설정한 프로젝트를 관리하는 컨트리뷰터
- 커미터 : 컨트리뷰터가 기여를 하면 리뷰를 하는 컨트리뷰터. 프로젝트에 반영할지 말지 결정 권한도 가지고 있는 컨트리뷰터
- 컨트리뷰터 : 오픈 소스 프로젝트에 컨트리뷰션(기여) 활동을 하는 모든 사람
메인테이너와 커미터는 프로젝트에 없어도 오픈소스는 돌아간다. 만약 그렇다면 누가 PR 처리를 해주는 것일까? 저작자가 직접 해주면 되는 것이다.
컨트리뷰터
오픈소스 프로젝트에 참여하는것은 코드를 구현하고 수정하는 것만 있는 것이 아니다. 어떤 유형의 컨트리뷰터들이 있는지 알 수 있는 자료가 있다.
http://www.igor.pro.br/publica/papers/saner2016.pdf
코드 이외에도 많은 기여를 할 수 있다.
- 오타 수정
- 번역
- 문서 설명 덧붙임
- 배너 문구 수정 제안
- UI/UX 제안
물론 코드에도 기여할 수 있다.
- 버그 픽스
- 기능 추가/수정/삭제
- 리팩토링
- 버전, 외부 모듈 교체
- 에러 메시지
- 테스트 케이스 추가
한가지 알아 둘 점은 직접 고치지 않아도 제안만 해도 기여로 인정된다는 것이다.
컨트리뷰터 활동 이유
오픈 소스 저작자
- 기여자들이 버그를 찾아줌
- 불편했던 점, 개선점을 찾을 수 있음
오픈소스 사용자, 기여자
- 협업, 성취감
- 다른 사람의 코드 분석 = 코드 문해력
- 내가 원하는 기능을 추가할 수 있고, 사용자 입장에서 코드 짜는 데도 편리, 객관적인 평가도 받을 수 있음
- 뛰어난 개발자들에게 리뷰를 받을 수 있음
- 코드 퀄리티 높일 수 있고, 코드를 보는 관점이 넓어진다.
- 이력서와 포트폴리오에 도움
우리나라에서 오픈소스
OSS (Open Source Software)
소스코드는 공개 + 라이선스 로 소프트웨어를 만들면 곧 오픈소스 소프트웨어이다.
한국 공공기관에서는 공개 소프트웨어라고 부른다.
한국에서도 oss 사이트가 있다.
공개 소프트웨어와 관련된 업무를 처리해준다. 이곳에서 제공하는 것 중 컨트리뷰션 아카데미라는 것이 있다. 오픈소스 기여를 도와주기 위해서 만들어진 행사이다.
컨트리뷰터 주의사항
- 커뮤니케이션 : 태도, 자세, 말투, 겸손한 자세로
- 소스 코드 충돌 : 기여하고 싶은 내용을 이미 구현하고 있진 않은지, 구현하지 않기로 결정된건 아닌지. 시작하기 전에 내가 작업을 시작할 것을 알리는 것이 좋음!(= 이슈오픈, discussion). 만약 오래전에 열렸지만 아직 해결되지 않은 이슈가 있다면, 디스커션이나 커뮤니티 등에 문의를 먼저 하고 하면 된다. 오래된 이슈, 작업하지 않는 이슈, 정리되지 않는 이슈들을 정리하는 것도 일종의 기여이다.
- 새롭고, 큰 중요한 기능을 추가하고 싶을 때: 디스커션이나 커뮤니티에 먼저 추가해보고 싶다고 물어보는것이 좋다. 팀원을 구할 수도 있다.
- PR을 던질 때: 템플릿(틀)등 문서를 확인하면서 준수할 내용(테스트 유무, 컨벤션 등) 체크
언어장벽
오픈소스나 공식문서는 영어로 되어있다. 개발자 영어는 어려운 문장구조가 없기 때문에 너무 두려워 할 필요가 없다.
컨트리뷰트 절차
컨트리뷰트 가이드를 보고 진행하면 된다.
기본적인 절차들은 다음과 같다.
오픈소스 프로젝트를 Fork
오픈소스 프로젝트 레포지토리가 내 계정 레포지토리로 복제가 된다. 이것을 Fork라 한다. 단순히 복사만 되는 것이 아니라 원 리포지토리와 연결이 되어있다. 만약 원래 레포지토리에 업데이트가 발생하면 내 레포지토리에도 업데이트 해올 수 있다.Clone
내 계정 레포지토리를 Clone 하면 내 로컬로 프로젝트를 받아온다. 이것을 Clone 이라 한다.코드 컨벤션, 커밋 메시지 규칙등을 코드 구현 전에 체크
코드 구현, 수정 후 커밋
코드 뿐만 아니라 주석 수정하는것도 기여의 일종이다.로컬 저장소에서 내 깃허브 레포지토리로 Push
내 계정 레포지토리에서 오픈소스 레포지토리로 밀어 넣는 것을 요청(Pull Request)
Contributor License Agreement(동의)
리뷰어, 커미터, 메인테이너, 저작자 등 검토해줄 사람
크리티컬 하지 않으면 검토 생략하고 바로 머지되는 경우도 있다merge 되었다, Pull Request close 알림
깃허브 기여자 리스트에 내 계정이 추가된다
후기
오픈소스 구성원의 역할과 컨트리뷰트의 절차에 대해서 알아보았다.
키워드: 프로그래머스 데브코스, 국비지원교육, 코딩부트캠프
'프로그래머스 풀스택 데브코스 > 데브코스 TIL' 카테고리의 다른 글
웹 풀사이클 데브코스 TIL 81일차 (0) | 2024.03.20 |
---|---|
웹 풀사이클 데브코스 TIL 57일차 (0) | 2024.02.13 |
웹 풀사이클 데브코스 TIL 56일차 (0) | 2024.02.11 |
웹 풀사이클 데브코스 TIL 55일차 (0) | 2024.02.07 |
웹 풀사이클 데브코스 TIL 54일차 (0) | 2024.02.06 |