Bagikan melalui


Tata kelola NuGet

Dokumen ini didasarkan pada Model Tata Kelola Diktator Yang Agung oleh University of Oxford. Ini dilisensikan di bawah Creative Commons Attribution-ShareAlike 2.0 UK: Inggris & Lisensi Wales.

Proyek NuGet dipimpin oleh Diktator Yang Alim dan dikelola oleh masyarakat. Artinya, masyarakat secara aktif berkontribusi pada pemeliharaan proyek sehari-hari, tetapi garis strategis umum ditarik oleh diktator yang baik hati. Dalam kasus ketidaksetujuan, diktator yang baik hati memiliki kata terakhir.

Ini adalah tugas diktator yang baik untuk menyelesaikan perselisihan dalam komunitas dan untuk memastikan bahwa proyek dapat maju dengan cara yang terkoordinasi. Pada gilirannya, adalah tugas komunitas untuk memandu keputusan diktator yang saleh melalui keterlibatan dan kontribusi aktif.

Peran dan tanggung jawab

Ada empat peran yang dijelaskan di sini: Diktator Benevolent, Committers, Contributors, dan Users.

Diktator yang baik hati

Tim inti NuGet ditunjuk sendiri sebagai Diktator Benevolent atau pemimpin proyek. Namun, karena masyarakat selalu memiliki kemampuan untuk fork, tim sepenuhnya dapat dijawab oleh masyarakat. Prospek proyek diharapkan dapat memahami masyarakat secara keseluruhan dan berupaya memenuhi sebanyak mungkin kebutuhan yang bertentangan, sekaligus memastikan proyek tersebut bertahan dalam jangka panjang.

Dalam banyak hal, peran diktator yang baik kurang tentang kediktatoran dan lebih banyak tentang diplomasi. Kuncinya adalah memastikan bahwa, ketika proyek meluas, orang yang tepat diberikan pengaruh atasnya dan komunitas unjuk rasa di balik visi pemimpin proyek. Tugas prospek kemudian adalah memastikan bahwa komiter (lihat di bawah) membuat keputusan yang tepat atas nama proyek. Secara umum, selama komiter selaras dengan strategi proyek, prospek proyek akan memungkinkan mereka untuk melanjutkan seperti yang mereka inginkan.

Selain itu, staf .NET Foundation mempertimbangkan proyek memimpin titik kontak utama atau pertama untuk NuGet untuk tujuan operasi bisnis termasuk pendaftaran domain, dan layanan teknis (misalnya penandatanganan kode).

Committers

Komiter adalah kontributor yang telah memberikan kontribusi berharga yang berkelanjutan untuk NuGet dan ditunjuk oleh Diktator Yang Maha Pemurah. Setelah ditunjuk, komiter diandalkan untuk menulis kode langsung ke repositori dan menyaring kontribusi orang lain. Komiter seringkali pengembang tetapi dapat berkontribusi dengan cara lain.

Biasanya, komitter berfokus pada aspek tertentu dari proyek, dan membawa tingkat keahlian dan pemahaman yang memberi mereka penghormatan terhadap komunitas dan pemimpin proyek. Peran komitter bukan yang resmi, itu hanyalah posisi yang diasumsikan oleh anggota komunitas yang berpengaruh karena prospek proyek melihat kepada mereka untuk panduan dan dukungan.

Komiter tidak memiliki wewenang di mana arah keseluruhan NuGet khawatir. Namun, mereka memiliki telinga pemimpin proyek. Ini adalah tugas komitter untuk memastikan bahwa pemimpin menyadari kebutuhan masyarakat dan tujuan kolektif, dan untuk membantu mengembangkan atau memunculkan kontribusi yang tepat untuk proyek. Seringkali, komiter diberi kontrol informal atas area tanggung jawab spesifik mereka, dan diberi hak untuk secara langsung memodifikasi area tertentu dari kode sumber. Artinya, meskipun komiter tidak memiliki otoritas pengambilan keputusan eksplisit, mereka akan sering menemukan bahwa tindakan mereka identik dengan keputusan yang dibuat oleh pemimpin.

Kontributor

Kontributor adalah anggota komunitas yang mengirimkan patch ke NuGet. Patch ini mungkin merupakan kejadian satu kali atau terjadi dari waktu ke waktu. Harapannya adalah bahwa kontributor mengirimkan patch yang kecil pada awalnya dan tumbuh lebih besar ketika kontributor, komitter, dan prospek proyek telah membangun keyakinan pada kualitas patch kontributor. Kontributor dikenali dalam dokumen catatan rilis produk terkait.

