Open source sering terdengar seperti sesuatu yang "besar": ribuan baris kode, maintainer senior, dan pull request kompleks. Padahal, kontribusi open source bisa dimulai dari bug kecil yang benar-benar kita alami sendiri.

Artikel ini adalah ceritaku saat menemukan bug sederhana di sebuah repository GitHub — dan bagaimana bug itu membawaku sampai ke issue, pull request, dan diskusi langsung dengan maintainer.

Latar Belakang

Aku adalah mahasiswa Teknik Informatika yang sehari-hari menggunakan Linux, khususnya Garuda Linux (Arch-based). Saat mencoba sebuah tools penetration testing bernama AutoPentestX, aku menjalankan installer seperti biasa:

./install.sh

Awalnya terlihat normal — OS terdeteksi — tapi instalasi langsung gagal dengan error:

sudo: apt-get: command not found

Di titik ini aku sadar: installer-nya mengasumsikan semua Linux = Debian-based.

Padahal:

  • Garuda Linux
  • Arch Linux
  • Manjaro

menggunakan pacman, bukan apt-get.

Bug yang Terlihat Sepele, Tapi Penting

Masalahnya bukan di tool pentesting-nya, tapi di installer script (install.sh) yang:

  • Hardcode apt-get
  • Tidak melakukan deteksi package manager secara dinamis

Akibatnya:

  • Tool tidak bisa diinstal di Arch-based distro
  • User Arch langsung mentok di langkah pertama

Buat user Linux, ini deal breaker.

Langkah Pertama: Membuat Issue

Alih-alih langsung fork dan mengubah kode, aku mulai dari langkah yang benar: membuat issue di repository utama.

Di issue tersebut aku jelaskan:

  • Environment (Garuda Linux)
  • Error yang muncul
  • Expected behavior
  • Kenapa ini penting untuk Arch-based users

Dan aku tutup dengan kalimat sederhana tapi penting:

I am willing to submit a Pull Request to fix this issue.

Ini sinyal ke maintainer bahwa:

  • Masalahnya jelas
  • Solusi memungkinkan
  • Ada yang siap mengerjakan

Dari Issue ke Pull Request

Setelah issue dikonfirmasi, aku:

  1. Fork repository
  2. Membuat perbaikan di install.sh
  3. Menambahkan:
  • Deteksi package manager (apt vs pacman)
  • Support resmi untuk Arch / Manjaro / Garuda

4. Test langsung di Garuda Linux

5. Push ke fork milikku

6. Membuat Pull Request ke repository utama

PR ini fokus pada satu hal:

Membuat installer bekerja lintas distro dengan benar.

Review & Diskusi (Bagian Paling Berharga)

Pull Request-ku direview, termasuk oleh GitHub Copilot AI reviewer.

Ada dua poin menarik:

  1. Komentar di script masih berbahasa Indonesia → aku perbaiki ke bahasa Inggris
  2. Perubahan behavior installer (non-interactive) → aku jelaskan alasannya secara terbuka

Alih-alih defensif, aku memilih menjelaskan dengan tenang dan terbuka:

Jika behavior lama ingin dipertahankan, aku siap menyesuaikan.

Ini penting:

  • Review bukan serangan
  • Diskusi ≠ penolakan
  • Sikap kita menentukan apakah PR diterima atau tidak

Hasil Akhir

✔ Bug teridentifikasi ✔ Issue dibuat dengan benar ✔ Pull Request diajukan ✔ Diskusi sehat dengan reviewer ✔ Dukungan Arch-based distro ditambahkan

Pull Request ini juga secara otomatis menutup issue terkait.

Pelajaran Penting yang Aku Dapat

Beberapa hal non-teknis yang justru paling berharga:

  • ❌ Tidak harus jago dulu untuk kontribusi open source
  • ✅ Bug kecil tetap kontribusi valid
  • ✅ Maintainer menghargai issue yang jelas
  • ✅ PR yang fokus lebih mudah diterima
  • ✅ Sikap saat review sama pentingnya dengan kode

Kenapa Ini Penting untuk Pemula?

Banyak pemula berpikir:

"Aku belum pantas kontribusi open source."

Padahal:

  • Kamu pakai tools → kamu menemukan bug → itu kontribusi
  • Tidak semua PR harus ribuan baris
  • Open source hidup dari perbaikan kecil yang konsisten

Kontribusi open source tidak selalu dimulai dari ide besar. Kadang, ia dimulai dari satu error sederhana di terminal.

Kalau kamu:

  • Pengguna Linux
  • Mahasiswa
  • Atau developer pemula

dan menemukan sesuatu yang "aneh" di sebuah project — itu bisa jadi kontribusi pertamamu.

GitHub PR: https://github.com/Gowtham-Darkseid/AutoPentestX/pull/5 GitHub Profile: https://github.com/Bangkah Ditulis dari pengalaman nyata sebagai pengguna & kontributor