내 생애 첫 Github Opensource Contribution 도전기

김민지·2021년 11월 28일
0

Reflection

목록 보기
1/1

Contribution을 하게 된 계기

엄청 거창한 타이틀을 단 것 같지만, 사실 고작 딱 한 줄의 contribution을 하게 되었다...! 내가 엄청난 기능을 만든것도, 대단한 버그를 고친 것도 아니었지만, 내게는 새롭고, 어려울 줄만 알았던 contribution을 하게 된 계기와 과정을 담아보려고 한다.

1년동안 코딩 교육 과정을 들으면서, 배운 것들을 기록하고, TIL을 정리하는 것을 좋아했다. 그리고 특히나 깃허브의 다양한 활용 방법을 배우기 시작하면서, TIL을 깃허브에 올리고, 깃허브 메인 프로필 페이지를 꾸미고 정리하기 시작했다. 취업을 하면서, 예전보다는 꾸준히 새로운 것들을 배우고 기록하는 것에 소홀해 졌다는걸 느끼기 시작했다.

다시 마음을 잡기 위해, 블로그를 꾸준히 써보기로 마음먹었다. 그리고 우연히, 블로그 게시글 상위 5개를 깃허브 프로필 README에 노출해주는 blog post workflow 라는 오픈소스 Github Action이 있다는 걸 발견했다. Documentation을 읽어보고, 사용해 보려던 찰나, Velog에 대한 설명은 Documentation에 추가되어 있지 않다는 걸 발견했다. Velog가 한국에서만 널리 사용되는 플랫폼이다 보니, Velog를 사용하는 예제는 추가되어 있지 않았던 것이다. 항상 주어진 것을 주어진 방법대로만 사용하다가, 내가 처음으로 남들이 시도해 보지 않은 것을 해보고, 공유해보는 계기가 될 수도 있다는 생각이 들었다.

과정

사실 과정은 너무나도 쉬웠다. 현재 기준 4000명이 넘는 유저가 사용하고 있는 Opensource 이기 때문에 Documentation이 정말 잘 작성되어 있었다. 그 중에서, 새로운 기능이나 개선 사항을 추가하고 싶을때 누구나 참여할 수 있도록 Contribution을 하는 방법이 적혀 있어 그 방법대로 하나씩 따라해보기 시작했다.

1. 테스트

일단, 내가 사용하려는 기능이 잘 돌아가는지 확인해야 했다. 해당 Opensource를 활용하려면 RSS 피드를 제공하는 웹사이트여야 했는데, Velog가 RSS 피드를 제공하는지 먼저 체크해보았다. 그리고 실제 Velog 주소를 넣어서 Action을 수행했을 때 잘 동작하는지 내 깃허브 페이지를 통해 테스트 해보았다.

...
jobs:
  update-readme-with-blog:
    name: Update this repo's README with latest blog posts
    runs-on: ubuntu-latest
    steps:
      ...
          feed_list: "https://v2.velog.io/rss/minnczi"

이렇게 내 블로그 주소를 넣고 Action을 수행했을 때, 성공적으로 최신 5개 게시물의 제목을 가져온 것을 확인했다.

2. Issue 작성하기

테스트가 성공적으로 작동한 것을 확인하고, 곧바로 Issue를 작성하러 갔다. 이전 이슈들을 참고하여, 새로운 Blog Source를 추가하고 싶다는 내용을 작성해 올렸고, 템플릿에 따라 내 블로그에 적용한 예제를 참고하여 올렸다.

3. Pull Request 작성하기

이후, 해당 Repository를 Fork 해온 다음, README에 Velog 활용에 대한 내용을 추가했다. 나는 직접적으로 이 Repository를 수정할 수 있는 권한이 없기 때문에, Fork를 통해 복사본을 만들어서 수정 사항을 올린 다음, 원작자에게 Pull Request를 요청하여 실제로 수정 사항이 반영될 수 있도록 한 것이다.

Pull Request를 할 시, 실제로 기능에 큰 변화가 있을 경우, 기존 소스와의 충돌이나 버그가 생길 수 있기 때문에 이와 같이 테스트를 완료 했는지에 대한 간단한 체크리스트와 메세지도 작성했다.

몇시간 후, 바로 원작자분께서 확인을 해주시고, 실제 내가 수정한 README가 원본 소스에 반영될 수 있게 Merge를 해주었다!

4. 결과물

내가 수정한 Documentation 부분
Velog를 사용할 때는 이렇게 하세요! 라고 한줄 넣어주었다 :)

그리고 당당하게 이름을 올린 한줄짜리 컨트리뷰터ㅋㅋㅋㅋㅋㅋㅋ

느낀점

  1. 생각보다 무섭지 않았다!
    "오픈소스" 라는 단어를 들었을 때, 이걸 만드는 사람들은 대단한 사람들이고, 나는 유저의 입장에서 오픈소스를 활용하기만 한다고 생각했었다. 그래서 그런지, 처음에는 오픈소스에 contributing을 한다는 것 자체가 너무 무섭고 두려웠다. 그런데 실상은 나와 같이 불편을 느낀 많은 유저들이 함께 만들어가는 네이버 지식인 같은 느낌이었다.
    내가 "이거 고치고 싶어요!" 라고 질문을 올리면 원작자 또는 다른 유저분들이 그것에 대한 응답을 해주시고 소통을 하는 느낌이었다.
    그리고 실제로 내가 고친 소스가 바로 반영이 되는 것이 아니라, 여러번의 검토를 거쳐 반영되는 것이기 때문에, 혹시 뭐가 잘못되진 않을까..? 라는 걱정을 하지는 않아도 될 것 같다!

  2. Documentation의 중요성
    실제 많은 유저들이 사용하는 서비스를 만드려면 documentation이 정말 중요하다는 사실을 다시 한번 깨달았다. 이 오픈소스의 경우도, contribution을 하는 방법에 대한 설명이 정말 자세히 되어 있었기 때문에, 많은 사람들이 쉽게 contribution을 하고, 이 프로젝트 또한 빨리 발전할 수 있었다는 생각이 들었다.

  3. 더 많은 오픈소스에 기여해보고 싶다
    이 경험을 계기로 더 많은 오픈소스 프로젝트에 기여해보고 싶다고 생각했다. 그리고 단순히 코멘트를 다는 수준이 아닌, 기능 추가나 버그 수정과 같은 큰 contribution에도 도전해보고 싶다는 생각이 들었다!

profile
꿈꾸는 풀스택 개발자

1개의 댓글

comment-user-thumbnail
2022년 2월 17일

이야 너무 멋집니다!!!! 잘 읽었습니다~

답글 달기