Jika Anda bertanya pada diri sendiri 👆pertanyaan ini (saya tahu sebagian besar dari Anda juga demikian), Anda berada di tempat yang tepat.

Banyak aplikasi yang Anda gunakan saat ini mengandung perangkat lunak sumber terbuka (OSS) dalam jumlah besar, dan jumlah bisnis yang menggunakan sumber terbuka terus bertambah. Meskipun demikian, hanya sejumlah kecil orang yang berkontribusi dan memeliharanya.

Ada banyak pekerjaan di balik open source, dan kami memerlukan bantuan Anda! Teruslah membaca untuk mengetahui bagaimana Anda dapat berkontribusi dan di mana Anda dapat memulai.

“Berkontribusi pada open source dapat menjadi cara yang bermanfaat untuk belajar, mengajar, dan membangun keahlian dalam keterampilan apa pun yang dapat Anda bayangkan.” (Panduan Sumber Terbuka)

Mengapa berkontribusi?

Ada banyak alasan mengapa Anda ingin berkontribusi pada open source.
Dalam kasus saya, saya memulainya setelah membuka KubeCon di mana saya belajar tentang banyak proyek menarik dan ingin membantu & terlibat dengan komunitas CNCF.

Kasus Anda mungkin berbeda. Anda mungkin ingin mencari mentor atau mengasah keterampilan Anda untuk membangun CV mereka, “garukan” (memperbaiki masalah yang Anda alami), atau berbagai alasan lainnya.

Apa yang perlu Anda ketahui sebelum memulai

Sebagian besar proyek sumber terbuka akan dihosting di GitHub, jadi Anda perlu “membuat akun” di sana. Jika Anda belum familiar dengan GitHub, Anda dapat langsung membuka halaman resmi untuk mempelajari cara memulai.

Saya berasumsi sebagian besar orang yang membaca postingan blog ini tidak pernah berkontribusi pada proyek di Open Source, jadi saya sarankan Anda hanya menggunakan antarmuka GitHub daripada mengkloning repositori ke mesin lokal Anda. Karena jika ya, Anda harus mempelajari cara menggunakan Git (yang juga SANGAT penting) dan mungkin akan terasa terlalu berat untuk melakukan semuanya sekaligus.

Jika menonton video membuatnya lebih mudah, lihat siaran langsung saya yang lalu, di mana saya menunjukkan cara berkontribusi menggunakan antarmuka GitHub.

Jika Anda merasa berani dan ingin berkontribusi menggunakan Git, saya punya video langkah demi langkah untuk kontributor pemula.

Ingat, proyek apa pun yang Anda putuskan untuk berkontribusi harus memiliki saluran komunitas (biasanya di Slack atau Discord). Pastikan untuk bergabung dengan mereka jika Anda perlu mengajukan pertanyaan atau ingin bertemu dengan kontributor lain.

Selain itu, sebagian besar proyek dikelola oleh sukarelawan, jadi terkadang waktu respons untuk pertanyaan/peninjauan PR mungkin memakan waktu cukup lama, tergantung pada jadwal dan zona waktu masing-masing orang yang terlibat.

Cara untuk berkontribusi

Ada begitu banyak cara Anda dapat berkontribusi pada Open Source. Anda bahkan tidak harus menjadi seorang programmer. Anda dapat melakukan banyak hal yang tidak melibatkan coding dan tidak (harus) memakan banyak waktu.

- Tulis dokumentasi

Ini sering disebut sebagai cara mudah untuk memulai, karena Anda tidak perlu mengetahui banyak pemrograman untuk berkontribusi. Beberapa keterampilan yang mungkin bisa membantu adalah menulis dengan jelas, memperhatikan detail (seperti ejaan dan tata bahasa), memberikan contoh yang baik, dll.

