최근 수정 시각 : 2022-06-21 09:32:27

GitHub

파일:Microsoft 로고.svg
{{{#!wiki style="margin:0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
{{{#000,#e5e5e5
산하 계열사 및 사업부
GitHub · .NET Foundation · Xbox Game Studios · LinkedIn
제품군
하드웨어 Surface · Xbox · HoloLens · PixelSense · Zune
소프트웨어 Windows · Office · Edge · Media Player · Hyper-V · Microsoft Defender · Visual Studio Code · Visual Studio · Windows Terminal · Microsoft PowerToys · Internet Explorer · MS-DOS · Windows Movie Maker · Autoruns
서비스 Microsoft Azure · OneDrive · Skype · MSN · Bing · LinkedIn · Cortana · 테이 · Xbox Live · 정품 인증 · MSDN
관련 기술 ASF · ASP · Blazor · COM · DCOM · DirectX · 파일 시스템(FAT · NTFS · ReFS) · MFC · .NET(.NET Core · .NET Standard · C# · F# · Visual Basic .NET · Windows Forms · WPF · Universal Windows Platform · ASP.NET · ML.NET) · OLE · Silverlight · Visual Basic · VBA · WASAPI · Windows 커널 · Windows 디자인 · Windows API · Windows Runtime · WMA · WMV · Xamarin · XNA
관련 인물
빌 게이츠(은퇴) · 폴 앨런(은퇴) · 스티브 발머(퇴사) · 게이브 뉴웰(퇴사) · 사티아 나델라 · 필 스펜서
기타
Microsoft의 제니맥스 미디어 인수 · Microsoft의 액티비전 블리자드 인수 · 빌 게이츠의 굴욕
관련 틀
365 제품군 · 하드웨어 제품군 · Surface 제품군 · Windows 제품군
}}}}}}}}}}}} ||
<colbgcolor=#171516><colcolor=#fff> GitHub
파일:GitHub 아이콘.svg
파일:GitHub 로고.svg
출시 2008년 2월 8일
본사 미국 샌프란시스코
서비스 Git 호스팅, 버전 관리, 이슈 트래커
개발 언어 Ruby
회원가입 선택[1]
상태 운영 중
파일:GitHub 아이콘.svg 공식 홈페이지 | 파일:GitHub 아이콘.svg GitHub
파일:트위터 아이콘.svg | 파일:페이스북 아이콘.svg | 파일:유튜브 아이콘.svg | 파일:LinkedIn 아이콘.svg

1. 개요2. 특징3. Github Enterprise4. 유사 서비스5. 사건사고
5.1. GitHub에 대한 사이버공격 및 차단 사례
5.1.1. 중국
5.1.1.1. 2013년5.1.1.2. 2015년5.1.1.3. 2020년
5.2. MS의 인수5.3. 악성 코드가 들어가 있는 오픈소스들5.4. SK텔레콤 GitHub 어뷰징 사건5.5. 2021년 11월 28일 서버 장애 사건
6. 기타

[clearfix]

1. 개요

GitHub is how people build software
GitHub는 사람들이 소프트웨어를 개발하는 방법입니다
대표적인 무료 Git 저장소. 2008년 공개했다. Git 호스팅 기능 덕분에 GitHub는 자유 소프트웨어오픈소스의 성지로 떠올랐다. 본사는 미국 샌프란시스코에 있다. 경쟁사 SourceForge는 애드웨어, 해킹, 바이러스 등등의 문제로 많은 개발자들의 신뢰를 잃어 사실상 망했으며, 대부분의 프로젝트가 GitHub 쪽으로 이주하게 됐다. 마스코트는 고양이문어를 합친 모습의 Octocat이다. 새 모양 실루엣의 트위터 로고가 마음에 든 깃허브 관리자가 그 디자이너에게 제작을 의뢰했다고 한다.

