GitHub(ギットハブ)は、ソフトウェア開発のプラットフォームであり、開発者がソースコードを保存、管理、共有できるようにするプロプライエタリな開発者向けプラットフォームである。Gitを使用して分散型バージョン管理を提供し、GitHub自体もアクセス制御、バグ追跡、ソフトウェア機能のリクエスト、タスク管理、継続的インテグレーション(CI)、およびすべてのプロジェクトに対するウィキを提供している。

GitHubはRuby on RailsおよびErlangで記述されており、2018年よりマイクロソフトの子会社であるGitHub, Inc.によって運営されている。本社はサンフランシスコにある。 一般的に、オープンソースソフトウェア開発プロジェクトのホストとして使用されている。主な開発者はクリス・ワンストラス、P.J.ハイエット、である。

2009年のユーザー調査によると、GitHubは最もポピュラーなGitホスティングサイトとなった。2018年より、運営会社のGitHub, Inc.はマイクロソフト傘下となっている。2019年1月より、プライベートリポジトリを無料で提供するようになった。2023年1月現在、GitHubは1億人を超える開発者と4億2000万以上のリポジトリ(少なくとも2800万のパブリックリポジトリを含む)を擁していると報告されている。2023年6月時点で、世界最大のソースコードホストである。2024年には、5億以上のオープンソースプロジェクトに対して、50億を超える開発者の貢献(コントリビューション)が行われた。

概要 GitHubにソースコードをホスティングすることで複数人のソフトウェア開発者と協働してコードをレビューしたり、プロジェクトを管理しつつ開発を行うことができる。

このサイトはSNS機能をもち、feeds、followersとして提供されている。ネットワークグラフとして開発者は自身のソースコードのバージョンのリポジトリを視覚的に把握できるようにしている。

GitHubはGist(ギスト)と呼ばれるPastebinスタイルのサイトも運営している。それらのコンテンツは、具体的には個々のリポジトリのためのウィキおよびウェブページでありGitリポジトリを通して編集される。

ソフトウェア開発者向けのウェブプラットフォームであるが、ファイルのアップローダーやソーシャル・ネットワーキング・サービスとみなし、民間企業や教育機関がアクセスを制限する例もあるGitHubへのアクセスをブロックする企業や学校が増加 - 財経新聞。

歴史 GitHubプラットフォームの開発は2007年10月19日に開始された。数ヶ月のベータ版公開を経て、2008年4月に、クリス・ワンストラス、P. J. ハイエット、スコット・チャコンによって正式に立ち上げられた。

GitHubサービスは、クリス・ワンストラス、P. J. ハイエット、、スコット・チャコンによってRuby on Railsを使用して開発され、2008年2月に開始された。運営会社のGitHub, Inc.は2007年に設立され、サンフランシスコに拠点を置いている。

2009年2月24日、GitHubはオンライン化から最初の1年間で4万6000以上のパブリックリポジトリが蓄積され、そのうち1万7000が前月に作成されたものであると発表した。当時、約6200のリポジトリが少なくとも1回はフォークされ、4600がマージされていた。

GitHubによると、同年、サイトの利用者は10万人を超え、独自のパブリックリポジトリ数は9万に達し、少なくとも1回フォークされたものは1万2000、リポジトリ総数は13万5000に達した。

2010年には、GitHubは100万のリポジトリをホストしていた。1年後、この数は倍増した。ReadWriteWebは、2011年1月から5月までの期間において、GitHubの総コミット数がSourceForgeとGoogle Codeを上回ったと報じた。2013年1月16日、GitHubはユーザー数300万人を突破し、当時500万以上のリポジトリをホストしていた。その年の終わりまでにリポジトリ数は2倍になり、1000万リポジトリに達した。

2015年、GitHubは米国以外で初となるオフィスを日本に開設した。

2018年2月28日、GitHubは史上3番目に大規模なDDoS攻撃の被害に遭い、流入トラフィックはピーク時に毎秒約1.35テラビットに達した。

