Kebijakan kontribusi

Halaman ini mencakup kebijakan tata kelola dan kebijakan kontribusi Bazel.

Model tata kelola

Project Bazel dipimpin dan dikelola oleh Google dan memiliki komunitas kontributor besar di luar Google. Beberapa komponen Bazel (seperti repositori aturan spesifik pada organisasi bazelbuild) dikelola, dikelola, dan dikelola oleh anggota komunitas. Tim Google Bazel meninjau saran untuk menambahkan repositori milik komunitas (seperti aturan) ke organisasi GitHub bazelbuild.

Peran kontributor

Berikut adalah kerangka peran dalam project Bazel, termasuk tanggung jawabnya:

  • Pemilik: Tim Google Bazel. Pemilik bertanggung jawab atas:
    • Strategi, pemeliharaan, dan kepemimpinan project Bazel.
    • Membuat dan mengelola fungsi inti Bazel.
    • Menyetujui Pengelola dan menyetujui repositori baru.
  • Pengelola: Tim Google Bazel dan pengguna GitHub yang ditunjuk. Pengelola bertanggung jawab untuk:
    • Membuat dan mengelola fungsi utama repositorinya.
    • Meninjau dan menyetujui kontribusi area kode dasar Bazel.
    • Mendukung pengguna dan kontributor dengan pengelolaan masalah, peninjauan, dan dokumentasi masalah yang tepat waktu dan transparan.
    • Merilis, menguji, dan berkolaborasi dengan Pemilik Bazel.
  • Kontributor: Semua pengguna yang menyumbangkan kode atau dokumentasi ke project Bazel.
    • Membuat permintaan pull yang ditulis dengan baik untuk berkontribusi pada codebase dan dokumentasi Bazel.
    • Menggunakan saluran standar, seperti Masalah GitHub, untuk mengusulkan perubahan dan melaporkan masalah.

Menjadi Pengelola

Pemilik Bazel dapat menunjuk Pengelola untuk memimpin area kode yang ditentukan dengan baik, seperti kumpulan aturan. Kontributor dengan kontribusi yang konsisten dan bertanggung jawab di masa lalu yang merencanakan kontribusi besar di masa mendatang dapat dianggap sebagai Pengelola yang memenuhi syarat.

Kebijakan kontribusi

Project Bazel menerima kontribusi dari kontributor eksternal. Berikut adalah kebijakan kontribusi untuk area kode yang dikelola Google dan dikelola Komunitas.

  • Pemberian (hak) lisensi. Semua Pengelola dan Kontributor harus menandatangani Perjanjian Lisensi Kontributor Google.
  • Kontribusi. Pemilik dan Pengelola harus berusaha semaksimal mungkin untuk menerima kontribusi yang bermanfaat. Semua kontribusi harus:
    • Ditulis dengan baik dan diuji dengan baik
    • Dibahas dan disetujui oleh Pengurus area kode yang relevan. Diskusi dan persetujuan terjadi di GitHub GitHub dan di GitHub PR. Kontribusi yang lebih besar memerlukan peninjauan desain.
    • Ditambahkan ke sistem Continuous Integration Bazel jika belum ada.
    • Dapat didukung dan diselaraskan dengan arahan produk Bazel
  • Peninjauan kode. Semua perubahan di semua repositori bazelbuild memerlukan peninjauan:
    • Semua permintaan pull harus disetujui oleh Pemilik atau Pengelola.
    • Hanya Pemilik dan Pengelola yang dapat menggabungkan PR.
  • Kompatibilitas. Pemilik mungkin perlu menolak atau meminta perubahan pada permintaan pull jika perubahan tidak mungkin terjadi, dan memerlukan modifikasi substansial pada sistem internal Google.
  • Dokumentasi. Jika relevan, kontribusi fitur harus menyertakan pembaruan dokumentasi.

Untuk mengetahui informasi selengkapnya tentang cara berkontribusi ke Bazel, lihat panduan kontribusi kami.