본문 바로가기
TIL with Programmers

[TIL] 11/27 오픈소스에 기여하기

by 보먀 2024. 11. 27.
728x90
반응형

이전 내용

 

[TIL] 11/25 오픈 소스란?

1. 오픈소스오픈소스란 누구나 특별한 제한 없이 공개 되어 있는 소스코드를 말한다. 오픈소스로 공개 되어 있는 코드에는 검사(리뷰), 수정 등 개선사항을 마음껏 펼칠 수 있다. 또 오픈 소스는

everydayc0ding.tistory.com

 

 

[TIL] 11/26 오픈 소스와 깃허브

이전 내용 [TIL] 11/25 오픈 소스란?1. 오픈소스오픈소스란 누구나 특별한 제한 없이 공개 되어 있는 소스코드를 말한다. 오픈소스로 공개 되어 있는 코드에는 검사(리뷰), 수정 등 개선사항을 마음

everydayc0ding.tistory.com

 

 

1.6. 오픈 소스 구성원 역할

 

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

 

- 메인테이너: 프로젝트 방향을 알고 있는 / 직접 설정한 프로젝트를 관리하는 컨트리뷰터

 

- 커미터:

컨트리뷰터가 컨트리뷰션을 하면 리뷰를 하는 사람(사실 이 사람도 컨트리뷰터임) + 프로젝트에 반영할지 말지 결정 권한도 가지 고있음

 

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

 

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

 

 

1.7. 컨트리뷰션 활동 유형

 

Q. 오픈 소스 프로젝트에 코드를 구현하고, 수정하는 것만 기여를 하는 것일까? X

 

-> 프로젝트는 요구 사항에 대한 결과물을 내는 것, 즉 코드에 국한되지 않는다!

  • 버그 픽스
  • 문서 작업
  • 기능 추가 / 수정 / 삭제
  • 리팩토링
  • 버전, 외부 모듈 바꾸는 게 어때?
  • 에러 메세지
  • 리소스
  • 테스트 케이스 추가

 

1.8. 컨트리뷰션을 하는 이유?

 

<오픈 소스 저작자>

  • 컨트리뷰터들이 버그를 찾아줌
  • 사용하면서 불편했던 점, 개선할 코드 등등 혼자는 찾을 수 없는 사항들을 다른 사람들이 찾아줌

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

  • 내가 원하는 기능을 추가할 수 있고, 사용자 입장에서 코드 사용하는 데도 편리함
  • 오픈 소스 코드 분석(=코드 문해력) 길러짐
  • 멋진 개발자분들에게 리뷰를 받을 수 있음
  • 코드 퀄리티를 높일 수 있음 -> 코드를 보는 시선/관점/시야
  • 협업, 성취감

 

1.9. 컨트리뷰션 주의사항

 

협업 주의 사항

  • 커뮤니케이션: 태도, 자세, 말투 -> 겸손
  • 소스 코드 충돌
    • Contribution 하고 싶은 내용을 이미 구현하고 있진 않은지, 구현하지 않기로 결정한 건 아닌지
    • 시작하기 전에 내가 작업을 시작할 것을 알리는 것이 좋음 (= 이슈 오픈, 디스커션 ...)
  • 너무 오래된 open 이슈
    • 디스커션이나 커뮤니티 문의
    • 오래된 이슈, 작업하지 않는 이슈, 정리되지 않은 이슈 정리 -> 이것도 일종의 Contribution
  • 새롭고, 큰 중요한 기능 추가 하고 싶을 때 ..
    • 이런 기능 추가해보고 싶은데 어때? -> 물어보기, 프로젝트 방향성에 맞지 않을 수 있음
    • 물어보면서 내부적으로 팀원도 모집할 수 있음
  • Pull Request 를 던질 때
    • 템플릿이나 문서를 확인하면서 준수할 내용 체크 (테스트 유무, 컨벤션 등 .. )

 

1.10. 컨트리뷰트 절차

 

1. 오픈 소스 프로젝트를 Fork

(저작자 계정에 있는 레포를 내 깃허브로 복제 해오는 것, 근데 연결이 유지됨)

 

2. Clone

(내 계정에 복제해온 레포를 내 로컬로 가져옴)

 

3. 코드 컨벤션 - 커밋 메세지 등.. (코드 구현 전에 체크해야 하는 "규칙")

 

4. 코드 구현, 수정 & 커밋

(주석 수정)

 

5. 내 계정 깃 허브 레포로 Push

 

6. 내 깃허브 레포 -> 오픈 소스(원작자) 레포로 Pull Request

 

7. Contributor License Agreement (라이센스 동의)

 

8. 리뷰어, 커미터, 메인테이너, 저작자 -> 코드를 검토해줄 사람들

(코드가 크리티컬 하지 않는다면 바로 머지될 수도 있음)

 

9. merge 되었다 = Pull Request closed 알림이 옴

(깃허브에서 메일이 옴)

 

10. 컨트리뷰터 리스트에 내 계정이 추가가 되어 있음

 

 

 

 

728x90
반응형

'TIL with Programmers' 카테고리의 다른 글

[TIL] 11/28 오픈소스 프로젝트 찾기  (0) 2024.11.28
[TIL] 11/26 오픈 소스와 깃허브  (0) 2024.11.26
[TIL] 11/25 오픈 소스란?  (0) 2024.11.25
[TIL] 11/20  (1) 2024.11.24
[TIL] 11/21  (0) 2024.11.21