2018年6月19日、GitHubはGitHub Educationを拡大し、すべての学校に無料の教育バンドルを提供した。

2018年6月4日、マイクロソフトはGitHubを75億米ドルで買収する意向を発表した。買収は2018年10月26日に完了した。

2019年6月11日、元Bitnamiの最高執行責任者(COO)で共同設立者のエリカ・ブレシアがGitHubのCOOに就任することが発表された。

2021年11月3日、GitHubは、マイクロソフトによる買収時にCEOに就任したナット・フリードマンがCEOを辞任し、GitHubの最高製品責任者であるトーマス・ドムケが11月15日付けでCEOに就任すると発表した。

2025年6月、GitHub上のリポジトリ数は10億を超えた。注目すべきことに、10億番目のリポジトリには「shit」という単語だけが含まれていた。

2025年8月11日、トーマス・ドムケは、起業家としての活動を追求するために、2025年末でCEOを辞任すると発表した。マイクロソフトは、直接の後任を探す意向をすぐには示さなかった。

マイクロソフトによる買収

2012年以降、マイクロソフトはGitHubの重要なユーザーとなり、.NET Core、Chakra Core、MSBuild、PowerShell、PowerToys、Visual Studio Code、Windows Calculator、Windows Terminalなどのオープンソースプロジェクトや開発ツール、および製品ドキュメントの大部分(現在はMicrosoft Docsにある)のホストに使用している。

2018年6月4日、マイクロソフトはGitHubを75億米ドルで買収する意向を発表した。買収は2018年10月26日に完了した。GitHubは、コミュニティ、プラットフォーム、およびビジネスとして独立した運営を継続した。マイクロソフトの下で、サービスはXamarinのナット・フリードマンによって主導され、マイクロソフトのクラウドおよびAI担当エグゼクティブバイスプレジデントであるスコット・ガスリーに報告する体制となった。

JavaScriptのトレーナーで作家のカイル・シンプソンや、Open-XchangeのCEOであるラファエル・ラグーナなどの開発者からは、Skypeやノキアの携帯電話事業など、マイクロソフトによる過去の買収の扱いに対する不安を理由に、この買収に対する懸念が表明された。

この買収は、CEOサティア・ナデラの下でのマイクロソフトのビジネス戦略に沿ったものであり、クラウドコンピューティングサービスへの注力とともに、オープンソースソフトウェアの開発と貢献が重視されていた。『ハーバード・ビジネス・レビュー』は、マイクロソフトがGitHubを買収した目的は、そのユーザーベースにアクセスし、それをおとり商品(ロスリーダー)として使用して、自社の他の開発製品やサービスの利用を促進することにあると論じた。

売却に対する懸念は競合他社への関心を高めた。Bitbucket(アトラシアン所有)、SourceForge(Slashdot所有)、GitLabは、プロジェクトをGitHubからそれぞれのサービスに移行しようとする新規ユーザーの急増が見られたと報告した。

2019年9月、GitHubはコード分析ツールのSemmleを買収した。2020年2月、GitHubはGitHub India Private Limitedという名称でインドに進出した。2020年3月、GitHubはJavaScriptパッケージングベンダーであるnpmを非公開の金額で買収すると発表した。取引は2020年4月15日に完了した。

2020年7月初旬、オープンソースコードを永久に保存するためのGitHub Archive Programが設立された。

組織 GitHubは当初、中間管理職を置かず、自主管理に依存するフラット組織であった。従業員は興味のあるプロジェクトを選んで取り組むことができたが(オープンアロケーション)、給与はCEOが決定していた。

2014年、共同設立者であり当時のCEOであったトム・プレストン=ワーナーとその妻テレサに対するハラスメント疑惑を受け、中間管理職の層が追加された。このスキャンダルの結果、プレストン=ワーナーはCEOを辞任した。共同設立者で製品責任者のクリス・ワンストラスがCEOに就任した。当時、法務顧問兼最高管理責任者であったフリオ・アバロスが、GitHubの事業運営と日常業務の管理を引き継いだ。