Cara Anda dapat membantu:

  • Baca dokumentasi untuk melihat apakah sudah jelas dan lengkap. Jika tidak, berikan saran tentang cara memperbaikinya. Atau setidaknya beri tahu pengelola apa yang tidak jelas bagi Anda dan alasannya.
  • Perbaiki hal-hal kecil, seperti kesalahan ketik atau tautan mati. * Tambahkan informasi yang kurang, terutama jika itu adalah sesuatu yang harus Anda temukan sendiri (baik dengan atau tanpa bantuan komunitas). Orang lain mungkin memiliki masalah yang sama.
  • Tambahkan (tautan ke) postingan blog yang relevan (bahkan milik Anda sendiri).
  • Tinjau semua PR terbuka (permintaan tarik) pada dokumentasi. Carilah hal-hal di atas: sudah jelas, lengkap, betul? Apakah Anda melihat ada kesalahan ketik atau kesalahan lainnya? (Sudahkah saya menyebutkan bahwa sulit menemukan kesalahan ketik pada sesuatu yang telah Anda kerjakan selama beberapa waktu?)

- Terjemahkan dokumentasi (alias lokalisasi)

Jika Anda tidak mengetahui cara kerja proyek, menerjemahkan dokumentasi adalah cara terbaik untuk mempelajarinya. Begitulah cara saya pertama kali berkontribusi dan belajar tentang Kubernetes. Tentu saja, Anda perlu berbicara [dengan lancar] bahasa lain, sehingga terjemahannya sesuai dengan teks aslinya.

Banyak orang tidak bisa berbicara atau merasa tidak nyaman bekerja dalam bahasa Inggris, sehingga kontribusi Anda bisa sangat bermanfaat!

Beberapa proyek yang memerlukan bantuan penerjemahan:

*Info lebih lanjut tentang proyek-proyek tersebut di akhir posting blog ini.

Proyek di bawah ini menggunakan alat bernama Crowdin yang menyediakan antarmuka eksternal untuk mengelola semua terjemahan bahasa yang berbeda:

Misalkan Anda tidak menemukan masalah pelokalan apa pun. Dalam hal ini, Anda dapat membuat yang baru (misalnya, menjadi sukarelawan untuk menerjemahkan postingan blog) dan mengawasinya karena setiap kali ada pembaruan dalam bahasa Inggris, Anda dapat secara sukarela menerjemahkannya ke dalam bahasa Anda.

- Jawab pertanyaan

Sebagai pengguna, Anda mungkin dapat membantu pengguna lain dengan masalah yang Anda hadapi sebelumnya. Ingat, seseorang mungkin pernah membantu Anda di masa lalu dengan satu atau lain cara. Bagikan apa yang telah Anda pelajari!

Dan jika Anda melihat banyak pertanyaan serupa, pertimbangkan untuk menambahkannya ke dokumentasi.

- Buat masalah

Hal paling tidak yang dapat Anda lakukan jika menemui masalah adalah membuat masalah. Pengelola mungkin tidak semuanya menggunakan proyek dengan cara yang sama dan mungkin tidak mengetahui adanya masalah kecuali Anda memberi tahu mereka.

Sebelum membuat masalah, harap periksa apakah tidak ada masalah terbuka untuk masalah yang sama (mencegah duplikasi). Jika ada, Anda mungkin dapat menambahkan informasi tambahan yang berguna untuk masalah tersebut.

Saat Anda membuat masalah, harap sespesifik mungkin dan berikan informasi yang memadai untuk membantu pengelola memahami dan mereproduksi masalah Anda. Banyak proyek menggunakan templat yang meminta jenis informasi yang mereka perlukan; manfaatkanlah mereka! Atau, jika mereka tidak menggunakan template, mungkin Anda bisa menambahkannya ke proyek?

Dan sekali lagi, jika itu adalah sesuatu yang dapat Anda perbaiki sendiri, lakukanlah!

Catatan: Jika Anda tidak yakin telah menemukan bug, silakan hubungi komunitas untuk menanyakannya. Seringkali akan lebih cepat untuk mendapatkan bantuan dengan cara itu, dan mungkin juga akan memulai dialog tentang masalah tersebut, cara mereproduksinya, dll., yang akan mempermudah perbaikan.

- Masalah label

Banyak proyek di GitHub menggunakan label untuk menunjukkan jenis masalahnya. Label yang digunakan berbeda-beda untuk setiap proyek, namun label dapat membantu orang menemukan masalah yang serupa dengan masalah mereka (mencegah terjadinya masalah duplikat), atau membantu orang menemukan masalah yang dapat mereka kontribusikan. Menambahkan label yang tepat pada masalah dapat membantu pengelola dan pengguna proyek, yang mungkin tidak sempat dilakukan oleh pengelola lain.

