제가 예전에 작성한 글의 댓글에서 Thom Parkin이 훌륭한 지적을 남겼습니다.
"좋은 조언입니다. 하지만 아주 중요한 마지막 포인트 하나를 놓치셨네요. 여기가 오픈 소스라는 점을 생각해 보세요. 문서가 부족한 기능이나 함수의 세부 사항을 파악하게 됐다면, 직접 문서를 업데이트하고 풀 리퀘스트를 제출해야 합니다. 그러면 커뮤니티 전체가 혜택을 받고, 참여한 보람으로 '코더 명성'까지 얻을 수 있습니다!"
Thom이 이 이야기를 꺼내 줘서 정말 다행입니다. 너무나 중요한 부분이니까요. 문서를 고치는 일은 여러분이 사용하고 좋아하는 프로젝트에 기여를 시작하는 가장 쉬운 방법입니다.
Rails, Rubinius, Elixir 같은 프로젝트에 제가 처음 기여했던 내용도 모두 문서 수정이었습니다. 내용을 더 명확하게 다듬는 사소한 수정, 코드를 직접 읽어야만 알 수 있는 내용 설명 추가, 심지어 깨진 서식 고치기까지요. 거대한 오픈 소스 프로젝트를 돕는 빠르고 간단한 방법들이었습니다. 어떤 프로젝트에는 이것만 기여했더라도, 미래의 사용자들과 미래의 나 자신에게 분명 도움이 됐습니다. 바로 그것이 오픈 소스의 본질이니까요.
문서 수정이 첫 기여로 딱 좋은 이유
Rails처럼 규모가 큰 프로젝트에 기여할 때, 문서 수정만큼 부담스럽지 않은 방법은 없습니다.
버그를 고치기 위해 프로젝트 환경을 설정할 필요가 없습니다. 문서를 업데이트하는 것이므로 테스트나 앱을 실행시키지 않아도 됩니다. 경우에 따라서는 프로젝트를 로컬 머신에 클론조차 할 필요 없이, GitHub에서 바로 수정할 수 있습니다!
메인테이너가 풀 리퀘스트 수정을 요청할 때도 대체로 표현이나 취향의 문제입니다. 코드에 대한 비판보다는 받아들이기 훨씬 수월합니다. 게다가 수정하기도 쉽습니다. 테스트나 코드를 고칠 필요 없이 글자만 바꾸면 되니까요.
문서 작업은 프로젝트 메인테이너에게 어렵기 때문에, 업데이트를 반갑게 받아들입니다. 저자들은 코드에 너무 익숙해서 어느 부분이 헷갈리는지 스스로 파악하기 어렵습니다. 초심자의 눈으로 프로젝트를 바라보는 것은 연습이 필요한 일이라, 그 능력을 갖춘 사람이 많지 않습니다. 그래서 새로 접하는 개발자들이 어디를 보완해야 하는지 알려 줘야 합니다.
마지막으로, 영향 범위가 작은 변경으로 메인테이너와 관계를 만들어 갈 수 있습니다. 기능 전체를 기여할 때처럼 프로젝트의 방향을 바꾸는 것이 아니므로, 메인테이너가 검토하기 쉽고 보통 더 빨리 답장을 받습니다. "이게 좋은 아이디어인가?"라는 단계에서 병목되지 않습니다.
이런 관계를 계속 쌓아 가다 보면 신뢰할 수 있는 기여자로 인식되기 시작합니다. 풀 리퀘스트가 더 빨리 검토되고, 더 복잡한 기능 요청이나 버그 수정도 서로 편하게 논의할 수 있게 됩니다.
시작하기 쉽고, 진행하기 쉽고, 병합도 빠릅니다. 그런데 첫 기여를 굳이 문서 수정 외의 다른 것으로 할 이유가 있을까요?
문서 업데이트 기여를 시작하는 방법
문서 업데이트 기여와 버그 수정 사이에는 중요한 공통점이 있습니다. 둘 다 '뭔가 이상하다'는 느낌에 민감해야 한다는 것입니다. 평소에 주의를 기울여야 합니다.
예상과 다른 동작을 만났다면, 문서를 업데이트할 때일 수 있습니다. 문제를 해결하려고 코드를 뒤져야 했다면, 다른 사람들에게도 그 내용을 알려 주는 것이 좋겠죠. 읽는 문서에서 깨진 서식이나 오타에도 민감해야 합니다. 여러분이 고치지 않으면 누가 고치겠습니까?
어디를 어떻게 고칠지 방향이 잡히면, 수정한 뒤 GitHub으로 풀 리퀘스트를 보내세요.
아직 문서를 어떻게 업데이트할지 확신이 서지 않는다면, GitHub에 이슈를 열어 보세요. 이렇게 말이죠.
"안녕하세요, 이 부분이 저는 헷갈렸습니다. 이렇게 수정해 보면 어떨까 싶은데요: … 어떻게 생각하시나요? 추가로 언급하면 좋을 내용이 있을까요?" 함께 의견을 나누며 모두가 만족할 문구를 만들어 갈 수 있습니다.
마지막으로, 답장이 없다고 낙담하지 마세요. 큰 프로젝트는 돌아가는 일이 많아서 기여가 묻히기 쉽습니다. 일주일 정도 지나도 소식이 없다면, 메인테이너에게 다시 물어보세요.
문서는 라이브러리를 사용할 때 가장 먼저 마주치는 부분입니다. 그래서 상세하고 명확해야 합니다.
사용하는 코드가 헷갈리거나 소스를 뒤져야 할 때가 오면, 다음 사람을 위해 길을 조금 더 쉽게 만들어 주세요. 간단히 업데이트를 작성해서 기여하는 겁니다. 오픈 소스 기여자가 되는 가장 쉬운 방법이 바로 이것입니다.
이 글은 원래 뉴스레터 구독자들에게 보내드린 내용입니다. 비슷한 글을 더 읽고 싶으시다면 구독해 보세요!