財務 GitHubは当初、ブートストラップ型のスタートアップ企業であり、最初の数年間は3人の創業者による資金提供のみで従業員を雇用できる十分な収益を上げていた。

設立から4年後の2012年7月、アンドリーセン・ホロウィッツが1億ドルのベンチャーキャピタル投資を行い、評価額は7億5000万ドルとなった。

2015年7月、GitHubはシリーズBラウンドでさらに2億5000万ドルのベンチャーキャピタルを調達した。リードインベスターはセコイア・キャピタルで、アンドリーセン・ホロウィッツ、Thrive Capital、IVP(Institutional Venture Partners)などのベンチャーキャピタルファンドも参加した。この時点で、企業の評価額は約20億ドルとなった。

2023年時点で、GitHubは年間10億ドルの収益を生み出していると推定されている。

マスコット GitHubのマスコットはMona(モナ)であり、5本のタコのような腕を持つ擬人化された「オクトキャット(Octocat)」である。このキャラクターは、グラフィックデザイナーのサイモン・オクスリーがiStockで販売するためにクリップアートとして作成したものである。iStockはデザイナーがロイヤリティフリーのデジタル画像を販売できるウェブサイトである。GitHubが選んだイラストは、オクスリーがOctopussと名付けたキャラクターであった。GitHubはこのキャラクターをロゴに使用したいと考えたが(iStockのライセンスでは許可されていない使用法)、オクスリーと交渉して画像の独占的権利を購入した。

GitHubはOctopussをOctocatに改名し、新しい名前とともにキャラクターを商標登録した。その後、GitHubはイラストレーターのCameron McEfeeを雇い、ウェブサイトや販促資料のさまざまな目的に合わせてOctocatを適応させた。McEfeeとさまざまなGitHubユーザーはそれ以来、何百ものキャラクターのバリエーションを作成しており、それらはThe Octodexで公開されている。

サービス

GitHubの主な目的は、ソフトウェア開発のバージョン管理と課題追跡(イシュートラッキング)の側面を容易にすることである。課題追跡には、ラベル、マイルストーン、責任の割り当て、検索エンジンが利用できる。バージョン管理では、Git(そして拡張としてGitHub)により、ソースコードへの変更を提案するためのプルリクエストが可能になる。提案された変更をレビューできるユーザーは、要求された変更の差分(diff)を確認し、承認することができる。Gitの用語では、このアクションは「コミット」と呼ばれ、その1つのインスタンスは「コミット」と呼ばれる。すべてのコミットの履歴は保持され、後で閲覧することができる。

GitHub上のプロジェクトは、標準的なGitコマンドラインインターフェース(CLI)を使用してアクセスおよび管理でき、すべての標準的なGitコマンドが機能する。また、Webブラウザ上でのリポジトリ閲覧、公式のデスクトップクライアント、各種Gitプラグインを通じた利用も可能である。2019年以降、モバイルアプリ(iOS/Android)も提供されており、外出先でのコードレビューやトリアージが可能となっている。 サイト自体は、フィード、フォロワー、Wiki(Gollumと呼ばれるウィキソフトウェアを使用)、ソーシャルネットワークグラフ(フォークやブランチの派生関係を可視化)など、ソーシャルネットワーキングサービス(SNS)のような機能を備えており、開発者間のコラボレーションを促進している。

GitHubの利用規約では、GitHubでホストされるパブリックソフトウェアプロジェクトがオープンソースの定義を満たすことは義務付けられていない。利用規約には、「リポジトリを公開して閲覧できるように設定することで、他のユーザーがリポジトリを閲覧およびフォークすることを許可することに同意したものとみなされる」と記載されている。

