Membuat Kontribusi Open Source Pertamamu, Bagian 2: Hal-Hal Berguna untuk Dilakukan Sebelum Kamu Mulai Berkontribusi

Bagaimana kamu bisa mulai berkontribusi ke open source? Artikel ini akan membahas tentang langkah-langkah yang dapat kamu lakukan untuk memberikan kontribusi pertamamu, mulai dari mencari proyek untuk dikerjakan hingga program mentoring yang dapat membantu. Ini adalah bagian kedua dari seri 'Membuat Kontribusi Open Source Pertamamu'.

Artikel ini adalah bagian dari seri 3 bagian berjudul β€œMembuat Kontribusi Open Source Pertamamu”:


Selamat! kamu telah menemukan sebuah proyek dan isu yang akan kamu tangani. πŸ₯³ Sebelum kamu membuat kontribusi pertama kamu dan membuat pull request, ada beberapa hal yang perlu kamu lakukan terlebih dahulu.

Baca README

README berisi semua yang perlu kamu ketahui tentang sebuah proyek. Karena README adalah titik masuk pertama bagi semua orang β€” dari pengguna hingga kontributor potensial β€” biasanya mencakup banyak hal: proyek apa ini? Bagaimana kamu menggunakannya? Di manakah panduan berkontribusi? File apa yang harus kamu lihat pertama kali? Bagaimana cara menjangkau pengelola atau komunitas jika kamu memiliki pertanyaan?

Beberapa informasi yang secara khusus ditujukan untuk kontributor mungkin ada di tempat lain. Aku akan membahas ini nanti.

Baca kode etik

Kode etik menetapkan ekspektasi perilaku untuk peserta proyek1. Dalam kode etik kamu mungkin menemukan informasi seperti:

  • perilaku apa yang didorong
  • perilaku apa yang nggak bisa diterima
  • prosedur tentang apa yang harus dilakukan ketika sesuatu yang nggak pantas terjadi & siapa yang harus dihubungi

Kode etik membantu memastikan lingkungan yang aman & inklusif. Selalu pastikan kamu memeriksa kode etik terlebih dahulu sebelum berpartisipasi dalam komunitas.

Baca panduan berkontribusi

Panduan kontribusi biasanya terletak di file bernama CONTRIBUTING.md. Jika kamu nggak dapat menemukan file tersebut, jangan khawatir! Nggak semua proyek meletakkan panduan kontribusi mereka di GitHub. Misalnya, pandas menghosting panduan kontribusinya di situs dokumentasinya. Tautan ke panduan biasanya ditautkan di suatu tempat di README.md untuk visibilitas. Proyek yang lebih kecil mungkin memiliki panduan kontribusinya di README.md.

Panduan berkontribusi biasanya menguraikan langkah-langkah yang perlu kamu lakukan saat berkontribusi. Ini mungkin termasuk hal-hal seperti:

  • Cara membuka isu baru: pengelola biasanya mendorong orang untuk membuka isu baru sebelum mereka mulai berkontribusi, jika isu tersebut belum ada. Beberapa proyek juga memiliki template isu yang harus kamu isi dengan benar. Isu di repositori Go ini adalah contoh isu yang menggunakan template isu yang telah ditentukan sebelumnya.
  • Cara menyiapkan development environment: setiap proyek memerlukan penyiapan yang berbeda. Beberapa proyek, seperti pandas, mengharuskan kamu untuk membuatnya dari sumber sehingga kamu dapat menguji perubahan kodenya.
  • Standar atau code style: sebelum menulis kode, kamu harus terbiasa dengan panduan style, linter, dan alat lain yang digunakan proyek agar kode tetap konsisten & mudah dibaca. Beberapa proyek seperti Rust sudah memiliki skrip yang memastikan kode kamu konsisten dengan pedoman Rust, yang dapat kamu temukan di CONTRIBUTING.md.
  • Testing: meskipun sebagian besar project sudah menyiapkan CI untuk memeriksa kode kamu, kamu mungkin ingin menghindari melakukan perubahan tanpa benar-benar mengetahui apakah mereka akan lulus pengujian atau nggak, jadi sebaiknya kamu mengetahui cara melakuan test pada kode secara lokal.
  • Petunjuk khusus tentang menulis pesan commit: beberapa project, seperti pandass, memiliki konvensi tentang penulisan pesan commit.
  • Alur kerja pull request: setiap proyek memiliki alur kerja yang berbeda untuk pull request. Dengan membiasakan diri dengan ini, kamu akan tahu apa yang diharapkan saat mengirimkan pull request kamu. Beberapa proyek memiliki bot yang membantu pengelola untuk menetapkan code reviewer, dan bot ini mungkin meminta kamu untuk menambahkan beberapa informasi lagi jika diperlukan. Beberapa proyek seperti Kubernetes mengharuskan kamu menandatangani Perjanjian Lisensi Kontributor (CLA) jika ini pertama kalinya kamu berkontribusi ke repositori tersebut. Hal lainnya adalah setelah kamu mengirimkan pull request, kamu mungkin mengalami konflik penggabungan, dan beberapa proyek seperti Rust memiliki kebijakan khusus terkait apakah kamu harus melakukan rebase atau merge.

Jelajahi repositorinya

Lihat-lihat repositorinya & perhatikan bagaimana orang biasanya membuka isu & menulis pull request. Kamu mungkin juga perlu mengamati bagaimana pengelola menanggapi orang-orang yang berkontribusi pada proyek mereka. Jika tampaknya lingkungannya memiliki suasana yang negatif, atau jika kamu melihat bahwa isu dan pull request nggak ditanggapi, mungkin sebaiknya kamu mengalihkan waktu dan upaya kamu ke tempat lain.

Wah. Ini mungkin terlihat banyak, tetapi aku benar-benar senang membaca README, Pedoman Perilaku, & panduan berkontribusi ini β€” mereka ada di sini untuk memastikan bahwa kamu memiliki pengalaman yang positif saat berkontribusi pada proyek mereka. Sebelum berkontribusi pada proyek baru, aku sendiri suka membaca dengan teliti setiap panduan yang bisa aku dapatkan. Mungkin perlu waktu untuk memahaminya β€” untuk proyek besar, misalnya mungkin perlu waktu satu hari penuh untuk benar-benar memahaminya β€” tetapi itu menghemat banyak waktu ketika aku menulis kodeku, membuat pull request, & minta pull request aku untuk di-review.

Jika kamu bingung, melakukan kesalahan, atau merasa ada langkah yang terlewat, jangan khawatir! Panduan-panduan tersebut nggak ada yang sempurna, & mungkin saja mereka melewatkan beberapa informasi penting. Ini adalah kesempatan bagi kamu untuk membuka isu baru dan membuat ulasan menarik untuk membantu orang berikutnya, karena kemungkinan besar orang lain juga akan mengalami kebingungan tentang hal yang sama.

February 02, 2020

Open Source