Cara Berkontribusi di Github proyek open source
Apa itu github open source?
Udah pada tau belum tentang github open source?…
Proyek open source (OS) adalah proyek yang dibuka untuk umum (public access) di dalam github sehingga semua orang bisa membuka dan membaca isi di dalam github repository. Keunggulan dari proyek open source adalah memungkinkan orang lain untuk melakukan kontribusi terhadap proyek yang sedang dibuat.
Manfaat kontribusi di proyek open source
Mungkin anda bertanya-tanya ngapain sih kita kerjain proyek orang lain. Tapi jangan salah…dengan melakukan banyak kontribusi maka aktivitas github anda juga akan bertambah. Hal ini berguna juga sebagai kelebihan diri kita saat melamar kerja atau bahkan perusahaan sendiri yang akan melirikmu.
Cara berkontribusi di proyek open source
Sekarang kita akan membahas bagaimana sih caranya melakukan kontribusi ke proyek open source. Setau saya sih ada 2 cara (klo ada cara lain masukin di comment ya).
- Aktif melaporkan issue
- Pull request
Aktif melaporkan issue
Paling mudah untuk melakukan kontribusi adalah dengan bertanya dan melaporkan jika menemukan bug pada tab issue. Disini kita hanya perlu saling berbalas komentar maka sudah dianggap melakukan kontribusi.
Pull request (PR)
Melakukan pull request ke repository proyek open source juga termasuk cara untuk melakukan kontribusi. Kita melakukan pull request dikarenakan perubahan yang kita buat tidak dapat di push ke repository aslinya karena kita tidak memiliki akses (punya orang lain soalnya). Jadi kita meminta agar si pemilik melakukan pull dan merge perubahan yang telah kita buat.
Untuk melakukan hal ini terbilang cukup sulit dikarenakan kita harus membaca kode orang lain dan melakukan perbaikan. Secara umum tahapan-tahapannya adalah:
- Fork proyek dari repository
- Clone ke local
- Sinkronkan branch master sehingga sama dengan branch master repository yang asli
- Buat branch baru
- Lakukan perubahan dan commit
- Push ke remote origin kita
- Lakukan pull request ke repository yang asli
Untuk melakukan kontribusi pertama kita harus melakukan fork proyek ke dalam repository kita. Fork akan membuat repository baru yang persis dengan aslinya. Untuk contoh kali ini kita akan anggap akun “dwips” adalah repository yang asli dan akun “coin-utk-dps” adalah akun yang akan melakukan kontribusi.
Setelah login ke github, selanjutnya melakukan fork. Misalnya kita akan melakukan fork pada proyek “color-picker” dari akun “dwips”. Kita tinggal masuk ke halaman repository proyeknya, lalu klik tombol fork.
Setelah proses fork selesai maka akan muncul di repository anda
Selanjutnya clone proyek tersebut ke komputer anda
git clone url-untuk-clone-repo
Setelah selesai coba ketikkan “git remote -v”. maka akan muncul default origin kita
origin https://github.com/username/color-picker.git (fetch)
origin https://github.com/username/color-picker.git (push)
Best practice nya kita harus membuat 1 remote url lagi yang menuju ke repository asli. Umumnya di kalangan kontributor digunakan kata “upstream”.
git remote add upstream url-repository-asli
Sehingga jika kita melakukan “git remote -v”, maka akan muncul 2 url remote
origin https://github.com/username-kontributor/color-picker.git (fetch)
origin https://github.com/username-kontributor/color-picker.git (push)
upstream https://github.com/username-repo-asli/color-picker.git (fetch)
upstream https://github.com/username-repo-asli/color-picker.git (push)
Selanjutnya kita akan melakukan perubahan terhadap kode. Pertama-tama pastikan master kita sudah sama dengan master dari repo asli
# fetch dari repo asli untuk mengambil yang terbaru
git fetch upstream
# reset current branch
git reset --hard upstream/master
# push ke origin
git push origin master --force
# check apakah sudah sama dengan repo kita
git log --oneline --graph
Pastikan master local, upstream/master dan origin/master sudah sama. Lalu buat branch baru misal kita buat “feature/update-readme”
Kemudian lakukan perubahan dan commit.
Ada sedikit catatan disini saat memuat commit message ada convention yang biasa dipakai yaitu
- fix: dropdown not showing
- feat: add new button
- chore: update build config
Silahkan pilih commit message yang sesuai. Kemudian push ke repository origin anda. Masuk ke repository anda dan klik compare & pull request
Kemudian isikan komentar. Biasanya perlu dicantumkan juga nomor issuenya #xxx. Lalu create pull request.
Tugas kontributor selesai sampai disitu saja. Selanjutnya hanya tinggal menunggu respon dari pemilik aslinya untuk melakukan review dan comment jika ada perbaikan. Sesuai gambar dibawah pull request sudah masuk ke repository aslinya.
Tips untuk pemula
Pemula biasanya bingung harus mulai kontribusi dari mana. Mungkin beberapa tips ini bisa digunakan.
- Kontribusi dengan melaporkan issue dan bertanya
- Kontribusi PR dengan label “good first issue”. Label tersebut sesuai convention di tujukan untuk pemula dalam melakukan kontribusi open source.
Sekian dulu sharingnya semoga bermanfaat ya…