Subjek
- #Kontribusi Open Source
- #Kesempatan Pertumbuhan
Dibuat: 2025-05-03
Diperbarui: 2025-05-27
Dibuat: 2025-05-03 00:00
Diperbarui: 2025-05-27 09:42
Artikel ini bertujuan untuk memberikan semangat kepada mereka yang tertarik pada open sourcetetapi memiliki ketakutan seperti 'Apakah saya mampu?', 'Harus mulai dari mana?'.
Hari ini, saya ingin berbagi pengalaman belajar dan merasakan dari mencoba open sourcedan berbagi pengalaman saya.
Saat belajar pengembangan, Anda sering mendengar istilah 'open source'. Jika Anda melihat GitHub, banyak proyek yang menggerakkan dunia membuka kode mereka.
Proyek yang membuka kode seperti ini disebut 'open source'.
Misalnya, ada open source besar seperti OpenJDK, Spring Framework, Redis, dan React.
Saya telah berkontribusi pada open source sebanyak 4 kali. Saya berkontribusi dengan menemukan dan memperbaiki kecil, perbaikan kecilpada open source, bukan menambahkan fitur yang akan mengubah dunia.
Saya tidak tahu gaya kode proyek di atas, dan saya tidak tahu persis bagaimana cara kerjanya.
Anda dapat melihat bahwa Anda dapat berkontribusi pada komunitas bahkan jika Anda tidak sepenuhnya memahami kode. Saya baru mulai mengembangkan selama 2 tahun, dan saya tidak merasa terlalu berbakat dalam pengembangan.
Saya hanya menikmati berkontribusi pada open source dan berkomunikasi dalam komunitas pengembang, jadi saya mempertahankan kegiatan ini.
Sejujurnya, pada awalnya, saya tidak sepenuhnya bebas dari pemikiran 'Bukankah lebih baik jika saya menambahkan satu baris lagi di resume saya?'. Itu cukup besar. Tapi ada motivasi yang lebih besar lagi. Itu adalah keinginan untuk 'belajar lebih dalam' dan kebutuhan untuk 'memecahkan masalah yang saya alami'.
Saat menggunakan Spring WebFlux dalam proyek tim, saya memiliki kesempatan untuk mempelajari Project Reactor, teknologi dasar. Saya memahami konsep melalui buku dan dokumen, tetapi bagaimana itu benar-benar bekerja dan dioptimalkandalam sistem yang kompleks adalah area yang hanya bisa saya ketahui dengan melihat langsung kodenya dan menghadapi tantangan. Saya juga sering bertanya-tanya, 'Bagaimana saya bisa membuktikan bahwa saya telah belajar Reactor dengan keras?' Saya berpikir, 'Saya harus berkontribusi pada open source!'.
Begitu saya memutuskan untuk 'ingin berkontribusi!'. Saya bingung harus mulai dari mana. Semuanya menakutkan, mulai dari menemukan bagian yang harus saya perbaiki dalam kode yang luas hingga memprediksi dampak perubahan saya pada seluruh sistem.
Saya pikir, 'Bagaimana jika saya membuat PR dan hanya dimarahi?' Butuh banyak waktu untuk akhirnya mendaftarkan PR.
Reactive Command Lettuce, klien Java Redis yang saya gunakan untuk Stack Reaktif, berbasis Reactor, dan saya ingin memperbaikinya dengan memodifikasi rantai Reactor secara langsung berdasarkan pembelajaran Reactor.
Setelah me-fork secara acak, saya melihat semua kode yang menyertakan pencocokan string 'Reactive' dan 'reactor'. Saya tampaknya telah memeriksa semua kode yang terdiri dari Publisher Reactor seperti Mono dan Flux.
Saat saya melihat-lihat kodenya, untungnya saya menemukan kode yang memiliki kejelasan yang sedikit buruk dan penggabungan metode yang tidak dilakukan dengan benar di salah satu kode yang menggunakan rantai Reactor. Itu bukan perbaikan fitur atau perubahan arsitektur yang akan menggemparkan dunia, tetapi itu adalah masalah kecil dan jelas dalam lingkup yang bisa saya pahami dan perbaiki. Saya berpikir, 'Ah, saya bisa berkontribusi untuk hal seperti ini!'.
Berdasarkan apa yang saya pahami, saya dengan hati-hati memodifikasi kode dan memeriksa apakah itu berfungsi seperti yang dimaksud, setidaknya di lingkungan lokal. Meskipun itu adalah perubahan kecil, saya berusaha mengikuti gaya kode yang ada sebanyak mungkin dan mendekati dengan hati-hati, bertanya-tanya apakah itu akan memengaruhi bagian lain.
Saya mem-commit perubahan dan akhirnya tiba saatnya untuk mengunggah PR. Sejujurnya, ada banyak kekhawatiran dan keraguan sampai saya menekan tombol 'Kirim'. Kekhawatiran seperti 'Apakah tidak apa-apa untuk mengirim PR dengan perubahan ini?', 'Apakah mereka tidak akan mengatakan saya memperbaiki sesuatu yang jelas?', 'Bisakah saya menulis penjelasan dalam bahasa Inggris dengan baik?'.
Seperti yang saya katakan sebelumnya, saya sangat takut bahwa saya akan dimarahi karena kekurangan saya. Namun, dengan pemikiran 'Awal yang baik adalah separuh pekerjaan' dan 'Anda tidak dapat belajar apa pun jika Anda tidak mencobanya', saya mengambil keberanian untuk menuliskan perubahan yang saya buat dan alasannya secara detail dan mengajukan PR.
redis/lettuce - #3061
Akhirnya, PR saya 'Digabungkan', dan saya benar-benar merasakan pencapaian dan kebanggaan yang besar bahwa kode yang saya tulis dan modifikasi telah menjadi bagian dari proyek open source terkenal yang digunakan oleh banyak pengembang.
Yang terpenting, mendapatkan kepercayaan diri 'Saya juga bisa melakukannya!' adalah keuntungan terbesar.
Tidak apa-apa jika Anda tidak memahaminya sepenuhnya. Anda bisa mulai dari bagian kecil seperti saya. Ada banyak cara untuk berkontribusi, seperti memperbaiki kesalahan ketik dokumen, berpartisipasi dalam terjemahan, dan melaporkan bug sederhana. Yang penting adalah keberanian untuk mengambil langkah pertama melampaui rasa takut.
Jika Anda membuat kesalahan, itu juga merupakan kesempatan untuk tumbuh lebih jauhdengan menerima umpan balik dari komunitas.
Ini juga kesempatan berharga untuk menambahkan satu baris ke resume Anda, tetapi kontribusi open source berbasis pembelajaran juga dapat menjadi cara untuk membuktikan bahwa saya benar-benar belajar dengan keras.
Postingan ini tidak mengizinkan komentar.