Modül 4 · Modül 4 — Domain 4: Access & Permissions · ⏱ 10-15 dakika

Private vs Internal vs Public Politikaları

Private vs Internal vs Public Policies

Bu derste neler öğreneceksin

  • Repository görünürlük tiplerini karşılaştırmak
  • Internal repo'ların Enterprise'a özgü avantajını açıklamak
  • Görünürlük politikalarını enterprise ve org düzeyinde yapılandırmayı bilmek

GitHub’da repository görünürlüğü üç seçenekle yönetilir: public, private ve internal. GH-100, özellikle enterprise ortamlarda iç açık kaynak (innersource) için tasarlanan internal görünürlük tipini sıkça sınar.

Görünürlük Tipleri

TipKimler görebilir?Enterprise gerekli mi?
PublicHerkes (GitHub hesabı olmayan bile)Hayır
PrivateYalnızca davet edilenlerHayır
InternalTüm enterprise üyeleriEvet (GHEC veya GHES)

Internal repo’lar, “innersource” modelini destekler: bir şirketteki tüm çalışanlar kodu görebilir ve fork edebilir (enterprise içinde), ancak dışarıya kapalıdır.

Internal Repo’nun Avantajları

  1. Innersource: Farklı ekiplerin birbirinin kodunu okuyup katkıda bulunmasına izin verir
  2. Fork edilebilir: Enterprise üyeleri internal repo’yu enterprise scope’u içinde fork edebilir
  3. Dış erişim yok: Public gibi görünmez, dışarıdan erişilemez

Sınav sorusu: “Farklı organizasyonlardaki mühendisler birbirinin kodunu okuyabilsin, ancak dışarıya kapalı kalsın. Ne kullanılmalı?” — Yanıt: Internal repositories

Enterprise Düzeyinde Görünürlük Politikası

Enterprise admin şu kısıtlamaları uygulayabilir:

Enterprise → Policies → Repositories
→ "Default repository visibility": Private / Internal / Public
→ "Allow forking of private repositories": Enable/Disable
→ "Allow members to change repository visibility": Enable/Disable

Bu politikalar tüm organizasyonlara uygulanır.

Repository Görünürlüğünü Değiştirme Riski

Bir repo’nun görünürlüğünü değiştirmek geri alınamaz etkilere yol açabilir:

  • Private → Public: Tüm içerik kamuya açılır (commit geçmişi dahil)
  • Public → Private: Fork’lar silinmez ama yeni fork alınamaz
  • Internal → Public: Enterprise dışına çıkar

Bu yüzden enterprise admin, görünürlük değişikliğini restrict edebilir (yalnızca org owner’lar değiştirebilir).