원래는 공개 프로젝트만 무료였고 비공개 프로젝트는 결제를 해야 했으나, MS에 인수된 이후 2019년 1월 초부터 비공개 저장소를 무료로 제공하기 시작했고#, 2020년 4월 중순부터 비공개 저장소 공동 작업자수 제한도 풀렸다.#

2. 특징

  • 각 소스코드 저장소마다 Gollum이란 마크다운 기반 위키를 만들 수 있다. 위키를 클론하고 싶을 경우 https://github.com/(사용자 이름)/(저장소).wiki.git을 클론하면 된다.
  • GitHub는 SSH 와 https 프로토콜을 지원하며, 각각 다른 방식의 Remote git의 URL로 저장된다.
  • Public/Private repository를 지원하며, 접근 권한이 필요한 private repository인 경우 기본적으로 GitHub 계정과 Password 를 입력을 해야 git pull/push가 가능하지만, 한번만 설정도 가능하다.
  • GitHub에서 public key는 1개의 계정 또는 Project에만 등록 가능하다. 하나의 계정에서 Project 별 Public Key를 별도로 등록해야 한다.
  • GitHub Pages라는 이름으로 웹 호스팅 서비스도 제공하고 있다. Jekyll(지킬)이라는 Ruby 기반 정적 CMS 툴을 내장하고 있다.[2] Jekyll을 사용하지 않을 경우에도 평범한 HTML/CSS/JS를 툭 던져놓으면 홈페이지로 쓸 수 있다. (사용자 이름).github.io라는 이름으로 저장소를 만들면 된다. 개인 도메인을 사용하고 싶은 경우 저장소 루트 경로에 CNAME 파일을 만들고 도메인을 입력한 뒤 DNS에 GitHub 서버 주소를 입력하면 된다.[3]
  • 각 소스코드 저장소마다 홈페이지를 한개씩 만들 수 있다. GitHub Pages의 하위 디렉토리로 들어가게 된다.[4]
  • 각 레포지토리마다 별도의 이슈 트래커를 무료로 지원한다. 마이크로소프트도 GitHub의 이슈 트래커를 상당히 애용하고 있다.
  • 2020년 2월부터 디스커션 보드가 추가되었다. 이전까지는 이슈 트래커에서 버그 리포팅과 특정 주제에 대한 토론을 함께 진행했는데, 이제 토론은 별도의 게시판에서 진행할 수 있다.
  • 2명 이상의 협력자(Collaborators)를 등록하여 하나의 프로젝트를 가지고 GitHub를 통해 공동 작업할 수 있다.
  • GitHub Gist : 단일 소스 파일과 간단한 메모를 저장 또는 공유하는 용도로 사용할 수있다. public[5]/private[6] 여부를 선택할 수 있으며, Google Colab 등 여러 툴에서 코드 단위 레포지토리 용도로 기본적으로 제공하는 추세이다. 원래는 익명으로도 올리는 것이 가능했으나 이를 악용한 스팸이나 악성코드 업로드 등 지속적으로 문제가 되자 로그인해야만 사용 가능하도록 변경되었다.
  • 외부 라이브러리의 취약점이 확인된 경우 사용자에게 해당 사실을 통보하고 자동으로 최신 버전으로 교체하는 기능을 제공한다.
  • Github Action이라는 CI/CD를 위한 워크플로우 자동화 기능을 제공한다.[7] 모든 언어를 지원하며, 모든 주요 OS 컨테이너에서 빌드, 테스트 및 배포가 가능하다.[8][9] 미리 만들어진 액션을 사용하거나, YAML 구문을 사용하여 액션을 사용할 수 있다.
  • Project Boards라는 내장 칸반보드가 있다. 자동으로 추가되게 설정도 가능하다.
  • GitHub Copilot - 자동 코드 완성 인공지능

3. Github Enterprise

