[OpenSource] 오픈소스 기여 하기!!

Federico-15·2025년 2월 21일

OpenSource

목록 보기
2/2

안녕하세요! 이번 글에서는 제가 처음으로 오픈소스 컨트리뷰션을 하면서 경험했던 과정을 공유하려고 합니다.
오픈소스에 기여하고 싶은데 "어디서부터 시작해야 할지?", "어떤 프로젝트를 선택해야 할지?" 고민되셨다면, 이 글을 참고하시면 좋을 것 같습니다! 😊


1. 오픈소스 프로젝트 & 이슈 찾기

🔍 "Good First Issue" 태그 활용하기

처음 오픈소스 컨트리뷰션을 할 때는 초보자도 쉽게 기여할 수 있는 이슈를 찾는 것이 중요합니다. 많은 오픈소스 프로젝트에서는 초보자를 위해 "Good First Issue" 또는 "Help Wanted" 같은 태그를 붙여둡니다.

이런 태그가 달린 이슈들은 비교적 난이도가 낮고, 프로젝트 기여 방식에 익숙해질 수 있도록 구성되어 있습니다.

이렇게 깃 검색창에 label:"good first issue" 라고 검색하면,


이렇게 수많은 "Good first issue" 라벨을 가진 issue 들을 볼 수 있습니다.

저는, 수많은 이슈들 중 elimu-ai/analytics 프로젝트에서 "Upgrade from Java 11 to 17" 이슈를 발견하였고, 해당 이슈를 해결하기 위해 어떤 작업이 필요한지 확인했습니다. 이 오픈소스에 기여하는 과정을 적어보겠습니다.


코멘트

이런식으로, 코멘트를 남겼고, issue가 뭔지 구체화해달라고 요청을 하며, 이 issue를 저가 해결해도 되는지 물어봤습니다.


감사하게도, 저에게 issue를 할당해주셨고, 전 작업을 진행할 수 있게 되었습니다.


2. Fork부터 PR까지

2-1 Fork & Clone (내 저장소로 가져오기)

오픈소스 프로젝트에 직접 변경을 가하면 원본 코드가 망가질 수도 있기 때문에,
먼저 Fork(포크) 를 해서 내 GitHub 계정으로 복사한 후, 내 컴퓨터에 Clone(복제) 해야 합니다.

✔ Fork란?

Fork는 원본 프로젝트를 내 GitHub 계정에 복사하는 과정입니다.
이렇게 하면 원본 프로젝트를 보호하면서 자유롭게 수정하고 테스트할 수 있는 공간이 생깁니다!

✔ Clone이란?

Fork한 프로젝트를 내 컴퓨터에 다운로드하여 직접 수정할 수 있도록 하는 과정입니다.


2-2. 새로운 브랜치 생성 및 코드 수정 (요구사항 반영)

그 이후, main 브랜치에서 직접 작업하는 것이 아니라, 새로운 feature 브랜치를 만들어 진행하였습니다.

그 뒤, 이슈에서 요구한 내용을 반영하여 코드 수정하였습니다.

  • Java 11 → Java 17 업그레이드
  • build.gradle에서 Java 버전 업데이트
  • GitHub Actions에서 Java 17 지원하도록 수정
  • Model 라이브러리 버전 최신으로 변경

2-3. 빌드 및 테스트 진행

빌드 및 테스트가 정상적으로 진행되었습니다.
특히 Java 버전(17.0.10)과 Gradle 버전(8.7)이 제대로 설정되었음을 보여주고 있고, Gradle 실행도 정상적으로 되고 있는 모습이 확인됩니다.


2-4. Pull Request (PR) 생성

이렇게 PR을 요청하였습니다.

이 후, 코드 리뷰어가 PR을 검토한 후, 추가적인 변경 사항을 요청한 상태입니다.

추가적인 요구 사항을 해결한 뒤, PR 승인을 받았습니다. 마지막으로 merge 를 한 뒤, 저는 이 오픈소스 프로젝트의 contributor가 되었습니다! ✌️😊


결론

이렇게 저는 오늘 오픈소스 컨트리뷰터가 되어봤습니다. 이번 기회를 통해 단순히 코드만 기여하는 것이 아니라, 프로젝트의 구조를 파악하고 커뮤니티와 소통하는 것이 얼마나 중요한지 배웠습니다. 앞으로도 지속적으로 오픈소스 프로젝트에 기여하면서 더 성장할 수 있는 개발자가 되고 싶습니다. 이 블로그 포스팅을 본 여러분도 오픈소스 컨트리뷰터가 한 번 되보시길 바라겠습니다!!

(스타 수 10000개 될 때까지 화이팅!!!!!!)

profile
한 방 있는, 묵직한 개발자

0개의 댓글