私は GitHub が大好きで、長年にわたって使用してきました。ただし、GitHub がコードの改訂に常に最適な選択であるとは限りません。いくつかのプライベート アプリを構築し始めたとき、代替案を検討することにし、最終的には独自のプライベート Git ベース サーバーを自己ホストすることにしました。
聞いてください、GitHub は素晴らしいです。これはオープン ソース プロジェクトにとって素晴らしいリソースであり、無料のオープン ソース ソフトウェアの優れたリポジトリでもあります。私は過去 15 年間の大部分を、さまざまな立場で GitHub を使用してきました。
Android ROM の構築から、ホームラボで使用する完全なオープン ソース プロジェクトのデプロイまで、GitHub は私の心の中で特別な場所を占めています。これはシンプルなプラットフォームであり、人々にソフトウェアを検索するための中心的な場所を提供し、Apple や Microsoft のような大企業であっても、コード修正やソフトウェアのオープンソース化に頼りになる存在となっています。
数年前、私が GitHub への貢献の大部分を行っていたとき、GitHub は実際にプライベート リポジトリに料金を請求していました。有料の GitHub プランを購入する主な理由の 1 つは、プライベート リポジトリを持てることです。 2019 年に、GitHub はその制限を解除し、無料ユーザーがプライベート リポジトリを作成できるようにしました。
GitHub が無料のプライベート リポジトリを提供していたことを知らなかった人にとって、これは大きな機能です。プロジェクトを処理するための GitHub のような大規模なサイトがあるのは素晴らしいことです。また、貢献者の追加も非常に簡単です。ただし、GitHub 上のプロジェクトは必ずしも「100% 非公開」であるわけではありません。
GitHub 自体は民間企業かもしれませんが、実際には Microsoft が所有しています。それは人によっては問題になるかもしれません。 GitHub に保存されているすべてのコードは、アップロード時に TLS 暗号化によって保護されますが、それ以上は暗号化されません。技術的には、GitHub とその親会社である Microsoft は、リポジトリが非公開としてマークされている場合でも、いつでもコードにアクセスできます。
これは多くの人にとって大きな問題ではないかもしれませんが、他の人にアクセスしてほしくないコードがある場合、他の人が (欲望または法的命令に基づいて) アクセスできるサーバーにコードを保存すると、問題が発生する可能性があります。私のコードの一部が GitHub に存在しないのはそのためです。
コードの最初から最後まで 100% の所有権を保持したいと考えて作成しているアプリは、GitHub に置くことを拒否します。そこでコードをホストするにはリスクが多すぎます。世界と共有したい公開コード?これは GitHub にあるので、喜んでみんなに見てもらえるように投稿します。

DevOps ワークフローにおける課題の 1 つは、セキュリティ上の理由から秘密にしておく必要があるシークレット、パスワード、トークンの管理です。
安全に保管したいコードは、自宅の自分のサーバー上に存在します。私はサーバー上の git インターフェイスとして GitLab を使用することを選択しましたが、それについてまったく後悔していません。 GitLab はホスト型プランとマネージド型プランを提供していますが、セルフホスト機能も提供しています。 GitLab には、問題追跡、CI/CD 機能、Webhook など、GitHub と同じ機能が多数あります。
GitLab を使用すると、技術的にはパブリック リポジトリをホストすることもできますが、プラットフォーム上の唯一のユーザーに対してすべてをプライベートに保つことにしました。サービスが自宅でホストされている場合、外部ネットワーク アクセスをブロックするか、Tailscale や Cloudflare トンネルなどを介してサービスを開くか、リバース プロキシの背後に置くかを選択できます。データの安全性を選択するのは私です。

GitLab は、多くの開発チームにとって真実の情報源です。ただし、GitLab データにアクセスするには、通常、Web ブラウザーへのコンテキストの切り替えや、面倒な API 操作が必要です。ターミナルから離れることなく DevOps プロセスを管理できる公式 CLI が登場しました。
また、暗号化キーを持ち、サーバーに物理的にアクセスできるのは私だけです。私がそこに保存するデータは私のものであり、私だけのものです。少し偏執的に聞こえるかもしれませんが、私が取り組んでいるプログラムの中には、他の人にソース コードを見られたくないものがあります。私は特定のプログラムの開発に多くの時間を費やしているので、それらを自分のものにしておきたいと思っています。
誰かが私がリリースしたアプリをリバース エンジニアリングしてソース コードを見つけてくれませんか?確かにそうだと思いますが、これには、誰かが非公開としてマークするのを忘れたリポジトリをただ見つけるよりもはるかに多くの調査と労力が必要です。あるいは、さらに悪いことに、オンライン アカウントが侵害されたために誰かが侵入した場合もあります。

雲は漏れるまでクールです。
私のプライベート リポジトリに関しては、他の誰かではなく、私自身がその安全性を管理したいと思っています。 GitHub は多くの人にとってうまく機能し、プライベート リポジトリは必要なことを正確に実行できます。
ただし、結局のところ、コードの安全性は GitHub アカウント (または GitHub 自体、さらには Microsoft 自体) と同程度であり、何かが侵害された場合にできることはほとんどありません。