Github의 성공적인 노하우와 시스템을 직접 호스팅할 수 있는 자체 구축 솔루션인 Github Enterprise 구독 패키지를 판매하고 있다. Github 의 위상이 위상이다 보니 소스 자산 공개를 꺼리는 국내 유수의 대기업 및 스타트업이 사용하고 있다. 물론 GitLab 이라는 무료 대체제가 있지만, Github 의 익숙함을 원하는 업체의 니즈가 반영된 것으로 보인다. 국내 세금계산서가 필요한 경우 국내 총판에서 상담하면 된다.

4. 유사 서비스

유사품으로 BitbucketGitLab이 있다. 이 중에서 GitLab이 Bitbucket보다 여러모로 강력한 기능을 제공하고 제한도 적게 걸지만[10], Bitbucket에 비하면 서버 운영이 불안정한 편이다. Bitbucket은 Jira와 Confluence로 유명한 Atlassian에서 개발했기 때문에 신뢰도는 확실하다.

중국에서는 Gitee(码云)라는 유사 서비스가 운영되고 있다.

5. 사건사고

5.1. GitHub에 대한 사이버공격 및 차단 사례

중국, 러시아, 터키를 비롯한 인터넷 검열 시행 국가에서 GitHub를 차단하거나 공격하려는 시도가 여러 차례 발생한 바 있다. GitHub에는 인터넷 검열 우회 도구가 여럿 업로드되어 있는데다, 해당 국가에서 검열된 정보가 올라가 있는 저장소도 존재하기 때문인 것으로 보인다.

5.1.1. 중국

5.1.1.1. 2013년
  • 2013년 1월, 중국 정부는 방화장성을 통해 중국 내 GitHub 접속 차단을 시도하였다. 프로그래머들은 이에 크게 반발하였고, 구글 차이나의 대표를 지낸 리카이푸(李開復)를 비롯한 저명 인사들까지 나서 "중국의 IT 경쟁력을 낮추는 행위"라고 비판하였다. 결국 당국은 3일 만에 접속 차단을 해제하였다.
  • 2013년 1월 26일, 중국 인터넷망에서 github.com 도메인에 대한 MITM 공격이 발생하였다. #
5.1.1.2. 2015년
  • 2015년 3월, GitHub가 중국발 DDoS에 공격당했다. 서방에서는 이를 중국 정부에 의한 일종의 무력 시위로 보고 있으나, GitHub측과 중국측 모두 별다른 의사표명은 하지 않았다.
5.1.1.3. 2020년
  • 중국 인터넷망에서 github.com, github.io 도메인에 대한 MITM 공격사례가 발생하였다. #

5.2. MS의 인수

Bloomberg에 따르면 2018년 6월 4일, 마이크로소프트가 GitHub를 인수하기로 결정했다고 한다. #

GitHub는 2016년에만 무려 6,600만 달러의 엄청난 적자#를 기록했고, 이 때문에 자체 상장보다는 인수되는 것을 희망해 왔다고 한다. 또한 오픈 소스에 친화적인 태도를 보이는 마이크로소프트의 CEO인 사티아 나델라에게 감명받았다고 한다. 현지시각으로 2018년 6월 4일 오전 6시에 MS 트위터를 통해서 GitHub 인수 소식이 정식 발표되었다. # 인수 금액은 75억 달러이다. 인수가 완료되면 Xamarin의 CEO였던 냇 프리드먼이 GitHub의 CEO로 부임할 예정이다. 그리고 2018년 10월 26일, 인수 절차가 완료되었다. #

