-
첫 오픈소스 기여로 배운 점개발 2022. 11. 6. 21:26
처음으로 오픈소스에 기여를 했다.
PR 을 날리고 merge가 되는 순간까지 배운 점들을 기록한다.
우선, robyn 은 rust 런타임 의 비동기 파이썬 백엔드 프레임워크이다. 다른 파이썬 백엔드 프레임워크보다 훨씬 빠른 장점이 있다.최근 유튜브 영상에서 소개가 되어 관심이 생겨서 한번 사용해봤다.
그런데 문제가 발생했다. 공식 문서를 보고 따라 해봤지만 앱이 계속 실행되지 않았다. 그때 나는 클라우드 서버를 이용하고 있어서 환경에 문제가 있는건가 헷갈려서 안되서 다른 환경에서도 시도해봤지만 작동하지 않았다. 그렇게 약 6시간동안 삽질을 한 결과, 앱이 항상 5000번 포트로만 동작한다는 것을 알았다.
너무 어이가 없어서 코드를 뜯어보니 호스트와 포트가 각각 127.0.0.1 과 5000번으로만 동작하도록 작성이 되어있었다.
스타가 1.6k 나 되는 프로그램이 이렇게 짜여있다는게 이상해서 코드를 살펴보니 22일전 robyn 앱의 설정을 robyn.env 으로 할 수 있도록 기능을 추가했는데 그 과정에서 오류가 발생했던 것 이었다. 하지만 이 기능은 문서에서 설명하고 있지 않았고 robyn.env 을 통하지 않으면 포트와 호스트 설정을 할 수 없었다.
이런 문제 상황을 해결하기 위해서 간단한 코드 수정을 하고 PR을 날렸다. 현재 어떤 문제가 발생했고 이 PR은 이를 해결할 수 있다고 설명에 간단히 썼다.
하지만 돌아온 답변은 무엇이 문제 상황인지 모르겠다는 owner 의 답변이었다.처음에는 화가 나면서 어이가 없었다. ’왜 이 문제를 이해하지 못하는 거지?‘ 라면서 힘이 빠졌다. 하지만 참고 문제 상황에 대해 상세히 설명하고 이 문제를 해결해야하는 이유에 대해서 자세히 어필했다. 그러니 그도 문제 상황을 정확하게 이해하고 내 PR을 merge 해줬다.
그러고 나중에 생각해보니 처음 PR 날렸을 때 내 이 정도 설명이면 이해하기 충분하다고 생각했었다. 그러나, 나는 이미 문제를 몸으로 경험했지만 상대방은 문제를 처음 보는 것이기 때문에 자세한 설명이 필요하다는 것을 깨달았다.
나중에 회사 또는 다른 프로젝트에서도 다른 사람에게 이 문제를 왜 해결해야하는지 설득시킬 때 보다 상세하게 설명할 필요성이 있을 것 같다.
간단한 코드 수정이었지만 사용자의 혼란을 줄 수 있는 문제였기 때문에 이번 기여가 나름 의미가 있었던 것 같다.
첫 오픈소스 기여였는데 현우형의 도움이 컸던 것 같다.'개발' 카테고리의 다른 글
WebRTC 찍어먹기 (0) 2024.05.01 AWS ec2에 wireguard로 VPN 구축하기 (0) 2023.07.25 Nest.js 와 MongoDB 를 AWS ec2 환경에 Dockerizing 해 Github Actions를 통해 자동화 배포 설정하면서 배운 점 (0) 2023.07.13 크롬 익스텐션의 CORS (0) 2023.01.30 소득 분위 10분위가 전북대에서 1500만원 받고 학교 다니는 방법 (0) 2022.12.02