Maaf, judul artikel ini memang click bait. Tentu saja berkontribusi terhadap OSS (Open Source Software) yang banyak digunakan orang bisa meningkatkan kemampuan kita sebagai pengembang perangkat lunak, dan adakalanya bermanfaat untuk karir profesional kita, misalnya mendapatkan tawaran pekerjaan dari perusahaan yang sangat bergantung pada OSS dimana kita berkontribusi.
Namun untuk memberikan peningkatan kemampuan dan manfaat yang maksimal, mungkin definisi kontribusi perlu disesuaikan, dan mungkin kata yang lebih tepat adalah partisipasi.
Berpartisipasi
Apa yang dimaksud dengan partisipasi atau berpartisipasi pada OSS project*? Penulis cukup beruntung bisa berdiskusi dengan salah satu
maintainer Envoy Proxy terkait ini, yang dimaksud dengan berpartisipasi antara lain:
- Mengirimkan Pull Request/Merge Request untuk memperbaiki bug yang ada atau untuk peningkatan kualitas perangkat lunak
- Setiap OSS besar pasti memiliki saluran komunikasi tertentu seperti slack, discord, gitter atau lainnya untuk berdiskusi secara online. Ikut serta dalam saluran komunikasi ini dan ikut berdiskusi didalamnya
- Melihat dan mengomentari juga Pull Request/Merge Request dari orang lain yang memberikan saran-saran yang bermanfaat. Jika belum sanggup, setidaknya mencoba memahami apa yang sedang dikerjakan orang lain dan kenapa hal tersebut penting untuk dikerjakan, dan juga bisa mempelajari ulasan kode dari orang lain.
- Terlibat dalam arah pengembangan perangkat lunak kedepannya
- Menjadi maintainer-nya
5 hal diatas apabila bisa dilakukan dengan baik akan sangat bermanfaat untuk kompetensi, kapabilitas dan karir kita sebagai pengembang perangkat lunak, karenanya pastinya akan berinteraksi dan bekerjasama dengan para ahli kelas dunia yang sudah berpartisipasi pada OSS dari sebelumnya, dan berinteraksi dengan ahli-ahli tersebut akan mendorong peningkatan kemampuan kita dengan pesat.
Memulai Berpartisipasi
Lalu bagaimana caranya mulai berpartisipasi? kita bisa memulai dengan langkah-langkah berikut:
- Memilih OSS. Pilihan OSS yang baik adalah OSS yang digunakan pada pekerjaan sehari-hari DAN kita sukai. Yang terpenting adalah kita pilih dan fokus pada 1 atau 2 OSS.
- Gunakan OSS tersebut jika belum. Coba perangkat lunaknya, install, gunakan, mainkan, dan eskplorasi fiturnya.
- Lihat issues/bug-bug-nya. Setiap OSS pasti memiliki masalah, kita bisa eksplorasi masalah-masalah tersebut. Atau yang lebih baik, kita sendiri memiliki masalah yang ingin diselesaikan terkait dengan OSS-nya.
- Selamat berpartisipasi :)
Discussion
Nambahin saja, kadang benerin bug pun susah-susah. Apalagi OSS yang setup development environmentnya tidak straight forward. Mungkin cara-cara berikut bisa membantu:
Bonus (bagi mahasiswa)
tambahan yang bagus, terima kasih