개발지식/오픈소스

1210 오픈소스 기여 절차

thinktank911 2025. 12. 10. 11:19

오픈소스 구성원 역할

  • 저작자 : 오픈 소스 프로젝트를 만든 사람 또는 조직
  • 메인테이너 : 프로젝트의 방향을 알고 있는/직접 설정한 프로젝트를 관리하는 컨트리뷰터
  • 커미터 : 컨트리뷰터가 컨트리뷰션을 하면 리뷰를 하는 컨트리뷰터
                  프로젝트에 반영할지 말지 결정 권한도 가지고 있는 컨트리뷰터
  • 컨트리뷰터 : 오픈 소스 프로젝트에 컨트리뷰션(기여) 활동을 하는 모든 사람
  • 사용자 : 오픈 소스 프로젝트를 사용하는 사람

컨트리뷰션 활동 유형

  • 오픈 소스 프로젝트 기여 : 코드에 한정되는 게 아니다.
  • 오타수정
  • 번역 : 내가 직접? 제안만 해도 컨트리뷰션
  • 문서 설명 덧붙임
  • 배너 문구 수정 제안
  • UI/UX 제안

ex> hubot, react

  • 버그 픽스 : 제안만 해도
  • 문서 작업
  • 기능 추가/수정/삭제
  • 리팩토링(ex. expired ⬅️ e)
  • 버전, 외부 모듈 바꾸는 게 어때?
  • 에러 메세지
  • 리소스
  • 테스트케이스 추가

 

컨트리뷰터 활동 이유

<오픈 소스 저작자>

  • 버그 찾아줄 듯
  • 사용하면서 불편했던 점, 개선할 코드 등등

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

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

cf. 이력서, 포트폴리오

OSS

오픈 소스 소프트웨어

  • 소스 코드는 공개 + 라이선스 ➡️ 소프트웨어

cf. 공공기관 : 공개 소프트웨어

OSI : OSS 인증마크
OLIS /
https://www.oss.kr/

공개 소프트웨어 라이선스 문의
공개SW 사업 > 컨트리뷰션 아카데미

  • 멘토링 형태

 

컨트리뷰터 주의 사항

협업 주의 사항 ➡️ 공유

커뮤니케이션 : 태도, 자세, 말투 ➡️ 겸손
소스 코드 충돌

  • 컨트리뷰트 하고 싶은 내용을 이미 구현하고 있진 않은지, 구현하지 않기로 결정한 건 아닌지
  • 오래된 open 이슈 (ex. hubot 한국어 번역)
    • 디스커션이나 커뮤니티 문의
    • 오래된 이슈, 작업 안하는 이슈 정리도 일종의 컨트리뷰션
  • 시작하기 전에 내가 작업을 시작할 것을 알리기(=이슈 오픈, discussion...)
    새롭고, 큰 중요한 기능 추가하고 싶을 때
  • 의견 묻기
  • 내부적 팀원 모집

Pull Request 던질 때

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

언어 장벽

오픈소스 예시

  • pytorch-tutorial
  • vim-plug
  • fzf

영어는 기본문법만, 겁먹지 않기

컨트리뷰트 절차

ex. cloud-barista

 

contributin 문서 / 가이드

  1. 오픈 소스 프로젝트를 fork
  2. 내 계정 - 레포지토리 Clone ➡️ 내 로컬



  3. 코드 컨벤션, 커밋 메세지, 코드 구현 전에 체크해야 하는 규칙
  4. 코드 구현, 수정 / 주석 수정
  5. 내 계정 깃허브 레포지토리(clone) 로 push
  6. 저작자 계정 pull request

  1. 컨트리뷰터 라이센스 동의 서명
  2. 리뷰어, 커미터, 메인테이너, 저작자 ... 검토해줄 사람
  • 검토 생략하고 바로 머지되는 경우도 있다
  1. 머지 = Pull Request Closed 알림
  2. 컨트리뷰터 리스트에 내 계정이 추가될 것!

'개발지식 > 오픈소스' 카테고리의 다른 글

1223 MDN Web Docs 기여 실습  (0) 2025.12.23
1212 오픈 소스 사용 체크리스트  (0) 2025.12.12
1211 오픈 소스 찾기  (0) 2025.12.11
1209 오픈소스 라이선스 표기 방법  (0) 2025.12.09
1208 오픈소스란?  (0) 2025.12.08