R은 OSS에서 모든 커밋의 집을 의미합니다 | OSS의 기초
안녕, 너드들!
오픈소스 소프트웨어의 세계를 한 글자씩 파헤쳐 보는 '오-에스-에스(OSS)의 기초'에 다시 오신 것을 환영합니다.
저는 테일러입니다. 오늘은 **R for Repositories**에 대해 알아보겠습니다 — 여러분의 모든 코드, 혼란, 그리고 협업이 실제로 존재하는 곳입니다.
저장소를 프로젝트의 본거지라고 생각하십시오.
모든 파일, 모든 버전, 모든 실험, 모든 버그 수정, 그리고 "아차, 그건 올리지 말았어야 했는데" 하는 순간들이 저장되는 곳입니다.
오픈 소스에서 저장소는 단순한 저장 공간이 아닙니다 — 바로 *허브*입니다.
그것은 워크숍이자 그룹 채팅이자 전장이다.
자세히 살펴보자.
저장소는 프로젝트의 전체 이력을 보관합니다.
모든 커밋은 하나의 이야기를 담고 있습니다.
어떤 건 감동적이고, 어떤 건 비극적이며, 또 어떤 건… 글쎄, 분명 새벽 3시에 쓴 글이겠지.
그리고 GitHub, GitLab, Bitbucket 같은 플랫폼 덕분에 저장소는 개발자들을 위한 글로벌 만남의 장소가 되었습니다.
갑자기 누구든, 어디서든 프로젝트를 포크하거나, 풀 리퀘스트를 제출하거나, 이슈를 열 수 있게 되었다.
협업 방식이 "ZIP 파일 보내줘"에서 "5분 전에 PR 제출했어"로 바뀌었다.
리포지토리에는 프로젝트의 로드맵도 포함됩니다.
이슈, 풀 리퀘스트, 토론 — 모두 바로 거기에 있습니다.
특정 기능 아이디어가 댓글에서 시작해 토론을 거쳐 실제 작동하는 코드로 발전하는 과정을 지켜볼 수 있습니다.
개발자들을 위한 자연 다큐멘터리 같은 거야.
하지만 현실을 직시하자.
저장소는 지저분해질 수 있습니다.
가지가 늘어난다.
문제들이 쌓여만 간다.
우연히 2017년에 마지막 커밋이 이루어진 저장소를 발견했는데, 갑자기 디지털 유령 마을에 온 기분이 들었다.
그리고 README 파일들도 있습니다.
어떤 것은 예술 작품이다.
어떤 것은… "TODO"라고 적힌 한 줄뿐이다.
우리 모두 그런 경험이 있죠.
하지만 저장소의 마법은 바로 여기에 있습니다:
그들은 오픈소스의 중추입니다.
그들은 투명성을 가능하게 합니다.
그들은 협업을 확장 가능하게 만듭니다.
그들은 혁신을 더 빠르게 만듭니다.
누구나 저장소를 복제하고, 코드를 살펴보고, 그로부터 배우고, 개선할 수 있습니다.
기술 분야에서 우리가 가진 가장 순수한 형태의 공유 지식 중 하나입니다.
이것이 OSS 기초의 열일곱 번째 단계입니다.
다음 번에는 확장성(Scalability)을 다룰 예정입니다. 계획보다 빠르게 성장하는 프로젝트만큼 '성공'을 증명하는 것도 없으니까요.
그때까지는 커밋 메시지를 의미 있게 작성하고 README 파일을 읽기 쉽게 유지하세요.
평화롭게 나가세요.