Catatan: Terkadang Anda memerlukan izin khusus untuk menambahkan label ke proyek, namun ada baiknya untuk dicoba.

- Mereproduksi suatu masalah

Saat seseorang membuka suatu masalah, pengelola perlu melihatnya untuk memahaminya. Di sinilah Anda dapat membantu! Apakah permasalahannya dijelaskan dengan jelas, dan apakah isu tersebut berisi informasi yang cukup untuk direproduksi? Jika Anda dapat mereproduksinya, Anda mungkin dapat memberikan informasi tambahan yang berguna.

Dan jika tidak bisa, Anda dapat bertanya kepada penulis aslinya untuk informasi lebih lanjut. Atau mungkin masalahnya bisa diselesaikan!

- Tinjau PR

Meninjau PR bisa menjadi pekerjaan yang berat. Jika Anda tidak terlalu paham dengan basis kode, Anda mungkin tidak bisa mengatakan apa pun tentang kegunaan atau arah PR secara keseluruhan, namun Anda mungkin masih bisa membantu. Anda dapat memeriksa keterbacaan kode, melihat apakah cakupan pengujiannya bagus, mencari kesalahan ketik, dll. Alternatifnya, Anda mungkin dapat membangun cabang secara lokal dan mengujinya untuk melihat apakah cabang tersebut memecahkan masalah apa pun yang dirancang untuk dipecahkan. Anda masih dapat meninjau dokumentasi meskipun Anda tidak dapat membaca kode (lihat postingan kemarin).

- Tambahkan tes unit

Jika Anda mengetahui caranya, Anda dapat mencoba menambahkan pengujian unit yang mereproduksi masalah tersebut, yang menunjukkan adanya masalah dan akan membantu memperbaikinya. Dan jika bisa, perbaiki sendiri!

- Uji fitur baru

Pengelola dan kontributor tidak selalu punya waktu untuk menguji fitur atau versi baru secara ekstensif. Di sinilah Anda dapat membantu! Buat proyek baru untuk menguji fitur baru, atau tingkatkan proyek Anda yang sudah ada ke versi baru (meskipun masih dalam pengembangan). Berikan umpan balik kepada orang-orang yang mengerjakannya.

Catatan: mungkin tidak ada masalah terbuka yang didaftarkan untuk pekerjaan pengujian. Bukan berarti tidak diperlukan! Anda mungkin mendengar tentang tes yang diperlukan ketika Anda menjadi anggota komunitas yang lebih aktif. Jika Anda ingin melakukan ini tetapi tidak mengetahui hal apa pun yang perlu diuji, tanyakan pada komunitas!

- Bersihkan kode

Proyek juga mungkin mendapat manfaat dari pemfaktoran ulang atau pembersihan kode. Ada banyak cara untuk meningkatkan kode, terutama jika kode tersebut telah dikembangkan selama beberapa tahun oleh pengembang yang berbeda.

- Tingkatkan ketergantungan

Jika Anda melihat suatu proyek menggunakan dependensi yang sudah ketinggalan zaman, lihat apakah Anda dapat memutakhirkannya. Apalagi jika versi lama mengandung kerentanan keamanan. Perhatikan bahwa beberapa proyek mungkin memperkenalkan perubahan yang dapat menyebabkan gangguan, jadi selalu pastikan bahwa proyek tersebut berfungsi dengan ketergantungan yang ditingkatkan.

- Lainnya

Mungkin ada cara lain bagi Anda untuk berkontribusi. Meskipun Anda bukan seorang programmer, Anda mungkin memiliki keterampilan lain yang berharga untuk sebuah proyek.

Jika Anda memiliki cara berkontribusi yang tidak disebutkan di sini, beri tahu saya di komentar!

Di mana menemukan proyek Sumber Terbuka untuk dikontribusikan

Situs web:

Jika Anda tidak tahu harus mulai dari mana, beberapa situs web mencantumkan proyek yang membutuhkan bantuan:
* GitHub sendiri menawarkan beberapa saran tentang memilih proyek.
* Lihat CodeTriage untuk proyek dengan masalah terbuka
* Cari terbitan berdasarkan proyek, label (seperti “terbitan pertama yang bagus”) dan/atau tag (misalnya, bahasa pemrograman pilihan Anda) di Up-for-grabs
* Anda juga dapat menemukannya tautan ini dan lebih banyak lagi di Khusus Pengatur Waktu Pertama

Proyek yang Anda gunakan sendiri:

Pertimbangkan untuk membantu proyek yang Anda gunakan sendiri. Anda akan lebih paham dengan proyek tersebut, dan Anda bahkan mungkin bisa menyelesaikan masalah Anda sendiri. Jika Anda sudah menjadi bagian dari komunitas mereka, Anda akan lebih memahami apa yang dibutuhkan.

Fokus pada menyambut komunitas!

Fokus pada proyek yang menyambut kontributor baru. Beberapa hal berikut mungkin bisa membantu:

  • Lihat apakah ada masalah yang ditandai “hanya pengatur waktu pertama”, “masalah pertama yang baik” atau yang serupa; ini menandakan mereka terbuka/mencari kontributor baru dan memberi Anda gambaran harus mulai dari mana.
  • Lihat bagaimana mereka menanggapi isu-isu yang diciptakan atau terbukanya PR (apakah mereka meminta informasi lebih lanjut dengan cara yang sopan atau bermusuhan, seberapa konstruktif masukan mengenai PR atau isu-isu tersebut)
  • Periksa untuk melihat apakah ada kode etik, pedoman kontribusi atau hal-hal seperti itu (dan apakah mereka ditegakkan)
  • Bergabunglah dengan saluran komunikasi untuk melihat bagaimana komunitas berinteraksi Ketahuilah bahwa ada banyak proyek dan komunitas di luar sana yang akan menyukai, menyukai, MENCINTAI bantuan Anda!

Kapan Anda tidak boleh berkontribusi pada open source

Majikan atau kontrak tidak mengizinkannya

Ini mungkin menjadi alasan yang sah bagi Anda untuk tidak berkontribusi, terutama pada kode. Anda mungkin masih dapat membantu komunitas dengan menjawab pertanyaan dari pengguna lain, berbagi pengalaman, membuat masalah, atau menambahkan informasi relevan kepada mereka.

Jika perusahaan Anda menggunakan proyek sumber terbuka tertentu, pertimbangkan untuk menyarankan menjadi sponsor. Beberapa proyek menerima sumbangan melalui OpenCollective, Patreon, atau platform lainnya. Itu ide bagus untuk tetap membantu!

Tidak yakin apakah ini bug atau bagaimana cara memperbaikinya

Jika Anda memiliki pertanyaan, silakan hubungi komunitas. Banyak proyek memiliki komunitas pengguna aktif yang bersedia membantu Anda. Jika Anda tidak yakin telah menemukan bug, tanyakan saja kepada mereka. Mereka akan memberi tahu Anda apakah Anda harus mencatat suatu masalah. Mereka juga akan menanyakan informasi yang mereka perlukan untuk memperbaikinya.

Jika Anda ingin menambahkan fitur tetapi tidak tahu caranya, mungkin ada orang yang dapat membantu Anda memulai. Mereka dapat mengarahkan Anda ke arah yang benar mengenai di mana harus melakukan perubahan atau memberikan wawasan tentang arah proyek. Mengusulkan perubahan sebelum melakukan banyak pekerjaan juga akan mencegah Anda membuat fitur yang mungkin tidak sejalan dengan arah proyek.

Tidak punya waktu

Sekali lagi, cukup adil. Anda mungkin memiliki prioritas lain dalam hidup Anda. Tidak semua kontribusi harus besar atau memakan banyak waktu. Mungkin ada hal-hal kecil yang bisa Anda lakukan. Anda mungkin dapat melakukannya di tempat kerja jika hal tersebut terkait dengan pekerjaan Anda (dan perusahaan Anda mengizinkannya!). Terlibat dengan komunitas dengan bertanya dan menjawab pertanyaan atau masalah logging juga dapat memberikan manfaat bagi komunitas!