Sebelum patch pertama kontributor dimasukkan ke dalam repositori, mereka harus menandatangani Perjanjian Lisensi Kontributor atau perjanjian penugasan ke .NET Foundation. Patch dapat dikirimkan dan dibahas tetapi sebenarnya tidak dapat diterapkan ke repositori tanpa dokumen yang sesuai. Untuk mendapatkan perjanjian lisensi kontributor, silakan kirim permintaan dalam email ke contributions@nuget.org.

Untuk menjadi kontributor, kirimkan permintaan pull ke salah satu repositori berikut:

Proses terperinci untuk mengirimkan permintaan pull bervariasi menurut repositori:

Pengguna

Pengguna adalah anggota komunitas yang membutuhkan dan menggunakan NuGet, sebagai konsumen paket dan/atau penulis. Pengguna adalah anggota komunitas yang paling penting: tanpa mereka, proyek tidak akan memiliki tujuan. Siapa pun dapat menjadi pengguna; tidak ada persyaratan khusus.

Pengguna harus didorong untuk berpartisipasi dalam kehidupan NuGet dan komunitas sebanyak mungkin. Kontribusi pengguna memungkinkan tim proyek untuk memastikan bahwa mereka memenuhi kebutuhan pengguna tersebut. Aktivitas pengguna umum termasuk tetapi tidak terbatas pada hal berikut:

  • Menganjurkan penggunaan proyek
  • Memberi tahu pengembang tentang kekuatan dan kelemahan proyek dari perspektif pengguna baru
  • Memberikan dukungan moral (terima kasih berjalan jauh)
  • Menulis dokumentasi dan tutorial
  • Mengajukan laporan bug dan permintaan fitur
  • Berpartisipasi dalam acara komunitas, seperti bash bug
  • Berpartisipasi dalam papan diskusi atau forum

Pengguna yang terus terlibat dengan proyek dan komunitasnya akan sering menemukan diri mereka menjadi semakin terlibat. Pengguna tersebut kemudian dapat melanjutkan untuk menjadi kontributor, seperti yang dijelaskan di atas.

Suksesi paket dalam keadaan khusus

Dalam situasi yang tidak menguntungkan di mana pemegang akun NuGet tidak mampu atau meninggal, kami akan bekerja dengan komunitas untuk menambahkan pemilik yang sesuai ke paket di mana akun tersebut memiliki kepemilikan satu-satunya dan paket diterbitkan dengan lisensi yang disetujui OSI. Untuk meminta kepemilikan, Anda harus mengirimi kami dokumen berikut:

  1. Fotokopi id foto yang dikeluarkan pemerintah Anda.
  2. Salah satu dokumen berikut yang membuktikan status pemegang akun sebelumnya:
    • Surat kematian resmi yang dikeluarkan pemerintah jika pemegang rekening sebelumnya meninggal, atau,
    • Dokumen bersertifikat seperti sertifikat yang ditandatangani oleh profesional medis yang bertanggung jawab atas perawatan pemegang akun yang tidak mampu.
  3. Salah satu dokumen berikut yang membuktikan hak Anda atas kepemilikan:
    • Surat nikah menunjukkan bahwa anda adalah pasangan pemegang rekening yang masih hidup,
    • Surat kuasa yang ditandatangani,
    • Salinan surat wasiat atau dokumen kepercayaan yang memberi nama Anda sebagai pelaksana atau penerima,
    • Akta kelahiran untuk pemegang akun, jika Anda adalah induknya, atau,
    • Dokumen perwalian jika Anda adalah wali sah dari pemegang akun.

Jika Anda merasa perlu memanggil kebijakan ini, silakan kirimkan email support@nuget.org kepada kami dengan ID dan versi paket.

Transparansi

Membangun kepercayaan masyarakat terhadap tata kelola proyek sumber terbuka sangat penting untuk keberhasilannya. Untuk itu, pengambilan keputusan harus dilakukan dengan cara yang transparan dan terbuka. Diskusi tentang arah proyek harus dilakukan secara publik. Masyarakat tidak boleh tertangkap basah oleh keputusan oleh Diktator Yang Agung. Selain itu, diskusi tentang keputusan proyek harus diarsipkan sehingga anggota komunitas dapat memahami seluruh riwayat keputusan dan konteksnya.