Lewati ke konten utama
diskon 50% semua paket, waktu terbatas. Mulai dari $2.48/mo
12 min left
Developer Tools dan DevOps

Haruskah Anda Pindah dari GitHub? Kerangka Keputusan untuk Developer dan Tim Kecil

M Oleh Mir 12 menit baca
Code files branching along two paths, one into an AI model and one into private self-hosted server infrastructure, under the words Public Code, Private Choice

Pada 24 April 2026, kebijakan pelatihan model GitHub berubah untuk paket Copilot perorangan. GitHub kini dapat memakai interaksi dari Copilot Free, Pro, Pro+, dan Max, termasuk input, output, cuplikan kode, dan konteks terkait, untuk melatih dan meningkatkan model AI kecuali pengguna menolak. Data Copilot Business dan Enterprise tetap dilindungi Perjanjian Perlindungan Data GitHub. Yang penting, ini menyangkut data interaksi Copilot, bukan repositori privat yang sekadar tersimpan tanpa dipakai di GitHub.

Pada saat yang sama, argumen migrasi muncul lagi karena alasan berbeda: instans Git swakelola yang terbuka untuk publik menyerap lalu lintas otomatis yang berat. Sebuah diskusi Hacker News mengumpulkan sekumpulan laporan operator yang berguna tentang masalah itu: Akhir sebuah era bagi saya: tidak ada lagi git swakelola.

Maka tersisa pertanyaan yang lebih berguna daripada "GitHub atau swakelola?": masalah mana yang sebenarnya ingin Anda selesaikan?

Versi Singkat

Tiga jawaban. Pilih yang sesuai dengan situasi Anda.

  • A: Menolak dan tetap bertahan. Pilih ini bila perubahan pelatihan Copilot adalah satu-satunya kekhawatiran Anda dan GitHub masih cocok dengan kebutuhan operasional tim. Matikan pengaturan di tingkat akun lalu lanjutkan bekerja.
  • B: Jalankan model hibrida. Simpan OSS publik di GitHub demi efek jaringan. Pindahkan kode privat ke instans Forgejo, Gitea, atau GitLab CE swakelola di balik VPN atau daftar izin IP. Pilih ini bila jangkauan publik dan kendali privat sama-sama penting.
  • C: Migrasi penuh. Pindahkan semuanya dari GitHub. Pilih ini bila regulasi, residensi data, tata kelola, atau kebijakan khusus perangkat lunak bebas menutup pintu bagi GitHub, dan tim sanggup menanggung biaya operasionalnya.

Sebagian besar pembaca berada di posisi A atau B. Posisi C dibenarkan oleh tuntutan tata kelola, kedaulatan, atau nilai yang lebih ketat, bukan oleh pengaturan Copilot semata.

Apa yang Sebenarnya Berubah pada April 2026

Perubahan teknisnya kecil. Di pengaturan Copilot, pelanggan perorangan bisa menyetel "Allow GitHub to use my data for AI model training" ke Disabled. GitHub menggambarkan materi yang tercakup sebagai interaksi dengan fitur dan layanannya, termasuk input, output, cuplikan kode, dan konteks terkait, bukan isi repositori privat yang tidak pernah melewati Copilot.

Copilot Business dan Enterprise tidak menampilkan sakelar ini karena datanya dilindungi Perjanjian Perlindungan Data GitHub. Untuk paket perorangan, mematikan pengaturan itu menjawab kekhawatiran soal kebijakan pelatihan; tetapi tidak menyelesaikan keberatan yang lebih luas soal bergantung pada kebijakan yang dikendalikan vendor.

Perubahan Copilot bisa jadi pemicunya tanpa menjadi seluruh alasannya. Sebuah tim mungkin juga peduli pada ketergantungan platform, identitas yang terikat GitHub, alur kerja yang dibangun di sekitar Actions, residensi data, atau seberapa mudah nanti pindah lagi. Itu semua pertanyaan migrasi; sakelar pelatihan hanyalah satu pengaturan.

Perbedaan itu penting: menolak mengubah satu pengaturan penggunaan data, sedangkan bermigrasi mengubah siapa yang mengendalikan hosting, identitas, integrasi, dan kebijakan. Keputusan kedua membawa biaya operasional yang jauh lebih besar.

Tiga Posisi Dijelaskan

Three-panel diagram of the decision: Opt out and stay (Position A), where public code stays reachable by researchers, developers and AI systems; Hybrid (Position B), where a permission gate decides what reaches training use; and Full migration (Position C), where code sits on private infrastructure under your own operational control, arranged along a left-to-right visibility scale.

Keputusan diringkas dalam tiga baris. Rinciannya di bawah.

Kekhawatiran AndaJawabanApa yang Harus Dilakukan
Data interaksi Copilot saya dipakai untuk pelatihanMenolak dan tetap bertahan (Posisi A)Ubah pengaturannya, lalu kembali bekerja
Kode privat yang tidak ingin saya taruh di vendor AS + proyek open source aktif yang tidak ingin saya sembunyikanHibrida (Posisi B)Kelola sendiri repositori privat di balik VPN; simpan OSS publik di GitHub
Kedaulatan data, industri teregulasi, prinsip khusus perangkat lunak bebas, kemandirian penuh dari vendorMigrasi penuh (Posisi C)Pindahkan semuanya; anggarkan biaya operasionalnya

Posisi A: Menolak dan Tetap Bertahan

Kalau Anda developer solo atau tim kecil dengan repo privat dan satu-satunya keluhan Anda adalah setelan bawaan soal pelatihan, inilah jawabannya. Mengubah satu pengaturan: satu menit, sekali saja. Swakelola: tagihan VPS kecil, strategi cadangan yang benar-benar Anda uji, integrasi yang harus dibangun ulang karena mengandalkan autentikasi GitHub, dan sesekali pekerjaan upgrade atau pemulihan yang datang di saat paling tidak tepat.

Swakelola tetap bisa sepadan, tetapi hanya jika pekerjaan berulang itu membeli sesuatu yang benar-benar Anda butuhkan.

Bantahan terkuatnya: sakelar itu juga keputusan vendor. Pada 2026 GitHub berpindah dari tidak memakai data interaksi ini untuk pelatihan secara bawaan menjadi memakainya secara bawaan, dan mereka bisa mengubah kebijakan lagi.

Kalau kekhawatiran mendasar Anda adalah "saya tidak pernah mau vendor AS mengambil keputusan sepihak atas kode saya", tidak ada kotak centang yang menyelesaikannya, dan Posisi A adalah jawaban yang salah untuk Anda. Langsung saja ke Posisi C.

Tetapi kalau kekhawatiran Anda persisnya "saya tidak mau data interaksi Copilot saya saat ini dipakai untuk pelatihan", dan Anda akan mempercayai pengaturan GitHub sampai ada perubahan berikutnya, Posisi A adalah jawaban benar yang paling murah. Tidak ada yang memalukan dari solusi murah yang benar.

Posisi B: Jalankan Model Hibrida

Hosting hibrida memisahkan jangkauan publik dari kendali privat.

Pembagiannya sederhana. OSS publik tetap di GitHub: efek jaringan, aliran kontributor, Dependabot, dan ekosistem Actions adalah nilai yang nyata. Kode privat pindah ke instans swakelola di balik VPN atau daftar izin IP, yang tidak pernah bisa dijangkau dari internet publik.

Alasan ini berhasil terletak pada sifat model ancamannya. Kekhawatiran soal pelatihan Copilot hanya berlaku untuk data interaksi Copilot yang Anda kirim lewat GitHub. Masalah lalu lintas pengais AI (bagian berikutnya) hanya berlaku untuk instans yang bisa dijangkau publik. Susunan hibrida yang privat mengelak dari keduanya.

Untuk tim privat berisi 2 sampai 10 orang, 2 vCPU dan RAM 4 GB adalah titik awal yang lebih aman bagi Forgejo atau Gitea, dengan ruang lebih bila pengindeksan pencarian, paket, atau CI berbagi host yang sama. Anggap itu ukuran untuk Forgejo/Gitea, bukan untuk GitLab CE: tutorial instalasi satu node dari GitLab dimulai dari 8 vCPU dan memori 7,2 GB, sebelum beban CI dihitung.

Jangan biarkan antarmuka web terbuka di port 80 atau 443. Batasi di lapisan firewall, proxy, VPN, atau jaringan mesh. Runner CI bisa melayani kedua sisi.

Pilihan platform mengubah kumpulan fiturnya lebih banyak daripada model hibridanya sendiri. Forgejo dan Gitea cocok untuk forge privat yang lebih ringan; GitLab CE lebih masuk akal bila Anda juga butuh tumpukan CI/CD dan registry yang terpadu.

Pencadangan masih terkelola, tetapi jangan menyusutkannya menjadi sekadar git bundle. Panduan upgrade resmi Forgejo menganggap snapshot titik waktu yang tersinkron atas seluruh penyimpanan yang dipakai Forgejo sebagai cadangan yang andal, dan bila itu tidak praktis, sebuah Forgejo dump yang dipasangkan dengan dump PostgreSQL atau MySQL terpisah. Baik untuk Forgejo maupun Gitea, simpan repositori, basis data, konfigurasi, lampiran, dan data LFS bersama-sama, taruh satu salinan di luar server, dan uji pemulihannya.

Klon lokal seorang developer bisa memulihkan kode, tetapi bukan issue, pengguna, metadata pull request, lampiran, atau seluruh objek LFS. Kalau suatu fork privat nanti menjadi publik, dorong saja ke mirror GitHub pada saat itu.

Posisi C: Migrasi Penuh Ketika Kendali Adalah Sebuah Keharusan

Migrasi penuh paling jelas cocok ketika kemandirian dari vendor adalah keharusan, bukan sekadar preferensi.

Tiga kelompok menonjol: tim teregulasi dengan aturan audit, residensi, atau kendali vendor yang menutup pintu bagi GitHub; tim sektor publik atau Uni Eropa yang persyaratan kedaulatannya adalah kebijakan, bukan preferensi; dan organisasi khusus perangkat lunak bebas yang ingin lepas dari infrastruktur milik Microsoft dan sudah punya staf yang mampu mengoperasikan layanan Linux.

Biayanya adalah VPS kecil, pemeliharaan berkelanjutan, dan hilangnya integrasi. Hilangnya integrasi inilah bagian yang orang lupakan. Apa pun yang diautentikasi lewat "Sign in with GitHub" tetap berada di GitHub atau butuh penyedia identitas terpisah.

Rencanakan migrasi berdasarkan ketergantungan, bukan cuma repositori. Pratinjau PR, Actions pihak ketiga, bot, webhook, registry paket, dan integrasi "Sign in with GitHub" mungkin butuh kredensial baru, alur kerja baru, atau layanan pengganti. Bintang dan watcher tidak menjadi catatan asli di forge baru, jadi proyek publik juga melepas sebagian sinyal keterlihatannya yang sudah ada.

Lakukan uji coba sebelum mengganti remote kanonis: pindahkan satu repositori yang mewakili, bangun ulang integrasinya, uji riwayat issue dan pull request, lalu dokumentasikan jalur pembatalannya. Perbandingan platform datang setelah audit ketergantungan itu.

Bagi tim yang menginginkan tata kelola nirlaba tanpa harus mengurus server, Codeberg layak dipertimbangkan.

Tip soal kedaulatan data. Kalau Anda memilih swakelola karena alasan residensi data Uni Eropa, lokasi pusat data itu penting. Lokasi seperti Frankfurt atau Amsterdam adalah pilihan yang membosankan tapi benar. VPS termurah di Virginia tidak menolong DPA Anda.

Biaya Operasional Hosting Git Publik

Four-stage diagram of load on a public Git forge: normal developer activity versus automated scraping as request sources, efficient fetch versus repeated full history downloads, the resulting pressure on bandwidth, CPU, storage I/O and cache, and operational responses such as rate limiting, queueing, and abuse investigation.

Swakelola yang terbuka untuk publik memaparkan sebuah forge pada lalu lintas otomatis yang sama seperti yang menimpa aplikasi mana pun yang menghadap internet, hanya saja halaman repositori memuat jalur mahal seperti tampilan blame, arsip, dan riwayat commit. Laporan berikut adalah pengalaman masing-masing operator, bukan tolok ukur.

Dalam diskusi Git swakelola yang disebut tadi, seorang operator melaporkan 37.212.377 permintaan ke sebuah instans cgit selama 60 hari, dengan lebih dari 99% tergolong bot.

Dalam diskusi yang sama, kstrauser menuturkan berhasil menurunkan sebuah instans Forgejo dari sekitar 600.000 permintaan per hari menjadi kira-kira 1.000, tetapi baru setelah menumpuk tantangan JavaScript dan cookie di atas mitigasi standar.