Menjadi seorang noob…

Tolong jangan meremehkan nilai sepasang mata yang segar!

Dokumentasi, terutama tutorial pemula, harus mudah diikuti, bahkan bagi orang yang baru mengenal proyek tersebut. Proyek itu sendiri harus mudah digunakan. Jika tidak, inilah kesempatan Anda untuk memberikan masukan yang berharga!

Jika Anda mengalami masalah saat menggunakan proyek ini, hubungi komunitas dan beri tahu mereka. Dan jika mereka meluangkan waktu untuk membantu Anda, mengapa tidak mendokumentasikan apa yang telah Anda pelajari untuk orang berikutnya yang datang?

Meskipun saat ini Anda tidak mengalami masalah apa pun, Anda tetap dapat membaca dokumentasi dan memberikan masukan.

MULAI SEKARANG

Bagaimana pun Anda menggunakan open source, dan betapa pun kecilnya kontribusi yang Anda rasa harus Anda berikan, ada banyak cara kecil untuk memperbaikinya.

Saya harap saya telah memberi Anda beberapa ide untuk dicoba. Silakan temukan cara untuk berkontribusi pada proyek sumber terbuka favorit Anda sekarang, dan beri tahu saya jika Anda memiliki pertanyaan!

Info tambahan tentang beberapa proyek OSS

Glosarium Proyek CNCF

Glosarium Cloud Native bertujuan untuk menjelaskan konsep aplikasi cloud-native dalam bahasa yang jelas dan sederhana, tanpa memerlukan pengetahuan teknis sebelumnya.

Ada banyak cara untuk menjadi kontributor komunitas ini. Anda dapat berkontribusi dengan istilah-istilah baru atau membantu menerjemahkan glosarium. Siapa pun dapat berkontribusi, dan semua kontribusi sama pentingnya dan membantu komunitas berkembang.

Buka halaman 'resmi' 'cara berkontribusi' untuk detail lebih lanjut seperti gaya, praktik terbaik, dll.

Di tautan ini Anda dapat melihat semua istilah yang menunggu terjemahan (ubah label ke bahasa Anda. Misalnya bahasa Hindi menjadi label:lang/hi, bahasa Prancis menjadi label:lang/fr)

Saya menyarankan Anda membiasakan diri terlebih dahulu dengan dinamika proyek dengan berkontribusi pada terjemahan istilah sebelum mengusulkan istilah baru.

Repositori resmi proyek di Github dapat ditemukan di sini .

Anda juga dapat berinteraksi langsung dengan semua orang yang terlibat dalam CNCF slack. Bergabunglah dengan saluran pelokalan dalam bahasa Anda, misalnya #glossary-localization-portuguese atau #glossary-localization-hindi.

Situs web Project Kubernetes

Filosofi yang sama berlaku di sini; siapa pun dapat berkontribusi pada dokumentasi. Segala perbaikan pada konten dan terjemahan yang ada dipersilakan.

Namun, ini adalah proyek yang menarik karena merupakan kesempatan unik untuk membantu komunitas dan mempelajari lebih lanjut tentang Kubernetes.

Di halaman ini, Anda akan menemukan panduan tentang cara berkontribusi pada dokumentasi Kubernetes.

Terima kasih kepada kontributor kami yang luar biasa, Anda dapat melihat halaman dalam bahasa lain (ubah di pojok kanan atas).

Repositori resmi proyek Github dapat ditemukan di sini

Anda juga dapat berbicara langsung dengan orang-orang yang terlibat dan berbagai kontributor melalui channel on slack. Sekali lagi, bergabunglah dengan grup dalam bahasa Anda misalnya #kubernetes-docs-pt.

Jika Anda menyukai artikel ini, pertimbangkan untuk mengikuti saya di Medium untuk publikasi terbaru saya. Saya men-tweet perjalanan saya di Twitter setiap hari, membagikan konten mingguan LinkedIn saya, dan ini adalah IG saya :)

Sementara itu, Anda dapat membantu diri Anda sendiri (dan membantu saya) dengan mengunjungi saluran Youtube saya. Saya memposting konten hebat di sana dan akan ada video yang lebih baik lagi!