[프로그래머스]Code contributor: 오픈소스 프로젝트 활용(3)

Lina Hongbi Ko·2024년 11월 27일
0

Programmers_BootCamp

목록 보기
64/76
post-thumbnail

2024년 11월 27일

✏️ 오픈 소스 구성원 역할

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

✏️ 컨트리뷰터 활동

  • 컨트리뷰션 활동 유형
    • 오픈 소스 프로젝트 기여란?
      • 코드 구현, 수정…
      • 기획 ,설계, 분석, …
      • 요구 사항에 필요한 단계들 모두
      • 코드 뿐만 아니라 모든 프로세스를 의미

✏️ 컨트리뷰터의 유형 살펴보기

  • 이 외에도..
    • 오타수정 (알려만 줘도 컨트리뷰션)

    • 번역 (제안만 해도 컨트리뷰션)

    • 문서 설명 덧붙임

    • 배너 문구 수정

    • UI / UX 수정

      … 등등

      *제안만 해도 컨트리뷰션임

✏️ 컨트리뷰터 활동 이유

  • 오픈 소스 저작자
    • 컨트리뷰터들이 버그 찾아줌
    • 사용하면서 불편했던 점, 개선할 코드 등 혼자 찾을 수 없는 사항들 찾아줌
  • 오픈 소스 사용자 / 컨트리뷰터
    • 오픈 소스 코드 분석 = 코드 문해력 키움
    • 성취감
    • 내가 원하는 기능을 추가할 수 있고, 사용자 입장에서 사용하는데도 편리함
    • 개발자분들에게 리뷰 받을 수 있음
    • 협업, 성취감
  • 컨트리뷰션 활동 → 이력서, 포트폴리오에 도움됨

✏️ 오픈 소스

  • 오픈 소스 소프트웨어 (Open Source Software, 0SS)
    • 소스 코드 공개 + 라이선스 = 오픈 소스 소프트웨어
    • 통용해서 오픈 소스라고 함
    • 우리나라에서는 ‘공개 소프트웨어’라고 함

✏️ 컨트리뷰터 주의 사항

  • 커뮤니케이션: 태도, 자세 ,말투 → 겸손
  • 소스 코드 충돌
    • contribute 하고 싶은 내용을 이미 구현하고 있진 않은지, 구현하지 않기로 결정한건 아닌지
      • 시작하기 전에 내가 작업을 시작할 것을 알리는 것이 좋음 (= 이슈 오픈, 디스커션 …) e.g) 너무 오래된 open 이슈 (hubot: translate korean 2018) → 디스커션이나 커뮤니티 문의
      • 오래된 이슈, 작업하지 않는 이슈, 정리되지 않은 이슈 … 등 정리 → 일종의 contribution임
  • 새롭고, 큰 중요한 기능 추가하고 싶을 때
    • 먼저 기능 추가해보고 싶다는 의견 제시해보기
    • 내부적으로 팀원 모집 추천
  • pull request 던질 때
    • 템플릿(틀)이나 문서를 확인하면서 준수할 내용 체크(테스트 유무, 컨벤션(lint, 유효성 검사, 테스트 케이스 갯수, 등등) 체크해서 pr 던져야함)

✏️ 컨트리뷰트 절차

  • contributing 문서 참조
  • 절차
    1. 오픈 소스 프로젝트를 Fork
      • 오픈 소스 프로젝트 레포지토리(저작자 계정)→ 포크 → 내 계정의 레포지토리로 복제됨 (복사본 가져옴)
        • 단, 복사만 한게 아니라 연결도 되어 있음
          • 업데이트 되면 업데이트 받아올 수 있음
    2. 내가 복제 해온 레포지토리를 clone → 나의 로컬로 받아옴
    3. 코드 구현 전에 체크해야하는 규칙 확인 (코드 컨벤션 & 커밋 메시지 체크)
    4. 코드 구현, 수정 (주석 수정도 컨트리뷰트임) 후 커밋
    5. 내 계정 깃허브 레포지토리(clone 했던 레포지토리)로 push
    6. 깃허브 오픈 소스 레포지토리 pull request
    7. Contributor License Agreement
    8. 리뷰어, 커미터, 메인테이너, 저작자 … 검토해줄 사람이 확인함
      • 검토 생략하고 바로 머지되는 경우도 있음
    9. merge 되었음 = pull request closed 알림
    10. 컨트리뷰터 리스트에 내 계정 추가됨
profile
프론트엔드개발자가 되고 싶어서 열심히 땅굴 파는 자

0개의 댓글