アカウントとリポジトリ 誰でもパブリックリポジトリを閲覧・ダウンロードできるが、貢献(コミット、Issue作成等)を行うにはアカウント登録が必要である。 アカウントを使用すると、ディスカッションを行ったり、リポジトリを管理したり、他のユーザーのリポジトリに貢献を送信したり、コードレビューが可能である。

以前はプライベートリポジトリは有料であったが、2019年以降段階的に無料化され、2020年4月からはチーム機能を含む主要な機能が無料アカウントでも無制限のコラボレーター数で利用可能となった。 GitHubを支える基本的なソフトウェアは、Linuxの生みの親であるリーナス・トーバルズによって書かれたGitそのものである。GitHubのユーザーインターフェースを提供する追加のソフトウェアは、GitHub, Inc.の開発者であるワンストラス、ハイエット、プレストン=ワーナーによって、Ruby on RailsとErlangを使用して記述された。

バージョン管理とコラボレーション IssueとPull Request: バグ追跡や機能要望を管理する「Issue」と、コードの変更を提案・レビューする「Pull Request」が開発の中心となる。ラベル、マイルストーン、アサイン機能によりタスク管理が可能。 Wiki: リポジトリごとにドキュメントを作成できる(内部ではGollumを使用)。一部のリポジトリはウィキコンテンツのみで構成されている。これらには、「Awesome lists」として知られるようになった推奨ソフトウェアのキュレーションリストが含まれる。 Discussions: コードに限らない広範な議論を行うためのフォーラム機能。 メンション: (@メンション)して通知を購読させるオプション ファイルプレビュー: Markdownの自動レンダリングに加え、3Dモデル(STL)、地理空間データ、PSDファイル、PDFなどのプレビュー、およびWebベースの動画再生をサポートする。 ドキュメンテーション - さまざまなMarkdown風のファイル形式で自動的にレンダリングされるREADMEファイルが含まれる。

開発環境と自動化

GitHub Codespaces クラウド上で動作する完全な開発環境(VS CodeベースのIDE)を提供し、ブラウザのみで開発・ビルド・テストが可能。

GitHub Actions GitHub ActionsはGitHubが提供するCI/CDサービスである。

pull_requestイベント GitHub ActionsはPull Requestに応じたCIトリガー(pull_request)を提供している。このトリガーはGITHUB_REF引数としてrefs/pull/:prNumber/merge/

すなわちpull requestを自動マージしたブランチへの参照を提供する。Pull Requestに応じてactions/checkout@v2などでこのrefをチェックアウトすれば、Pull Requestをマージした状態に対してCIテストを走らせることが可能になる"Checkout pull request HEAD commit instead of merge commit" Checkout V2 - actions。

GitHub Actionsは2019年11月13日に正式に開始された。2018年10月のGitHub Universeでワークフローを自動化する方法として最初に発表されたが、完全な一般提供(GA)リリースは1年後の2019年に行われた。GitHub Actionsにより、サードパーティのウェブサイトやプラットフォームを使用せずに、ソフトウェアのテスト、リリース、デプロイのための継続的インテグレーションおよび継続的デプロイパイプラインを構築できる。他の多くのCI/CDツールとは異なり、GitHub Actionsはマーケットプレイスとともに立ち上げられ、開発者は事前に構築されたアクション(テスト、リンティング、デプロイなど)を共有および再利用できる。GitHubは、サードパーティのサービスへの依存を減らし、開発者をGitHubエコシステム内に留めておきたいと考えていた。GitHub Actionsは、動的にスケーリングできるホストされたランナー(Linux、Windows、macOS)を提供し、自己管理のビルドサーバーを不要にした。

