GitHub

"Let's build from here."

GitHub이 전 세계 오픈소스 생태계에 제시하는 공식 슬로건.

전 세계 모든 개발자들의 영혼이 담긴 소스코드가 모이는 성지이자, 사실상의 업계 공인 훈장이자 개발자 전용 인스타그램. 그리고 프로필에 초록색 잔디(Commit)를 하루라도 안 심으면 손가락에 가시가 돋는 정신적 강박증 환자들의 잔디밭 가꾸기 게임

1. 개요

GitHub(허브)는 분산 버전 관리 시스템인 Git 호스팅 서비스를 제공하는 플랫폼이다. 단순한 클라우드 소스코드 저장소를 넘어, 전 세계 오픈소스 생태계의 중심이자 개발자들의 SNS 및 이력서 역할을 톡톡히 하고 있다.

2018년 마이크로소프트(MS)가 75억 달러라는 거금을 들여 인수하면서 인수합병 당시에는 "오픈소스의 성지가 악의 제국에 팔렸다"며 개발자들의 성토가 쏟아졌으나, 이후 적극적인 무료화 정책과 다양한 신기능 추가로 현재는 갓기업 MS의 이미지를 굳히는 데 기여하고 있다. 대한민국 IT 업계에서도 채용 공고에 "GitHub 계정 링크 첨부 필수"가 반쯤 기본 사항으로 정착되어 있다.(...)

2. 핵심 기능

2.1. 협업의 꽃: 풀 리퀘스트 (Pull Request - PR)

내가 수정한 코드 브랜치를 메인 코드베이스에 병합(Merge)해 달라고 동료들에게 정중히 요청(Request)하는 기능이다.

PR을 올리면 동료들이 라인별로 돋보기를 들이대며 "이 변수명은 구리네요", "이 로직은 메모리를 낭비하네요" 같은 날카로운 피드백을 남기는 코드 리뷰(Code Review) 절차가 진행된다. 리뷰 도중 이견이 좁혀지지 않으면 PR 댓글창이 키보드 워리어들의 논쟁터로 탈바꿈하곤 한다. 최종적으로 리뷰어들의 승인(Approve) 도장이 찍히고 Merge 버튼을 누르는 순간의 쾌감은 개발에 있어서 몇 안 되는 큰 보람 중 하나다.1

2.2. 오픈소스의 바다: 이슈(Issue)와 레포지토리(Repository)

허브의 모든 프로젝트는 레포지토리(Repository, 저장소) 단위로 관리된다. 누구나 프로젝트를 복사해 가서 수정할 수 있는 Fork 기능과, 프로그램의 버그나 건의사항을 등록하는 이슈(Issue) 탭이 존재한다.

이슈 탭은 글로벌 개발자들의 만남의 광장인데, 유명 오픈소스에 치명적인 버그가 터지면 전 세계 개발자들이 몰려와 "나도 안 된다"며 +1이나 따봉 이모티콘을 도배하는 아수라장이 펼쳐지기도 한다.

3. 관련 밈 및 드립

3.1. 1일 1잔디 (Commit Streak)

깃허브는 유저가 코드를 커밋하여 업로드할 때마다 프로필 페이지에 있는 연간 캘린더 판에 초록색 사각형(일명 잔디)을 심어준다. 커밋 횟수가 많을수록 초록색이 짙어지는데, 개발자들 사이에서는 이 캘린더를 하얗게 비워두지 않고 매일 초록색으로 꽉 채우는 '1일 1잔디 심기'가 엄청난 트렌드이자 신앙으로 통한다.

이 때문에 하루라도 잔디를 안 심으면 손끝에 가시가 돋는 불면증(?)에 시달리며, 심지어 매일 자정에 자동으로 더미 파일을 커밋하여 강제로 잔디를 심어주는 매크로 프로그램을 만들어 깃허브에 올리는 주객전도형 변태 개발자들이 즐비하다. 정작 그 매크로 코드를 짜느라 진짜 잔디 심을 시간은 없었다고 한다

3.2. GitHub Copilot - 인공지능 코파일럿의 지배

MS 산하로 들어간 깃허브가 OpenAI의 GPT 모델을 튜닝하여 출시한 개발 인공지능 비서다. 주석으로 "로그인 기능 만들어줘"라고 적으면 코드를 수십 줄씩 알아서 작성해 주는 미친 성능을 보여준다.

코딩 커뮤니티에서는 인공지능에게 자리를 빼앗길 미래를 걱정하며 "이제 코더는 직업을 잃고 프롬프트 엔지니어만 남을 것이다", "코파일럿이 짠 버그를 내가 디버깅하느라 퇴근을 못 한다"는 등 애증 섞인 드립이 매일 터져 나온다. 실제로 코파일럿은 개발자들의 영원한 동반자이자, 가끔 헛소리(환각 현상)를 해대며 골탕 먹이는 조커 같은 존재가 되었다.2

4. 여담

  • 마스코트 Octocat의 비밀: 깃허브의 마스코트는 고양이 얼굴에 문어 다리를 가진 괴생명체 '옥토캣(Octocat)'이다. 나름 귀여운 비주얼로 개발자 커뮤니티의 굿즈(티셔츠, 스티커 등) 시장을 싹쓸이하고 있다. 디자이너가 저작권 사이트에서 우연히 발견한 일러스트를 깃허브가 독점 라이선스를 사서 마스코트로 삼은 비하인드가 있다.
  • 깃허브 스타(Star) 경쟁: 깃허브에는 스타(Star)라는 '좋아요' 기능이 있는데, 개발자들이 오픈소스 프로젝트를 평가하는 절대적인 척도이다. 유명 프레임워크나 툴의 스타 수가 라이벌보다 낮아지면 개발팀 전체가 초조해하며 스타 구걸(?) 캠페인을 펼치기도 한다.
  • 만국의 평화, 깃허브 서버 다운: 전 세계 개발자들의 코드 저장소라는 상징성 때문에, 깃허브 서버가 터지는 날에는 전 세계의 수많은 개발팀이 "어차피 코드 배포도 못 하고 협업도 안 되니 놀자"며 커피 브레이크를 가지거나 강제 조기 퇴근(?)을 단행하는 유쾌한(?) 파업의 날이 된다.

5. 관련 문서

각주

  1. 가끔 주니어 개발자가 머지 권한을 가지고 흔들어 대다가, 다른 팀원의 검토도 안 거친 코드를 마스터 브랜치에 그대로 무지성 머지(Merge)했다가 실서버를 화끈하게 불태우는 영웅적 서사가 발생하기도 한다.

  2. 분명히 코파일럿이 가짜 객체를 만들어 코드를 짰는데, 컴파일도 안 되는 가상 함수를 뻔뻔하게 진짜인 것처럼 갖다 쓰는 모습을 보면 사람이랑 다를 바가 없다(...)