Kontribusi ke Open Source Software (OSS) – Cara Gampang

Gampang itu relatif. Tak terkecuali di kasus saya terkait kontribusi ke OSS. Beberapa saat yang lalu pull request (PR) yang saya buat sukses di-approve oleh project maintainer. Rasanya seneng, ada hal kecil nan gampang yang saya lakukan tapi bermanfaat dan dihargai orang lain.

Sudah jadi pendapat umum, cara gampang berkontribusi di proyek open source adalah dengan berkontribusi di dokumentasinya. Tapi benarkah pendapat ini?

Balik ke kalimat pertama saya tadi, gampang itu relatif.

Ada yang justru berpendapat kalau berkontribusi di dokumentasi adalah hal yang sulit karena artinya kita sudah harus paham proyek yang bersangkutan sebelum bisa membuat dokumentasinya. Ibarat mau nulis artikel tentang ngoding, kita harus sudah paham dulu ngoding-nya.

Tapi beneran ada cara yang sangat gampang kalau mau kontribusi ke open source lewat dokumentasi. Ada syaratnya : membutuhkan sedikit faktor luck alias bejo.

Kontribusi yang saya lakukan adalah mengoreksi typo yang ada di dokumentasi. Sangat simpel bukan?

Kontribusinya simpel tapi jalan untuk menemukan typo di dokumentasi itu yang bejo-bejonan. Mari saya ceritakan soal ini.

Kontribusi Pertama

Judul PR yang saya buat adalah Fix typo and remove trailing whitespace https://github.com/krisleech/wisper-sidekiq/pull/24/files

Sudah barang tentu yang jadi concern di sini bukanlah bagaimana cara membuat fix-nya tapi bagaimana cara menemukan ada typo di dokumentasi haha. Faktor bejo diperlukan makanya saya bilang.

Waktu itu saya sedang baca-baca tentang Domain Driven Design (DDD) di Rails. Sedikit hal yang baru saya paham terkait DDD adalah adanya model publish-subscribe di logic aplikasi. Dari situ saya teringat gem wisper https://github.com/krisleech/wisper

Nah dari situ bisa ditebak, saya baca dokumentasinya dan ada bagian yang mengarah ke gem wisper-sidekiq untuk membuat pub-sub secara async. Setelah saya baca, eh ada typo. Kesempatan pertama kontribusi di real OSS terbuka!

And the rest is history.

Kontribusi Kedua

Kontribusi kedua tidak kalah sederhana. Masih sama bentuknya, nge-fix typo. https://github.com/redis-store/redis-rails/pull/91/files

Sama dengan kontribusi pertama ya, yang asyik diceritakan bukan cara nge-fix-nya, karena gampang banget gitu, tidak menarik sama sekali wkwk. Alih-alih, yang menarik menurut saya untuk diceritakan adalah bagaimana saya nemu typo-nya.

Yang ini ceritanya begini. Di microservice yang saya dan teman-teman pegang mau dipasangi cache menggunakan Redis. Di Rails 5.2 cache pakai Redis sudah ada adapter-nya jadi tinggal pakai saja. Nah sistem yang ada menggunakan Rails 5.1 jadi butuh gem redis-rails.

Polanya sama dengan kontribusi pertama, nemu typo di dokumentasi dan kesempatan kedua untuk kontribusi datang!

Bejo

Kedua cerita saya di atas harus diakui memang ada faktor luck-nya. Tapi luck ini juga tidak datang dengan sendirinya. Pola kedua cerita sama yakni

  • Ada problem
  • Solusi dalam bentuk gem
  • Baca dokumentasi gem
  • Nemu typo
  • Submit PR untuk fix

Bisa dilihat dari daftar di atas kalau bejo mampir di tahap nomor 4. Tahap 1-3 adalah tahap di mana saya aktif belajar/berkarya yang mengantarkan saya untuk berkonstribusi di OSS. Jadi menurut saya kuncinya bukan di bejo tetapi justru ada di aktifitas kita yang produktif untuk belajar atau pun berkarya. Dari situ terbuka jalan untuk bisa berkontribusi di proyek OSS.

Nah sekarang giliranmu cerita. Kontribusi apa yang sudah kamu buat dan gimana cerita dibalik kontribusi itu? 😄

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *