Mozilla secara resmi memindahkan repositori kode sumber Firefox dari Mercurial ke GitHub, menandai perubahan signifikan dalam infrastruktur pengembangan browser tersebut. Transisi ini merupakan puncak dari proses yang dimulai pada November 2023, ketika Mozilla pertama kali mengumumkan rencana untuk bermigrasi dari alur kerja berbasis Mercurial yang telah lama digunakan ke Git.
Basis kode Firefox kini dapat ditemukan di github.com/mozilla-firefox/firefox, meskipun perlu dicatat bahwa perubahan ini terutama memengaruhi repositori kode itu sendiri. Mozilla akan terus menggunakan Bugzilla untuk pelacakan masalah, Phabricator untuk peninjauan kode, dan sistem Taskcluster mereka untuk integrasi berkelanjutan.
Mengapa Beralih ke Git dan GitHub?
Keputusan Mozilla untuk beralih ke Git dan GitHub mengatasi beberapa tantangan yang telah lama ada. Selama bertahun-tahun, kontributor menghadapi hambatan signifikan ketika bekerja dengan repositori Mercurial Mozilla. Proses kloning Mercurial terkenal lambat, sering kali membutuhkan waktu berjam-jam untuk diselesaikan, sedangkan alternatif Git bisa diselesaikan dalam hitungan menit. Perbedaan kinerja ini menciptakan hambatan yang signifikan bagi kontributor baru.
Saya mencoba berkontribusi beberapa tahun lalu. Kloning mercurial memakan waktu berjam-jam. Mereka sudah memiliki git tidak resmi, yang hanya membutuhkan 15 menit untuk dikloning.
Selain itu, Mozilla menghadapi tantangan yang semakin besar dalam memelihara infrastruktur kontrol versi mereka dalam skala besar. Server VCS perlu menangani kontributor dari seluruh dunia sambil mempertahankan ketersediaan tinggi dan keamanan. Masalah kinerja sangat problematik, dengan kontributor terkadang menunggu puluhan menit untuk mendapatkan kunci saat mendorong ke repositori seperti try (yang digunakan untuk menjalankan patch melalui CI).
Apa yang Berubah bagi Kontributor?
Bagi kontributor, manfaat paling langsung adalah kemampuan untuk menggunakan alur kerja Git standar tanpa memerlukan ekstensi seperti git-cinnabar, yang sebelumnya diperlukan untuk bekerja dengan repositori Mozilla. Ini menurunkan hambatan bagi pengembang yang sudah familiar dengan Git, yang mewakili mayoritas komunitas pengembangan saat ini.
Struktur repositori juga telah diperbarui agar selaras dengan konvensi Git standar. Cabang mozilla-central yang sebelumnya telah dipetakan ke main, dan autoland (tempat commit mendarat terlebih dahulu dan dikembalikan jika menyebabkan kegagalan tes) tetap sebagai cabang terpisah. Cabang autoland digabungkan ke main sekitar dua kali sehari ketika tes integrasi berkelanjutan berhasil.
Perubahan Utama dalam Struktur Repositori
- Sebelumnya "mozilla-central" → Sekarang cabang "main"
- Cabang "autoland" tetap dipertahankan (tempat commit mendarat pertama kali)
- Autoland bergabung ke main ~dua kali sehari ketika CI lolos
- Pull request dinonaktifkan (ditutup secara otomatis)
- Masalah tetap di Bugzilla
- Peninjauan kode tetap di Phabricator
- CI/CD tetap di Taskcluster Mozilla
Apa yang Tidak Berubah?
Meskipun pindah ke GitHub, Mozilla tidak mengadopsi seluruh rangkaian fitur GitHub. Pull request secara efektif dinonaktifkan melalui GitHub action yang secara otomatis menutupnya dengan pesan yang mengarahkan kontributor untuk menggunakan saluran kontribusi Mozilla yang telah ditetapkan. Masalah tetap berada di Bugzilla, dan peninjauan kode tetap melalui Phabricator.
Pendekatan ini memungkinkan Mozilla untuk mendapatkan manfaat dari kemampuan hosting kode GitHub yang kuat sambil mempertahankan alur kerja dan alat pengembangan mereka yang telah mapan. Keputusan untuk memisahkan sistem-sistem ini kemungkinan mencerminkan baik skala proses pengembangan Mozilla maupun persyaratan khusus pengembangan browser.
Detail Repositori Firefox
- Lokasi baru: github.com/mozilla-firefox/firefox
- Bintang: 1,6 ribu
- Fork: 93
- Kontributor: 6.073+
- Pembagian bahasa utama:
- JavaScript: 28,1%
- HTML: 22,0%
- C++: 10,5%
- Python: 2,9%
- Kotlin: 2,5%
- Lainnya: 5,5%
Reaksi Komunitas
Respons komunitas sebagian besar positif, dengan banyak pengembang menyambut baik berkurangnya hambatan untuk berkontribusi. Namun, beberapa telah mengungkapkan kekhawatiran tentang sentralisasi proyek open source di GitHub, platform yang dimiliki oleh Microsoft. Yang lain mempertanyakan mengapa Mozilla membuat organisasi baru (mozilla-firefox) daripada menggunakan kehadiran GitHub mereka yang sudah ada (github.com/mozilla).
Pilihan Mozilla terhadap GitHub dibandingkan alternatif yang dihosting sendiri seperti Forgejo atau Codeberg telah memicu beberapa perdebatan tentang pertukaran antara kenyamanan dan kontrol. Sementara hosting sendiri akan memberikan otonomi yang lebih besar, GitHub menawarkan visibilitas dan keakraban yang tak tertandingi bagi calon kontributor.
Perpindahan ke GitHub mewakili keputusan pragmatis untuk mengurangi hambatan kontribusi sambil mempertahankan proses pengembangan Mozilla yang telah mapan. Saat Firefox terus menghadapi tantangan di pasar browser, merampingkan proses kontribusi dapat membantu merevitalisasi keterlibatan komunitas dan memastikan keberlanjutan jangka panjang proyek.
Referensi: mozilla-firefox/firefox