나도 오픈소스 컨트리뷰터?!

ran·2024년 7월 30일
0

오픈소스

목록 보기
1/1
post-thumbnail

2024 오픈소스 컨트리뷰션 아카데미

캡스톤 하던 팀원의 권유로 오픈소스 컨트리뷰션 아카데미에 대해 알게되었다.
간단하게 설명하면 3달 정도의 기간동안 하나의 오픈소스 프로젝트에 대해 공부하고, 오픈소스 기여를 하는 것이다.
나는 ArgoCD 프로젝트에 참여했다.
사실 ArgoCD하면은 아 그 CI/CD 쪽 도구? 쿠버네티스랑 연관있는거? 정도만 알고있고 아무것도 모르는 수준이다.(ArgoCD가 어떤 언어로 구성되어있는지도 몰랐다..)
취업 준비와 함께 할 수 있을까? 라는 의문이 있었지만... 고민보다는 Go 라는 마인드로 시작해봤다.!

ArgoCD

간략하게 ArgoCD에 대해 설명하면, GitOps를 구현하기 위한 도구 중 하나로 Kubernetes 애플리케이션의 자동 배포를 위한 오픈소스 도구라고 설명할 수 있다.
Kubernetes 클러스터에 배포된 애플리케이션의 Continuous Delivery부분을 담당하며, 기본적으로 Git 저장소의 내용을 폴링해와서 변경 사항을 감지하여 자동으로 Kubernetes 클러스터에 애플리케이션을 배포한다.
바로 요 귀여운 문어가 ArgoCD이다.

ArgoCD 컨트리뷰터가 되다?

나는 오픈소스에 기여 하는 방법을 몰랐다.
그래서 오픈소스 컨트리뷰션 아카데미 팀원 중 한분께서 이슈를 탐색해오신것을 보고 어떤 이슈인지를 먼저 파악해봤다.
그와 동시에 '제로초'님의 오픈소스 기여하는 방법에 대한 영상을 확인했다.(https://www.youtube.com/watch?v=7uxCmXAA5Zw)
해당 영상은 꼭 시청하면 좋을것 같다.

대충 어떤 방식으로 오픈소스 기여를 하는지 이해할 수 있었다.
간략하게 설명하면 다음과 같다.

  1. 오픈소스 프로젝트에 대한 버그나 문제점이 발견되면, 이슈를 올린다. 이때 오픈소스 별로 이슈 템플릿이 존재하는데 해당 템플릿에 맞게 작성해서 올리면 된다.(ArgoCD의 경우 발생한 버그를 재현하는 방법을 기입하는 형식으로 템플릿이 설정되어 있다.)
  2. 만약 내가 찾은 버그가 없다면, 해당 프로젝트 이슈탭에서 다른사람들이 불편하니까 고쳐줘요! 라는 식으로 올린 이슈를 찾고, 내가 그 문제를 해결해봐도 되겠냐고 물어본다.(안물어보고 그냥 고치면, 다른사람이 고치고 있다고 빠꾸먹을수도 있으니 주의하자
  3. 문제점도 찾았으니, 오픈소스 프로젝트를 포크 뜬다음에 수정하고 PR을 날린다. 이때, PR도 템플릿이 존재하니 템플릿에 맞게 고쳐주자.
  4. PR을 날리면, 해당 프로젝트 멤버들이 이전부터 만들어둔 github action과 같은 도구들이 내 코드를 테스트할것이다. 이때 테스트 실패가 발생하면 어떤 문제가 있는지 친절하게 설명이 나와있으니 보면서 고치면 된다.
  5. PR에 달리는 의견들을 주고받으면서, 메인테이너가 승인해줄때까지 기다린다.
  6. merge가 되면, 나는 이제부터 해당 프로젝트에 컨트리뷰터이다.!!

그래서 어떤 기여했는데?


내가 올린 PR이다. 글을 보면 에러를 기존에는 그냥 return 하는데, 포매팅을 해서 PR을 올린것이다. 정말 별게 없는데 나는 컨트리뷰터가 됐다..

물론 해당 PR은 운좋게도, ArgoCD 멤버께서 친절하게 이슈에 정답까지 던져주신 문제였다.
그렇지만, 뭐 어떤가! 나는 이제 컨트리뷰터이다.!!
하지만, 난 여기서 만족하지 않으려고 한다. 아직 Go 문법도 미숙하고, ArgoCD도 잘 모르지만 좀더 공부해서 큼지막한 버그를 고치고 Member가 되는것이 목표이다.
멘토님들 이야기를 들어보면 Member도 열심히하면 금방 할 수 있을것같다!.

이 글을 보시는 분들도 꼭 오픈소스 기여를 해보시기를 추천합니다~~

profile
Backend Developer

0개의 댓글