GitHub Pages ブログ、プロジェクトドキュメント、および書籍など、静的ウェブページのホスティング機能。すべてのGitHub Pagesコンテンツは、Gitリポジトリに保存され、そのまま訪問者に提供されるか、Markdown形式で提供される。Jekyllと統合されており、Markdownファイルからブログやドキュメントサイトを自動生成・公開できる。GitHubの他の部分と同様に、無料および有料のサービス層が含まれている。このサービスを通じて生成されたウェブサイトは、github.ioドメインのサブドメインとしてホストされるか、サードパーティのドメイン名レジストラを通じて購入したカスタムドメイン名に接続することができる。GitHub PagesはHTTPS暗号化をサポートしているAll GitHub Pages sites, including sites correctly configured with a custom domain, support HTTPS and HTTPS enforcement.Custom domains on GitHub Pages gain support for HTTPS.。

GitHub Mobile 2019年、GitHubはiOSとAndroidの両方向けのネイティブモバイルアプリケーションを正式にリリースした。この発表はGitHub Universe 2019で行われ、アプリは最初にiOS向けにベータ版がリリースされ、その後Androidベータ版がリリースされ、2020年初頭に完全な一般公開が行われた。

セキュリティと品質管理

ブランチ保護 GitHubは直接コミット禁止によるブランチの保護(保護されたブランチ/protected branches)を提供している。

GitHubにホストされたリモートリポジトリはgit pushにより更新できるが、これを許容すると意図しないバグによりpushを受けたブランチが壊れるリスクがある。GitHubは「指定ブランチへの直接コミット禁止 + チェック通過Pull Requestを介したmerge/rebase許可」という機能を提供することで、ブランチに問題のあるコミットが混入しないことを可能にしている"Protected branches ensure that collaborators on your repository cannot make irrevocable changes to branches. Enabling protected branches also allows you to enable other optional checks and requirements, like required status checks and required reviews." GitHub docs。

ステータスチェック GitHubはPull Requestのステータスチェックに基づいたmerge許可/拒否機能(必須ステータスチェック/required status checks)を提供している。保護されたブランチにステータスチェックを適用した場合、ステータスがGreenの場合のみPull Request取り込みが許可される。テスト結果をステータス(Red/Green)とすることでテストを通過したPull Requestのみがブランチへマージされるように設定できる(c.f. 継続的インテグレーション)。 サムネイル|Pull Requestに対するステータスチェック マージ後にテストが走る形のCIを行った場合、一時的であれそのブランチが壊れた状態になるリスクがある。ステータスチェックを利用することで、ブランチが常に利用可能となり、かつ壊れたブランチに基づいたフォークが生じる可能性を0にできる。

GitHubはAPIとしてstatus APIとChecks APIを提供しており、status APIによるRed/Greenの提示とChecks APIによるCI結果の詳細な提示をサポートしている。

脆弱性アラート GitHub に組み込まれている Dependabotは、依存パッケージに既知の脆弱性(CVE)が見つかった場合、自動的にセキュリティアラートを発し、修正版への更新を促す。

関連サービスとエコシステム

GitHub Enterprise GitHub Enterpriseは、企業向けの、同様の機能を備えたGitHubのセルフマネージドバージョンであり、高度な監査ログやSSOなどが提供される。組織のハードウェアまたはクラウドプロバイダー上で実行でき、2011年11月から利用可能になっているIntroducing GitHub Enterprise GitHub。

2020年11月、youtube-dlのDMCA削除に対する抗議と見られる動きの中で、GitHub Enterprise Serverのソースコードがオンラインに流出した。GitHubによると、ソースコードはGitHubへの攻撃によるものではなく、GitHubが誤ってEnterpriseの顧客自身とコードを共有してしまったことによるものである。

Gist コードスニペット(断片)を共有するためのPastebin系サービス。Gistは、コードスニペットのバージョン管理、簡単なフォーク、プライベートなペーストのためのTLS暗号化を追加することで、従来の単純なPastebinの概念に基づいている。各「gist」はそれ自体がGitリポジトリであるため、複数のコードスニペットを単一のページに含めることができ、Gitを使用してプッシュおよびプルすることができる。

