DEVIEW 2020

흐짜짜! 🫒 올리브·2020년 11월 27일
0

CONFERENCE

목록 보기
2/2
post-thumbnail

오픈 소스 활동을 시작하기 위한 작은 가이드


오픈 소스에서 커뮤니티, 인간관계 중요하다
코드만 잘 안다고해서는 X

오픈 소스 활동 사이클

프로젝트 찾기

사용자에서 시작 --> 내가 좋아하고 많이 써본 프로젝트가 1순위

  • 동기? 봉사, 선의, 기여, 인류애 뿐만 아니라 배움, 연습, 포트폴리오, 공명심, 인맥 + 깃헙 뱃지 등

활동 지속 가능하게 해주는 동기 찾기!

하고 싶은 것과 할 수 있는 것 -- 프로젝트 궁합

유명한 프로젝트

  • 체계 잘 갖춰져 있음, 실력자 많음, 기여 시 파급력 크고 뿌듯함 큼
  • 이슈 하나에 '내가 해봐도 될까요' 만 달리고 오랫동안 해결 안 될수도
  • 너무 유명할수록 복잡할수도
  • 메인테이너 도움 분산됨

공개되어 있다고 기여하기 좋은 것은 아니다

  • 코드만 공개된 경우
  • 불친절
  • 정보 부족
  • 이터레이션 느린 경우
    : 커뮤니티가 잘 형성되지 않은 경우

기여하기 좋은 프로젝트의 신호

  • 이슈 트래커에서 소통이 잘 이루어지는가
  • pull request 활발한가
  • 커뮤니케이션 채널(IRC, Slack, Mailing list)이 활발한가
  • 기여 가이드가 있는가
  • 행동수칙(Code of conduct, COC)이 있는가



익숙해지기

흐름 타기까지 : 6개월 걸린다
이슈, PR, 코드 읽다보면 흐름 타게 된다

기본 문서 읽기


디렉토리 구조

많이 가지고 놀아보기

코드 훑어보기

  • 동작 위주 확인 : 시퀀스 다이어그램, 브레이크 포인트, 일부러 고장내기
  • 구조 위주 확인 : 클래스 다이어그램 (세부사항에 너무 의존X), 생명주기, 책임, 의존성

추상적 수준 / 자세히 분석

역추적

해결된 이슈, PR 보며 공부하기

정보가 너무 많아요

과감하게 버릴 건 버립시다
관심사, 목표에 집중하기

기여할 거리 찾기

정말 쉬운 걸 먼저 해보세요

초심자를 위한 레이블
label : "good first issue"
label : "first timers only"
label : "jump in"

git grep TODO
git grep FIX-ME

실패하는 테스트

오래된 이슈 헌팅
필요하지만 우선 순위에 밀린 경우 많다. 상대적으로 경쟁이 덜함
is:issue is:open sort:created-asc

친절한 사람과 일하기
author:nice-guy

친절한 사람이 + 오랫동안 해결하지 못한 이슈

직접 물어볼 수도 "기여하고 싶은데 어떤 걸 도우면 좋을지 알려줘"
관심사가 뭔지, 얼마나 많은 시간을 할애할 수 있는지 + 현재 프로젝트를 얼마나 알고 있는지

코드 리뷰 잘받기

프로세스 지키기

  • 코딩컨벤션
  • 브랜치 네이밍
  • 사전요구사항(테스트)

커밋 메시지 잘 쓰기

커밋 정리하기

의미와 맥락을 잘 생각해 커밋 나누기

셀프 리뷰

커뮤니케이션

시차 : 채팅 < 메일



최근 몇개월간 근로를 하며 알게된 것들이 생각났다.

  • 근로를 쓰는 이유를 생각해보자. 시키는 일 말고도 할 수 있는 일을 찾을 수 있다.
  • 일처리를 아예 모르겠다면 사소해도 물어보자.
  • 일처리의 시작과 끝을 알리자.
  • 시간 약속은 잘 지키자.
  • 내가 하던 일을 공유하기 위해서는 진행 중이던 일의 기록에 대해 가독성을 꼭 고려하자.
  • 맡은 일에 대해 1)2)3)의 순서를 매겨 리뷰하면 담당자가 즉각적으로 이해하기 쉽다.

결국 어떤 분야든 일의 전체적인 흐름은 비슷한 게 아닐까
내가 겪었던 그림에 대한 분야가 전혀 소용없는 경험이 아니었듯 말이다

0개의 댓글