이에 대해서 걱정 또는 비판하는 목소리가 많았다. GitHub는 오픈 소스의 성지 역할을 하고 있는 사이트였고, 이는 GitHub이 특정 기업에 종속되지 않은 중립적인 행보를 보였기에 가능한 일이었다. 오픈 소스를 배척한다는 이미지가 강해 자유 소프트웨어 쪽에서는 거의 악마로 묘사되는 MS가 GitHub를 인수하게 되면 오픈 소스를 탄압 또는 고사시킬 것이라는 우려이다. 물론 이는 빌 게이츠 시절 이야기고 사티아 나델라 CEO 이후엔 친 오픈 소스, 탈 윈도우 플랫폼 행보를 보이고 있다. 그 전에 인수한 LinkedIn도 MS의 색채를 거의 없앤 채로 운영 중이지만 한번 쌓인 이미지가 그리 쉽게 사라지지 않는다는 게 문제다. 또한 경쟁사 서버에 자신들의 소스 코드가 올라가게 되었다는 점에서 MS와 경쟁관계에 있는 수많은 기업들(애플, 구글 등) 또한 찝찝할 수밖에 없다.

GitLab 측에서는 MS의 GitHub 인수를 축하하는 글을 블로그에 올렸다. MS의 인수 소식 때문인지, 애플Xcode 10부터 GitLab 기능을 통합시킬 것이라고 밝혔다. #

GitHub의 텍스트 에디터인 Atom이 같은 Electron 프레임워크 기반의 Visual Studio Code와 유사한 위상이어서, MS에서 Atom을 정리하려는 것은 아닌가 우려하는 사용자들이 있었으나, 일단 GitHub의 새로운 CEO는 Atom을 계속 지원할 것을 약속했다. # 그러나 VS Code에 비하면 Atom은 적극적인 업데이트가 이루어지지 않고 있으며, 결국에는 버려질 것이라는 예상이 많다.

한편으로는 오라클이 아니라 MS가 인수해서 다행이라는 반응도 있다. 이전부터 오픈소스 진영에서는 오라클이 주적(主敵)으로 취급되곤 했는데, 그 주적한테 인수되는 것 자체가 자칫 큰 반발을 살 수 있기 때문.[11] 다행히 인수 의사를 밝힌 MS는 친 오픈소스 행보를 보이고 있기 때문에, 앞서 언급했듯 GitLab 등에서도 환영 의사를 나타낼 수 있었다. 오라클이 인수했다면 썬 마이크로시스템즈오픈오피스, 아니면 MySQL 꼴 날 수도 있었을 일. 물론 오픈소스의 적이 GitHub를 인수할 일은 애초에 없었을 것이긴 하다.

2020년 3월 16일 자바스크립트 패키징 벤더인 npm을 인수했다.

5.3. 악성 코드가 들어가 있는 오픈소스들

GitHub는 로그인만 한다면 누구나 오픈소스를 올릴 수 있다 보니 멀웨어나 바이러스 오픈소스 프로젝트가 올라는 경우가 있다. 오픈소스 프로젝트일 경우 소스 코드를 직접 검사하는 것이 가능하기 때문에 대부분의 멀웨어들은 클로즈드 소스로 배포되나, 오픈 소스라고 해도 유명하지 않아 프로그램을 검사할 주체가 없고, 자신이 프로그래밍 지식이 없어 코드를 직접 검사할 수 없다면 신뢰할 수 없는 소프트웨어는 사용하지 않는 것이 좋고, 인터넷 검색 등을 해보는 것이 좋다.

사실 이 문제는 패키징 벤더들 또는 GitHub 같은 서비스들의 공통적인 문제이긴 하다. 당장 Node.js의 패키징 벤더인 npmPython의 패키징 벤더인 Pypi만 해도 가끔씩 트로이 목마 같은 악성 코드들이 올라오나, 그에 비해 GitHub의 관리는 미흡하다고 볼 수 있다.[12][13]

5.4. SK텔레콤 GitHub 어뷰징 사건

파일:상세 내용 아이콘.svg   자세한 내용은 메타트론 디스커버리 문서
2.1번 문단을
부분을
참고하십시오.

5.5. 2021년 11월 28일 서버 장애 사건

미국 동부 표준시 기준 15시 45분경부터 시작된 서버 장애 사건. 대한민국 표준시 기준으로는 새벽 5시 45분경부터 시작되었다. 이 사건으로 인해 많은 개발자들이 불편을 겪었다.