GistのURLには16進数のIDが使用されており、Gistへの編集はリビジョン履歴に記録される。リビジョン履歴では、ページごとに30のリビジョンのテキストの差分を表示でき、「分割」ビューと「統合」ビューのオプションがある。リポジトリと同様に、Gistはフォークしたり、「スター」を付けたり(つまり、公にブックマークしたり)、コメントしたりできる。リビジョン、スター、フォークの数はGistページに表示される。

2008年のRubyカンファレンスで、トム・プレストン=ワーナーがこの機能を初めて披露した。

GitHub Marketplace GitHub Marketplaceは、CIツール、プロジェクト管理、コード品質分析などのサードパーティ製ツールやGitHub Actionsを検索・導入できるストア。 Rollbar:リアルタイムのデバッグツールとフルスタックの例外レポートを提供する。 Travis CI:継続的インテグレーションサービス。 GitLocalize:プロジェクトの翻訳と国際化を管理するユーティリティを提供する。

GitHub Sponsors GitHub Sponsorsは、ユーザーがGitHubでホストされているプロジェクトに毎月寄付を行うことができる仕組みである。The Vergeは、GitHub Sponsorsは「Patreonとまったく同じように機能する」と述べている。なぜなら、「開発者はさまざまな特典が付いたさまざまな資金調達層を提供でき、それらにアクセスして彼らの仕事を奨励したいサポーターから定期的な支払いを受け取る」ことができるが、「プログラムの使用料はゼロ」である点が異なるからである。支払い処理費用を負担し、開発者1人あたり最大5,000ドルのスポンサーシップ支払いをマッチングすることを約束している。さらに、ユーザーはPatreonやOpen Collectiveなどの同様のサービスを引き続き使用し、自分のWebサイトにリンクすることができる。

教育支援

GitHub Student Developer Pack GitHub Student Developer Packは、学生に対し、GitHubの有料プラン機能や、提携パートナー(DigitalOcean、Stripe、Namecheap、JetBrainsなど多数)のツール・サービスを無料で提供するプログラムである。

GitHub Campus Experts GitHub Campus Expertsは、学生が大学で技術コミュニティを成長させるようトレーニングし、奨励するためのプログラムである。Campus Expertsは、世界中の18歳以上の大学生が参加できる。GitHub Campus Expertsは、GitHubが学生向けイベントやコミュニティに資金を提供する主要な方法の1つであり、Campus Expertsには、イベントを開催し、コミュニティを成長させるためのトレーニング、資金、および追加のリソースへのアクセスが提供される。Campus Expertになるには、応募者はコミュニティリーダーシップスキルを開発するための複数のモジュールを備えたオンライントレーニングコースを完了する必要がある。

GitHub Copilot

GitHub Copilotは、最初に広く採用されたAI支援ソフトウェア開発ツールの1つであった。プレビュー版は2021年にVSCodeユーザー向けに公開され、OpenAIのCodexモデルに基づいていた。

GitHub Copilotは現在、GitHub.com上で直接、コマンドライン、およびいくつかのIDEで使用可能である。ユーザーは一部の機能について、さまざまなLLMから選択できる。

2025年9月現在、Copilot機能をブロックするよう求めるユーザーのリクエストは、過去12か月間でGitHubの組織コミュニティページで最も人気のあるトピックの1位と2位になっている。これらのトピックは未回答のままである。一部のユーザーやプロジェクトは、Codebergなどのオープンソースの代替手段に移行している。

GitHub Archive Program 2020年7月、GitHubは2月のサイトのアーカイブを、スヴァールバル世界種子貯蔵庫からほど近い、ノルウェーのスヴァールバル諸島にある廃坑になった鉱山内にあるArctic World Archiveに保存した。アーカイブには、すべてのアクティブなパブリックリポジトリのコードと、休止状態だが重要なパブリックリポジトリのコードが含まれていた。21TBのデータは、piqlFilmアーカイブフィルムリールにマトリックス(2D)バーコードとして保存され、500年から1,000年持続すると予想されている。