깃허브

깃허브(GitHub, /'ɡɪtˌhʌb/, 원래 이름: Logical Awesome LLC)는 루비 온 레일스로 작성된 분산 버전 관리 툴인 깃 저장소 호스팅을 지원하는 웹 서비스이다. 깃허브는 영리적인 서비스와 오픈소스를 위한 무상 서비스를 모두 제공한다. 2009년의 깃 사용자 조사에 따르면 깃허브는 가장 인기있는 깃 저장소 호스팅 서비스이다. 또한 2011년의 조사에서도 가장 인기있는 오픈 소스 소프트웨어 인터넷 호스팅 서비스로 꼽혔다.

깃이 텍스트 명령어 입력 방식인데 반해, 깃허브는 그래픽 유저 인터페이스(GUI)를 제공한다. 깃허브는 페이스트빈(pastebin)과 유사한 서비스인 기스트(Gist)와 위키를 각 저장소마다 운영하고 있으며, 깃 저장소를 통해 고칠 수 있다.

깃허브 회사는 2008년 톰 프레스턴워너(Tom Preston-Werner), 크리스 완스트래스(Chris Wanstrath), 피제이 하이엣(PJ Hyett)이 공동 설립했다. (Andreessen Horowitz) 등에서 투자를 받았다. 2010년 1월부터 깃허브는 GitHub, Inc. 라는 이름으로 운영되고 있다. 깃허브의 마스코트는 고양이 머리에 문어 다리가 달린 옥토캣(Octocat)이다. 본사는 미국 캘리포니아주 샌프란시스코에 있다.

2018년 6월 4일, 마이크로소프트는 75억 달러에 깃허브를 인수하였다

역사

GitHub.com 
GitHub.com 플랫폼은 2007년 10월 19일에 만들기 시작했다. 2008년 4월에 톰 프레스턴-워너, 크리스 완스트라스, P. J. 하이엣, 스콧 샤콘이 베타 버전으로 몇 달 동안 사용 가능하게 만든 후, 이 사이트를 시작했다.

조직구조 
원래 GitHub, Inc.는 임원이 없는 수평적인 조직이다. 즉 모든 사람은 관리자라 할 수 있다. 직원들은 관심있는 프로젝트를 선택하고 급여만 최고 경영자에 의해 정해졌다. 그러다 2014년 GitHub, Inc.는 중간 관리직을 도입했다.

경영 
GitHub.com은 창업 1년차에는 3명의 창업자로도 자금을 조달하고 직원을 인수할 수 있는 충분한 수익이 가능했다. 회사가 설립된 지 4년 후인 2012년 7월, Andreessen Horowitz는 벤처 캐피털에 1억 달러를 투자받았다. 2015년 7월 GitHub는 시리즈 B 라운드에서 2억 5천만 달러의 벤처 자금을 추가로 조달했고 투자자는 세쿼이아 캐피털, 안드레센 호로위츠, 스트로우 캐피털 등 벤처 캐피털이었다. 2016년 8월 현재 GitHub은 연간 1억 4천만 달러의 수익을 올리고 있다.

Microsoft의 인수 
2012년부터 마이크로소프트는 GitHub를 사용하여 GitHub의 주요 사용자가 되었으며, GitHub를 사용하여 오픈 소스 프로젝트 및 와 같은 개발 툴을 호스팅하고 있다. NET Core, Chakra Core, MSBuild, PowerShell, PowerToy, Visual Studio Code, Windows Calculator, Windows 터미널 및 해당 제품 설명서에서 명시한다.

2018년 6월 4일, 마이크로소프트는 75억 달러에 GitHub를 인수할 계획을 발표했다. 이 계약은 2018년 10월 26일에 체결되었고, GitHub는 커뮤니티, 플랫폼 및 비즈니스로서 독립적으로 운영된다.

Harvard Business Review는 마이크로소프트가 사용자 기반에 접근하기 위해 GitHub를 인수하려고 했으며, 따라서 마이크로소프트는 다른 개발 제품과 서비스를 함께 사용하고 있다.

2019년 9월 GitHub는 코드 분석 도구인 Semmle을 인수하였다. 2020년 2월, GitHub India Private Limited라는 이름으로 인도에 출시되었다. 

2020년 3월, GitHub는 공개되지 않은 금액으로 JavaScript 패키지 공급업체인 npm을 인수할 것이라고 발표했으며 계약은 2020년 4월 15일에 종료되었다.

2020년 7월 초, GitHub Archive Program은 오픈 소스 코드를 영구히 보관하기 위해 설립되었다.

마스코트 
GitHub의 마스코트는 다섯 개의 문어 같은 팔을 가진 "옥토캣"이다. 이것은 그래픽 디자이너 Simon Oxley가 iStock에서 판매하기 위한 클립 아트로 만든 캐릭터였다. GitHub는 그가 트위터 로고로 디자인한 파란 새 디자인을 본 후 Oxley의 작품에 관심을 갖게 되었다. GitHub는 해당 디자인을 원했기 때문에, 이미지에 대한 독점권을 구입하기 위해 Oxley와 협상했다.

GitHub는 Octopus를 Octocat으로 개명하고 새로운 이름과 함께 이 캐릭터의 상표를 만들었다. 나중에 GitHub는 일러스트레이터 Cameron McEfee를 고용하여 웹 사이트와 홍보 자료에 Octocat을 다양한 용도로 적용하였다. McEfee와 다양한 GitHub 사용자들은 그 이후로 이 캐릭터를 수백 가지 변형하여 만들었고 이는 The Octodex에서 확인할 수 있다.

서비스

깃허브 
깃허브 플랫폼의 개발은 2007년 10월 19일 시작되었다. 이 사이트는 베타 릴리스 이전 수개월 사용 가능한 시간을 둔 이후 2008년 4월 톰 프레스턴-워너(Tom Preston-Werner), 크리스 완스트래스(Chris Wanstrath), P. J. 하이엣(P. J. Hyett)에 의해 시작되었다.

깃허브의 프로젝트는 표준 Git 명령줄 인터페이스를 사용하여 접근하고 조작할 수 있으며 모든 표준 Git 명령어들이 이 인터페이스와 함께 동작한다. 깃허브는 또한 등록 사용자와 비등록 사용자 모두에게 사이트의 공개 저장소를 찾아볼 수 있는 권한을 제공한다. 여러 데스크톱 클라이언트와 Git 플러그인 또한 깃허브, 그리고 플랫폼을 연동하는 다른 서드파티에 의해 개발되고 있다.

사이트는 피드, 팔로어, 위키(골룸이라는 이름의 위키 소프트웨어 사용), 소셜 네트워크 그래프 등 소셜 네트워크와 같은 기능을 제공하여 개발자들이 어떻게 자신의 저장소의 버전(포크)을 작업하는지, 어느 포크(및 해당 포크의 브랜치)가 최신인지를 보여준다.

사용자는 사이트에 내용을 기여하기 위해 계정을 만들어야 하지만 공개 저장소는 누구든지 탐색 및 다운로드가 가능하다. 등록된 사용자 계정이 있으면 사용자는 토론, 저장소 관리, 다른 저장소로의 기여 제출, 코드의 변경 사항 검토를 할 수 있다.

깃허브를 구동하는 소프트웨어는 루비 온 레일즈와 얼랭을 사용하여 깃허브 개발자들인 완스트래스(Wanstrath), 하이엣(Hyett), 프레스턴-워너(Preston-Werner)에 의해 개발되었다.

범위 
깃허브는 대부분 코드를 위해 사용된다.

소스 코드뿐 아니라 깃허브는 다음의 포맷과 기능을 지원한다:

 다양한 마크다운식의 파일 포맷의 자동으로 렌더링되는 README 파일을 포함한 문서화
 레이블, 마일스톤, 할당받는이(asignee), 검색 엔진을 갖춘 이슈 추적(기능 요청 포함)
 위키
 코드 검토 및 댓글을 지원하는 풀 리퀘스트(Pull request)
 커밋 역사
 그래프: 펄스(pulse), 기여자, 커밋, 코드 주기, 펀치 카드, 네트워크 멤버
 연동 디렉터리(Integrations Directory)
 diff 통합 및 분리
 이메일 알림
 다른 사용자를 구독하는 옵션 (다른 사용자의 언급 알림).
 에모지
 깃허브 페이지: 작은 웹사이트들은 깃허브의 공개 저장소의 호스팅을 받을 수 있다. URL 포맷은 https://username.github.io.
 파일 내의 중첩 작업 목록
 지형공간 분석 데이터 시각화
 새로운 통합 STL 파일 뷰어를 사용하여 미리 보기가 가능한 3D 렌더 파일 ("3D 캔버스" 상의 파일 표시). 뷰어는 WebGL, Three.js의 지원을 받는다.
 포토샵의 네이티브 PSD 포맷은 미리 볼 수 있으며 동일 파일의 다른 버전과 비교가 가능하다.
 PDF 문서 뷰어
 각기 다른 패키지에서 공통 취약점 및 노출로 알려진 보안 경보

GitHub Enterprise 
GitHub Enterprise는 유사한 기능을 갖춘 자체 관리 버전의 GitHub.com이다. 조직의 자체 하드웨어 또는 클라우드 프로바이더에서 실행할 수 있으며 2011년 11월부터 사용하였다.

2020년 11월, DMCA의 YouTube-dl 인수에 대한 명백한 항의로 GitHub Enterprise Server의 소스 코드가 온라인에 유출되었다. GitHub에 따르면 소스 코드는 GitHub에서 비롯되었으며, GitHub 서버에 대한 공격이 아니라 기업 고객과의 코드를 공유한 것이라 밝혔다.

GitHub Pages 
GitHub Pages는 GitHub 사용자들이 사용자 블로그, 프로젝트 문서, 또는 한 페이지로 작성된 전체 책을 호스팅하기 위해 2008년부터 GitHub에서 제공하는 정적 웹 호스팅 서비스이다.

모든 GitHub Pages 콘텐츠는 방문자에게 제공되는 파일 또는 마크다운 형식으로 Git 저장소에 저장되며 GitHub는 Jekyl 정적 웹 사이트 및 블로그 생성기 및 GitHub 연속 통합 파이프라인과 원활하게 통합된다. 콘텐츠 소스가 업데이트될 때마다 Jekyl은 웹 사이트를 재생성하고 GitHub Pages 인프라를 통해 자동으로 서비스를 제공한다.

GitHub와 마찬가지로, 웹 광고의 지원을 받는 대신 무료 및 유료 서비스 계층을 모두 포함한다. 이 서비스를 통해 생성된 웹 사이트는 github.io 도메인의 하위 도메인으로 호스팅되거나 타사 도메인 이름 등록자를 통해 구입한 사용자 지정 도메인으로 호스팅된다. GitHub Pages repo에 사용자 정의 도메인이 설정된 경우 인증서의 암호화 여부가 자동으로 생성된다. 인증서가 생성되면 저장소의 웹 사이트에 대해 HTTPS 적용을 설정하여 모든 HTTP 요청을 HTTPS로 투명하게 리디렉션할 수 있다.

Gist 
GitHub는 또한 Gist라고 불리는 사이트를 운영한다. Tom Preston-Werner는 2008년 Ruby 컨퍼런스에서 이 기능을 처음 선보였다.

Gist는 코드 조각, 손쉬운 포킹 및 개인 페이스트의 TLS 암호화를 위한 버전 제어를 추가하여 기존의 간단한 페이스트빈 개념을 기반으로 한다. 각 "gist"에는 Git 저장소가 있으므로 여러 코드 조각을 단일 페이스트에 포함할 수 있으며 Git을 사용하여 푸시 및 풀링할 수 있다.

등록되지 않은 사용자는 2018년 2월 18일까지 Gists를 업로드할 수 있었으며, 그 후 로그인한 사용자만 업로드할 수 있게 되어 스팸을 최소화할 수 있었다.

교육프로그램 
GitHub는 학생들에게 인기 있는 개발 도구와 서비스를 무료로 이용할 수 있는 GitHub 학생 개발자 팩이라는 새로운 프로그램을 제공한다. GitHub는 Bitnami, Crowdflower, DigitalOcean, DNSimple, HackHands, Namechap, Orchestrate, Screenhero, SendGrid, Stripe, Travis CI 및 Unreal Engine과 협력하여 프로그램을 시작했다.

2016년 GitHub는 학생들이 대학에서 기술 커뮤니티를 성장시키도록 교육하고 격려하기 위한 GitHub 캠퍼스 전문가 프로그램을 시작했다. 캠퍼스 전문가 프로그램은 전 세계 18세 이상 대학생에게 개방한다. GitHub 캠퍼스 전문가는 GitHub가 학생 지향 이벤트 및 커뮤니티에 자금을 지원하는 주요 방법 중 하나이며, 캠퍼스 전문가는 이벤트를 운영하고 커뮤니티를 성장시키기 위해 교육, 자금 지원 및 추가 리소스에 액세스할 수 있다. Campus Expert가 되려면 지원자가 커뮤니티 리더십 능력을 키우기 위해 설계된 여러 모듈로 구성된 온라인 교육 과정을 이수해야 한다.

스폰서 제도 
GitHub 스폰서들은 사용자들이 GitHub에서 주최하는 프로젝트에 매달 돈을 기부할 수 있게 한다. 2019년 5월 23일 공개 베타 발표되었으며, 현재 프로젝트 대기자 명단 등록을 계속 받고 있다. The Verge는 GitHub 스폰서들이 "Patreon과 똑같이 일한다"고 말했다. "개발자들은 서로 다른 특전을 가지고 제공되는 다양한 자금 계층을 제공할 수 있고, 프로그램 사용에 대한 제로 수수료 외에는 이러한 계층에 액세스하여 작업을 장려하고자 하는 후원자들로부터 반복적인 후원금을 받을 수 있기 때문이다. 또한 GitHub는 첫 해 동안 얼리 어답터에게 인센티브를 제공한다. 즉, 결제 처리 비용을 충당할 것을 약속하고 개발자당 최대 5,000달러의 후원금을 지불한다. 게다가, 사용자들은 여전히 Patreon이나 Open Collective와 같은 다른 유사한 서비스를 사용할 수 있고 그들의 웹사이트에 링크할 수 있다.

개발 프로젝트 
 아톰: 자유-오픈 소스 텍스트 및 소스 코드 편집기
 일렉트론: 자바스크립트 기반 웹사이트를 데스크톱 애플리케이션으로 사용하기 위한 오픈 소스 프레임워크

검열 

2014년 12월 3일, 깃허브는 러시아에서 블랙리스트에 등재되었는데 그 이유는 깃허브가 처음에 사용자가 게시한 자살 매뉴얼을 내리지 않았기 때문이다. 하루 뒤 러시아는 이 차단을 해제하였다.

2014년 12월 31일, 깃허브는 사용자들이 게시한 IS를 옹호하는 콘텐츠로 인해 31개의 다른 웹사이트와 더불어 인도에서 차단되었다. 2015년 1월 10일, 깃허브의 차단은 해제되었다.

2015년 3월 26일, 깃허브는 118시간 넘게 지속된 대량 DDoS 공격의 희생자가 되었다. 중국에서 기원한 것으로 보인 이 공격은 주로 깃허브가 호스팅하는 사용자 콘텐츠 중 인터넷 검열 우회 방식을 기술하는 내용을 대상으로 했다.

2016년 10월 8일, 깃허브는 국가의 에너지장관이 소유한 계정의 해킹으로 인한 이메일 유출을 막고자 터키 정부에 의해 차단되었다.

2021년 3월, 깃허브는 위험한 소스코드는 임의 삭제 가능하다고 밝혔으며 보안 위협을 초래할 우려가 있는 코드 사용을 막겠다는 새 운영지침을 발표했다.

보안 문제 
소스코드 공유 플랫폼 깃허브, '보안'이 문제가 되었다. 소스코드 공유·관리 플랫폼 '깃허브'를 이용하는 데 있어 보안 위협에 주의해야 한다는 목소리가 높아지고 있는데 플랫폼 특성을 노려 해커가 공격의 발판으로 악용하거나, 플랫폼 내 보안 체계의 미흡함으로 이용자들이 취약점에 노출되는 사례가 나타나고 있다.

논란

직장 내 괴롭힘 
2014년 3월, GitHub 프로그래머 Julie Ann Horvath는 설립자이자 CEO인 Tom Preston-Werner와 그의 아내 Teresa가 자신을 괴롭혀서 회사를 그만두게 되었다고 주장했다. 2014년 4월 GitHub는 Horvath의 혐의를 부인하는 성명을 발표했다. 그러나 내부 조사에 따라 GitHub는 이러한 주장을 확인하였다. GitHub의 CEO인 Chris Wanstrath는 회사 블로그에 다음과 같이 썼다. 그가 밝히기를 "조사 결과 GitHub의 CEO인 Tom Preston-Werner는 대립적 행동, 직장에서의 불만 사항 무시, 배우자의 직장에서의 영향에 대한 무감각, 배우자와의 합의 이행 실패 등 부적절한 행동을 했다"라 전했다. Tom Preston-Werner는 그 후 회사를 사임했고 회사는 "직원의 우려와 갈등이 심각하게 받아들여지고 적절히 처리되도록 하기 위해" 새로운 교육을 시행할 것이라고 발표했다.

일부 국가 제재 
2019년 7월 25일 이란에 본사를 둔 한 개발자는 미디엄에 GitHub가 자신의 개인 저장소를 차단하고 GitHub Pages에 대한 접근을 금지했는지에 대해 글을 썼다. 얼마 지나지 않아 GitHub는 이란, 크림반도, 쿠바, 북한, 시리아 등의 개발자들의 개인 저장소 접근을 차단하고 있음을 확인했다. 그 이후 GitHub는 며칠 후 위치에 관계없이 공용 저장소에 대한 GitHub 페이지 액세스를 설정했다. 또한 GitHub를 제재 대상국을 방문하면서 사용할 경우 사용자 계정에서도 유사한 조치를 취할 수 있는 것으로 밝혀졌다. 이러한 사항을 GitHub는 대변인을 통해 불만 사항과 미디어에 응답했다.

제약이 없어야 한다고 느끼는 개발업자들은 제약이 걸리지 않는 국가들로만 여행하였고 해당 국가에 거주하지 않는 개발업자들을 포함하여 해당 제약의 철폐를 호소하고 있다. GitHub는 허가된 국가에서 사이트에 액세스하는 데 VPN과 IP 프록시를 사용하는 것을 금지했는데 이는 구매 내역과 IP 주소가 사용자를 플래그로 지정하는 방식이기 때문이다.

검열 보복 
2014년 12월 3일, 러시아는 GitHub가 사용자가 작성한 자살 설명서를 받아 들이지 않았기 때문에 GitHub.com을 블랙리스트에 올렸다. 하루 후, 러시아는 차단을 철회했고, 그 이후 GitHub는 러시아에서 특정 콘텐츠와 페이지를 즉시 차단하기 시작했다.

ICE 계약 체결 
GitHub는 GitHub Enterprise Server를 사용하기 위해 미국 이민세관국(ICE)과 $200,000 계약을 체결했다. 이 계약은 많은 GitHub 직원들의 내부 반대에도 불구하고 2019년에 갱신되었다. 이후 2019년 10월 9일 GitHub 블로그에 게시된 직원들에게 보낸 e-메일에서 Nat Friedman CEO는 "이번 구매로 인한 매출은 20만 달러 미만이며 우리 회사에 재정적으로 중요한 자료가 아닙니다."라고 말했다. 그는 GitHub가 "현 정부가 목표로 하는 이민자 공동체를 지원하는 비영리 단체"에 50만 달러를 기부하겠다고 약속했다고 발표했다. 이에 대해 적어도 150명의 GitHub 직원들이 ICE의 인권 유린 의혹을 규탄하며 계약에 반대한다는 공개 서한에 서명했다. 2019년 11월 13일 현재 5명의 직원이 계약을 이유로 사직했다.

ICE 계약 분쟁은 2020년 6월 조지 플로이드 시위와 블랙 라이브 매터 운동에 자극받아 "master/slave" 지사를 포기하기로 결정하면서 다시 불거졌다. GitHub를 비난하는 사람들은 GitHub 지점 이름을 성과적 행동주의로 바꾸는 것에 대해 설명하고 GitHub에게 ICE 계약을 취소할 것을 촉구했다. 2019년 12월 GitHub에서 오픈 소스 커뮤니티 회원들의 공개 서한을 공유하여 회사가 ICE와의 계약을 중단하고 비즈니스 및 파트너십 수행 방식에 대해 보다 투명성을 제공할 것을 요구했으며 그 편지에는 700명 이상의 사람들이 서명했다.

직원 해고 
2021년 1월, GitHub는 폭도들 중 일부를 "나치"라고 부르며 미국 국회의사당에 난입한 폭도들에 대해 우려를 표시한 직원들 중 한 명을 해고했다. 조사 후 GitHub의 COO는 직원을 해고하기로 한 회사의 결정에 "심각한 판단과 절차에 오류가 있었다"고 말했다. GitHub는 직원에게 연락을 취했고 회사의 인사 담당자는 사임했다.

같이 보기 
 깃
 소스포지
 리플릿 (통합 개발 환경)

각주

외부 링크 
 
 
Pro Git - GitHub 챕터
개발자를 위한 GitHub 사용법 총 정리

 
인터넷 호스팅
프로젝트 관리 소프트웨어
버그 및 이슈 추적 소프트웨어
컴퓨팅 웹사이트
마이크로소프트의 자회사
버전 관리
깃 (소프트웨어)