6. 기타

한국을 포함한 전세계 IT 업계에서는 프로그래머 면접에서 GitHub 계정이 일종의 포트폴리오 역할을 할 수 있기 때문에 관련 업계에서 상당히 각광받는 중. 아예 입사지원서에 GitHub 계정/url을 요구하는 곳도 있고 점점 늘어나는 추세다. 최근에 들어서는 국적을 가리지 않고 스타트업이나 개방적인 기업 중심으로 GitHub를 포트폴리오로 사용 / 기업 활동에 사용하는 일이 점점 늘어나고 있다. 하지만 이 쿼라의 답변에서 첨부한 사진 같은 경우 관련 직무 경력을 가장 많이 고려하고, 의사소통 기술은 두번째, 깃헙은 가장 적게 고려하는 것으로 나온다.

깃헙 프로필에서 이러한 취업담당자들에게 보여주기 위한 깃헙 리드미 스탯(깃헙 성적 산출기라고 보면 된다)같은 것도 있는데 스타, 커밋 수 등으로 종합성적을 산출한다. 그런데 사실 스타나 포크 수 같은 경우는 자기 프로그램이 좋으면 올라가는 경우도 있지만 친구들끼리 올리는 경우, 광고하는 경우, 관련 프로그램을 이용하는 경우도 많다.

오픈 소스 프로젝트라면 뭐든 올릴 수 있기 때문에 가끔 괴상한 것들이 올라오기도 한다.
  • 아폴로 11호에 사용된 가이던스 컴퓨터의 소스 코드가 공개되었다.
  • 페르시아의 왕자 오리지널 버전 소스 코드. 공개자는 제작자인 조던 메크너 본인. 워낙 예전 소스라 자기도 기억 안 나니까 궁금한 거 있어도 묻지 말라고 써 놨다. 더군다나 사용언어는 애플 II 어셈블리어(...). 추가로 굉장히 많은 언어 사용이 감지되는데, 확장자로 인한 것으로 어셈블리로 작성된 프로그램이 맞다.
  • 집안일 관리용 이슈 트래커(...). README 파일이 가관이다. "My house has no source code, so I only use the issue tracker." 이 레포지토리는 2012년 12월 말에 트렌드 1위로 등극하기도 했다! 2018년 10월 현재 상태로 저 레포지토리는 사라진 상태. 하지만 이 레포지토리에 영감을 얻은 여러 사용자들이 비슷한 집안일 관리용 레포지토리를 만들었다. 1, 2, 3 이외에도 상당히 많은 레포지토리들이 존재한다. 원조와 다른 점은 소스 코드를 가지고 있다는 것 정도.
  • GitHub랑 연동해서 실제 책을 집필하게 해주는 GitBook이란 서비스도 있다.
  • 엔하위키[14] 미러[15]통째로 저장되어 있기도 하다. GitHub에서 위키질을 할 수가 있다 편집을 못 한다 PR을 일일이 보내야 한다
  • GitHub Student Developer Pack이라고 학생의 경우에 인증을 하면 GitHub의 유료 요금제를 무료로 사용할 수 있다. GitHub 외에도 AWS Educate, Bitnami, CrowdFlower, DigitalOcean, Dnsimple, Hackhands, Microsoft Azure, namecheap, Orchestrate, SendGrid, Stripe, Travis CI, Udacity, Unreal Engine, JetBrains[16] 등도 어느 정도의 서비스를 무료로 제공하므로 관심 있다면 위의 링크를 통해 찾아보자. 참고로 신청하고 승인되기까지 상당히 걸리는데, 찾아보면 미국인의 경우에도 1년이 넘게 걸리는 곳도 있다고 한다. 국내 모 국립대의 경우에 2개월 만에 승인 메일이 도착했다는 최근에 들어서는 대학교 이메일(ac.kr 도메인으로 끝나는 이메일)을 이용하는 경우, 바로 처리가 되는것으로 보인다. 학교 이메일 없이 국내 초/중/고 학생증만으로 하루 만에 인증이 완료되었다는 사례도 있다.
  • 페이스북인공지능 바둑 프로그램인 다크포레스트도 공개되어 있다.
  • 심지어 MS-DOS 1.25와 2.0의 소스 코드도 공개되어 있다!
  • 케모노 프렌즈 애니메이션의 대사집도 공개되어 있다. KADOKAWA: ??
  • 레진 코믹스에서 취업공고를 GitHub에 올리기도 하였다.
  • Github의 유저 프로필에서는 일별 커밋수를 확인할 수 있는데, 커밋을 많이할수록 해당 일자 칸이 진한 초록색을 띄는 탓에 국내에서는 일별 커밋수를 꾸준히 늘려서 초록색을 늘리는 걸 “잔디심기”라고 표현하기도 한다.[17]
  • 가입할 때 리캡챠나선은하를 고르는 것이 뜬다고 한다.
  • 정적 웹 페이지를 호스팅할 수 있는 GitHub Pages를 무료로 제공하고 있다. 블로그로도 활용할 수 있는데, 주로 개발 관련 블로그가 많지만 그 외의 내용을 다루는 블로그도 있다.
  • GitHub에서 비공개 저장소를 만들면 임시 클라우드 스토리지로 이용할 수도 있다.
  • Primer라는 이름으로 GitHub의 디자인 시스템을 라이브러리로 제공한다. Octicons라는 이름으로 아이콘 세트도 제공하고 있다.