Operator lain menyebut fail2ban, pemblokiran GeoIP, blackhole di tingkat autonomous system, dan memindahkan repositori kembali ke platform terkelola. Laporan-laporan ini menunjukkan kemungkinan bentuk kegagalan; bukan tolok ukur lalu lintas yang berlaku umum.

Alasan teknis mengapa ini sulit: pembatasan laju sederhana per IP bisa gagal menghadapi lalu lintas yang berputar lewat proxy residensial. Armada pengais dapat menyebar permintaan ke cukup banyak IP sehingga tidak ada satu alamat pun yang tampak menyalahgunakan, sementara servernya tetap kewalahan secara keseluruhan.

Tantangan JavaScript atau cookie bisa menekan pengaisan yang tidak canggih, tetapi juga bisa memblokir pengguna tanpa JavaScript dan mengganggu Git lewat HTTPS bila diterapkan ke semua jalur. Caching CDN membantu untuk pembacaan berulang; jauh kurang membantu untuk endpoint unik atau mahal seperti arsip, tampilan blame, dan halaman per commit.

Yang diubah oleh sebuah tantangan adalah sisi ekonominya. Anubis duduk di depan sebuah forge dan mengharuskan klien menyelesaikan sebuah tantangan, misalnya perhitungan proof-of-work kecil, sebelum server mengembalikan halaman yang dilindungi, sehingga perayapan bervolume tinggi jadi lebih mahal. Ini mitigasi, bukan jaminan.

Terapkan tantangan browser secara selektif. Biarkan SSH tetap tersedia untuk operasi Git, dan uji Git lewat HTTPS sebelum melindungi jalur itu; halaman tantangan yang dikembalikan ke klien Git berubah menjadi clone yang gagal, bukan langkah verifikasi yang berguna.

GitHub menyerap kelas lalu lintas ini sebagai bagian dari layanan yang mereka kelola. Instans Forgejo atau cgit publik menyerahkan perencanaan kapasitas, kontrol penyalahgunaan, caching, dan mitigasi kepada Anda. Pengalihan beban operasional itulah, bukan biaya perangkat lunaknya, bagian penting dari keputusan migrasi.

Inilah sebabnya model hibrida adalah pilihan kelas satu, bukan rencana cadangan. Kode privat di balik VPN: pengais tidak bisa menjangkaunya. OSS publik di GitHub: infrastruktur antipenyalahgunaan GitHub yang menangani lalu lintas bot.

Kalau Anda tetap menginginkan forge publik yang dikelola sendiri, anggarkan log, kontrol laju, caching, mitigasi bot, pemantauan, serta jalur lalu lintas Git yang sudah teruji dan tidak bergantung pada tantangan browser. Perlakukan pertahanan terhadap pengais sebagai bagian dari operasi normal, bukan kasus pinggiran.

Pertanyaan Efek Jaringan untuk Maintainer OSS

Di sini saya bicara kepada satu pembaca yang sangat spesifik: Anda memelihara sebuah proyek open source. Dua puluh kontributor, dua ratus bintang, dan pelacak issue yang aktif. Dan Anda sedang mempertimbangkan memindahkannya dari GitHub.

Jujurlah soal apa yang Anda tukarkan: keterlihatan bagi kontributor, tanda kepercayaan yang melekat pada github.com, Dependabot, CodeQL, dan ekosistem pihak ketiga yang bersandar pada autentikasi GitHub. Tidak ada yang mustahil dilakukan di tempat lain; semuanya cuma menjadi hambatan.

Patokan kasar yang saya tawarkan: kalau nilai proyek Anda sebagian besar ada pada kodenya, swakelola lebih gampang dibenarkan.

Kode ikut pindah. Tetapi kalau nilainya sangat bergantung pada kontributor, issue, keterlihatan di pencarian, dan kepercayaan yang melekat pada github.com, maka pergi berarti menukar sebagian hal yang membuat proyek itu jalan dengan hal yang membuat maintainer merasa lebih lega. Pertukaran yang sah bila alasan Anda cukup besar. Pertukaran yang buruk bila Anda melakukannya sekadar untuk membuat pernyataan.

Ikhtisar platform Codeberg menggambarkan layanan berbasis Forgejo yang dijalankan oleh lembaga nirlaba Codeberg e.V. Bagi maintainer OSS, itu berarti tata kelola komunitas tanpa beban pemeliharaan menjalankan forge sendiri.

Bagi tim yang berpihak pada open source dan menginginkan tata kelola komunitas tanpa kewajiban upgrade, itu adalah lompatan operasional yang lebih kecil dibanding menjalankan forge publik. SourceHut merupakan perubahan alur kerja yang jauh lebih disengaja dan perlu evaluasi tersendiri.

Lakukan Perubahan Terkecil yang Menyelesaikan Masalahnya

Sebelum mengganti remote, tuliskan kebutuhannya dalam satu kalimat: menghentikan pelatihan atas data interaksi Copilot, memisahkan hosting publik dan privat, atau mengeluarkan GitHub dari arsitektur. Kalau Anda tidak bisa menyebut kebutuhannya, jangan bermigrasi dulu.

Untuk migrasi, jadikan satu repositori yang mewakili sebagai pilot lebih dulu. Inventarisasi autentikasi, Actions, webhook, penerbitan paket, lingkungan pratinjau, riwayat issue, data LFS, dan langkah pembatalan sebelum mengganti remote kanonis.

Milik Cloudzy penerapan Forgejo sekali klik adalah cara cepat menyiapkan sisi privat dari model hibrida; pemasangan manual di Linux VPS juga bisa. Rute mana pun yang Anda pilih, jaga antarmuka web tetap privat, cadangkan keseluruhan state aplikasi, dan uji pemulihannya sebelum memindahkan repositori penting.

Lihat Paket Linux

Bangun di VPS Linux dengan akses root, NVMe, dan tenaga AMD EPYC.

Lihat Paket Linux

Kendali baru berguna kalau ia menyelesaikan kebutuhan itu dengan biaya operasional yang sanggup ditanggung tim Anda.

Pertanyaan yang Sering Diajukan

Haruskah saya pindah dari GitHub karena perubahan pelatihan Copilot?

Tidak otomatis. Kalau satu-satunya kekhawatiran Anda adalah data interaksi Copilot dipakai untuk melatih model, mematikan pengaturan di tingkat akun adalah perbaikan benar yang paling kecil. Migrasi baru masuk akal bila Anda juga butuh kendali yang lebih ketat soal residensi data, tata kelola, kemandirian dari vendor, atau kebijakan khusus perangkat lunak bebas.

Apakah GitHub melatih model dengan semua repositori privat saya?

Tidak. Perubahan kebijakan yang dibahas di sini mencakup data interaksi Copilot yang memenuhi syarat, termasuk input, output, cuplikan kode, dan konteks terkait yang dikirim lewat Copilot. Itu tidak berarti setiap repositori privat yang tersimpan di GitHub otomatis dipakai untuk melatih model.

Apakah swakelola Git selalu lebih privat?

Hanya kalau Anda mengelolanya seperti itu. Forge privat di balik VPN atau daftar izin IP bisa mengurangi paparan, tetapi instans yang bisa dijangkau publik menambah tanggung jawab penambalan, pemantauan, mitigasi bot, kontrol akses, dan pencadangan yang biasanya diserap GitHub.

Platform Git swakelola mana yang sebaiknya saya pilih?

Pilih Forgejo atau Gitea kalau Anda ingin forge privat yang lebih ringan. Pilih GitLab CE bila CI/CD terpadu serta registry paket atau kontainer cukup penting untuk membenarkan kebutuhan sumber daya dan pemeliharaannya yang lebih tinggi.

Berapa ukuran VPS yang dibutuhkan Forgejo atau Gitea untuk tim kecil?

Untuk tim privat berisi dua sampai sepuluh orang, 2 vCPU dan RAM 4 GB adalah titik awal yang lebih aman. Tambahkan kapasitas bila pengindeksan pencarian, paket, repositori besar, atau runner CI berbagi host. Hitung ukuran GitLab CE secara terpisah karena ia butuh sumber daya lebih besar.

Apa yang harus saya uji sebelum mengganti remote kanonis?

Lakukan pilot dengan satu repositori yang mewakili. Verifikasi riwayat issue dan pull request, autentikasi, Actions atau alur CI penggantinya, webhook, penerbitan paket, data LFS, lingkungan pratinjau, cadangan, pemulihan, dan jalur pembatalan sebelum memindahkan semuanya.

Bagikan

Lebih banyak dari blog

Lanjutkan membaca.

Siap deploy? Mulai $2,48/bln.

Cloud independen, sejak 2008. AMD EPYC, NVMe, 40 Gbps. Garansi uang kembali 14 hari.