[1] 리포지토리 생성 및 프로젝트 가입 시 필요[2] 안전 모드로 돌아가기 때문에 플러그인은 사용할 수 없다.[3] 2018년 5월부터 커스텀 도메인 적용시에도 HTTPS 적용.[4] 즉, abcd라는 저장소를 만들 경우 이와 연동되는 홈페이지의 주소는 http://(username).github.io/abcd가 된다.[5] gist 목록에 공개된다[6] 링크가 있어야만 확인할수 있다.[7] 쉽게 말해 젠킨스라고 생각하면 된다. 다만 이쪽은 Github에서 빌드를 위한 컨테이너를 제공한다.[8] 도커 배포시 굉장히 유용하다.[9] 무료 버전도 무려 한달에 2,000분이나 지원한다.[10] Bitbucket(Bitbucket Cloud)은 공개/비공개 여부에 상관없이 한 저장소당 최대 5명의 사용자까지만 무료다. GitLab은 인원 수 제한이 아예 없다.[11] 커뮤니티 상에서는 최악의 인수 기업으로 오라클, 텐센트, 아마존닷컴을 뽑았고, 최선의 경우로 구글마이크로소프트를 뽑았다.[12] 물론 GitHub의 리포지토리 수를 생각하면 현실적으로 모든 퍼블릭 리포지토리를 검사하는건 불가능에 가깝다.[13] https://github.com/ytisf/theZoo와 같이 분석목적으로 올라온 멀웨어들이 꽤 많다. 물론 분석목적인지 문제삼기는 어렵다.[14] 마크다운으로 변환시켰다고 한다.[15] 참고로 이건 리그베다 위키FrontPage반달 당했을때 포크된 데이터다(...). 청동씨 이건 아니죠. 돌아와서 얘기를 하세요[16] IntelliJ IDEA, CLion 등의 IDE 개발사. 유료 버전 사용이 가능하다.[17] 물론 잔디심기의 효용성에 대해서는 논란의 여지가 많은데, CTO 입장에서 아무런 의미 없는 커밋으로 잔디심기를 잔뜩 해 놓은 사람과 커밋 주기가 길더라도 의미 있는 기여를 한 사람 중 어느 쪽을 뽑을지를 생각해보면 된다.

분류